diff --git a/CHANGELOG.md b/CHANGELOG.md
index c1c60602..635b958c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ Things to be included in the next release go here.
- Added the `get_errors()` method to the `Device` class to enable easy access to the current error code and messages on any device.
- Added more details to the Architectural Overview page of the documentation as well as highlighting to the device driver diagram on the page.
- Added regex matching to the `verify_values()` helper function to allow for more flexible value verification.
+- Full Python API support for MDO3 model.
### Changed
diff --git a/README.md b/README.md
index 0fb7d296..12877e88 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
-| | |
-| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Testing** | [](https://github.com/tektronix/tm_devices/actions/workflows/test-code.yml) [](https://github.com/tektronix/tm_devices/actions/workflows/test-docs.yml) [](https://codecov.io/gh/tektronix/tm_devices) |
-| **Code Quality** | [](https://github.com/tektronix/tm_devices/actions/workflows/codeql-analysis.yml) [](https://www.codefactor.io/repository/github/tektronix/tm_devices) [](https://results.pre-commit.ci/latest/github/tektronix/tm_devices/main) |
-| **Package** | [](https://pypi.org/project/tm_devices/) [](https://pypi.org/project/tm_devices/) [](https://pypi.org/project/tm_devices/) [](https://pepy.tech/project/tm_devices) [](https://github.com/tektronix/tm_devices/blob/main/LICENSE.md) [](https://github.com/tektronix/tm_devices/actions/workflows/package-build.yml) [](https://github.com/tektronix/tm_devices/actions/workflows/package-release.yml) |
-| **Documentation** | [](https://tm-devices.readthedocs.io/stable) |
-| **Code Style** | [](https://github.com/pytest-dev/pytest) [](https://docs.astral.sh/ruff/formatter/) [](https://google.github.io/styleguide/pyguide.html) |
-| **Linting** | [](https://github.com/pre-commit/pre-commit) [](https://github.com/PyCQA/docformatter) [](https://github.com/RobertCraigie/pyright-python) [](https://github.com/pylint-dev/pylint) [](https://github.com/charliermarsh/ruff) |
+| | |
+| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Testing** | [](https://github.com/tektronix/tm_devices/actions/workflows/test-code.yml) [](https://github.com/tektronix/tm_devices/actions/workflows/test-docs.yml) [](https://codecov.io/gh/tektronix/tm_devices) |
+| **Code Quality** | [](https://github.com/tektronix/tm_devices/actions/workflows/codeql-analysis.yml) [](https://www.codefactor.io/repository/github/tektronix/tm_devices) [](https://results.pre-commit.ci/latest/github/tektronix/tm_devices/main) |
+| **Package** | [](https://pypi.org/project/tm_devices/) [](https://pypi.org/project/tm_devices/) [](https://pypi.org/project/tm_devices/) [](https://pepy.tech/project/tm_devices) [](https://github.com/tektronix/tm_devices/blob/main/LICENSE.md) [](https://github.com/tektronix/tm_devices/actions/workflows/package-build.yml) [](https://github.com/tektronix/tm_devices/actions/workflows/package-release.yml) |
+| **Documentation** | [](https://tm-devices.readthedocs.io/stable) |
+| **Code Style** | [](https://github.com/pytest-dev/pytest) [](https://docs.astral.sh/ruff/formatter/) [](https://google.github.io/styleguide/pyguide.html) |
+| **Linting** | [](https://github.com/pre-commit/pre-commit) [](https://github.com/PyCQA/docformatter) [](https://github.com/RobertCraigie/pyright-python) [](https://github.com/pylint-dev/pylint) [](https://github.com/charliermarsh/ruff) |
@@ -88,7 +88,7 @@ _Device Support Levels_
| | **AWG7000** | PI | ✅ | ✅ |
| | **AWG70000** | PI | ✅ | ✅ |
| Scopes | **2 Series MSO** | PI | ✅ | ✅ |
-| | **3 Series MDO** | PI | ✅ | |
+| | **3 Series MDO** | PI | ✅ | ✅ |
| | **4 Series MSO** | PI | ✅ | ✅ |
| | **4 Series B MSO** | PI | ✅ | ✅ |
| | **5 Series MSO** | PI | ✅ | ✅ |
diff --git a/src/tm_devices/commands/dpo2k_commands.py b/src/tm_devices/commands/dpo2k_commands.py
index 1ff2c317..4c33b143 100644
--- a/src/tm_devices/commands/dpo2k_commands.py
+++ b/src/tm_devices/commands/dpo2k_commands.py
@@ -48,7 +48,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -56,6 +55,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .gen_u301s_msodpo.acquire import Acquire
diff --git a/src/tm_devices/commands/dpo2kb_commands.py b/src/tm_devices/commands/dpo2kb_commands.py
index 1cbff936..c1426e6b 100644
--- a/src/tm_devices/commands/dpo2kb_commands.py
+++ b/src/tm_devices/commands/dpo2kb_commands.py
@@ -48,7 +48,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -56,6 +55,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .gen_u301s_msodpo.acquire import Acquire
diff --git a/src/tm_devices/commands/dpo4k_commands.py b/src/tm_devices/commands/dpo4k_commands.py
index ca96e743..3c9ebdbe 100644
--- a/src/tm_devices/commands/dpo4k_commands.py
+++ b/src/tm_devices/commands/dpo4k_commands.py
@@ -22,7 +22,6 @@
from .gen_1ltpwt_mdomsodpo.autoset import Autoset
from .gen_1ltpwt_mdomsodpo.auxin import Auxin
from .gen_1ltpwt_mdomsodpo.auxout import Auxout
-from .gen_1ltpwt_mdomsodpo.bus import Bus
from .gen_1ltpwt_mdomsodpo.calibrate import Calibrate
from .gen_1ltpwt_mdomsodpo.ch import Channel
from .gen_1ltpwt_mdomsodpo.d import DigitalBit
@@ -35,16 +34,13 @@
from .gen_1ltpwt_mdomsodpo.fpanel import Fpanel
from .gen_1ltpwt_mdomsodpo.gpibusb import Gpibusb
from .gen_1ltpwt_mdomsodpo.hardcopy import Hardcopy
-from .gen_1ltpwt_mdomsodpo.histogram import Histogram
from .gen_1ltpwt_mdomsodpo.horizontal import Horizontal
-from .gen_1ltpwt_mdomsodpo.mark import Mark
from .gen_1ltpwt_mdomsodpo.marker import Marker
from .gen_1ltpwt_mdomsodpo.math1 import Math1
from .gen_1ltpwt_mdomsodpo.pictbridge import Pictbridge
from .gen_1ltpwt_mdomsodpo.power import Power
from .gen_1ltpwt_mdomsodpo.reboot import Reboot
from .gen_1ltpwt_mdomsodpo.ref import RefItem
-from .gen_1ltpwt_mdomsodpo.save import Save
from .gen_1ltpwt_mdomsodpo.socketserver import Socketserver
from .gen_1ltpwt_mdomsodpo.time import Time
from .gen_1ltpwt_mdomsodpo.vidpic import Vidpic
@@ -52,16 +48,20 @@
from .gen_1ltpwt_mdomsodpo.wfmoutpre import Wfmoutpre
from .gen_1ltpwt_mdomsodpo.zoom import Zoom
from .gen_1lwj1r_msomdodpo.rosc import Rosc
+from .gen_1lxxm9_msomdodpo.bus import Bus
from .gen_1lxxm9_msomdodpo.cursor import Cursor
from .gen_1mlt9u_mdomsodpo.acquire import Acquire
from .gen_1mlt9u_mdomsodpo.configuration import Configuration
from .gen_1mlt9u_mdomsodpo.deskew import Deskew
from .gen_1mlt9u_mdomsodpo.display import Display
+from .gen_1mlt9u_mdomsodpo.histogram import Histogram
from .gen_1mlt9u_mdomsodpo.mask import Mask
from .gen_1mlt9u_mdomsodpo.measurement import Measurement
from .gen_1mlt9u_mdomsodpo.recall import Recall
+from .gen_1mlt9u_mdomsodpo.save import Save
from .gen_1mlt9u_mdomsodpo.select import Select
from .gen_1mq0z9_msodpo.rf import Rf
+from .gen_1msu49_msodpo.mark import Mark
from .gen_1nmc1o_msodpomdo.clearmenu import Clearmenu
from .gen_1nmc1o_msodpomdo.errlog import Errlog
from .gen_1nmc1o_msodpomdo.language import Language
@@ -98,7 +98,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -106,6 +105,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .helpers import DefaultDictPassKeyToFactory
@@ -212,7 +212,6 @@ class DPO4KCommandConstants:
CMOS_2_5V = "CMOS_2_5V"
CMOS_3_3V = "CMOS_3_3V"
CMOS_5_0V = "CMOS_5_0V"
- COLUMN = "COLUMN"
COMMAND = "COMMAND"
COPYACTIVE = "COPYACTIVE" # COPYACTive
CPU = "CPU"
@@ -2085,8 +2084,6 @@ def mark(self) -> Mark:
- ``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.
- ``.saveall``: The ``MARK:SAVEALL`` command.
- ``.selected``: The ``MARK:SELected`` command tree.
diff --git a/src/tm_devices/commands/dpo4kb_commands.py b/src/tm_devices/commands/dpo4kb_commands.py
index 8bcc5f6f..3881e271 100644
--- a/src/tm_devices/commands/dpo4kb_commands.py
+++ b/src/tm_devices/commands/dpo4kb_commands.py
@@ -22,7 +22,6 @@
from .gen_1ltpwt_mdomsodpo.autoset import Autoset
from .gen_1ltpwt_mdomsodpo.auxin import Auxin
from .gen_1ltpwt_mdomsodpo.auxout import Auxout
-from .gen_1ltpwt_mdomsodpo.bus import Bus
from .gen_1ltpwt_mdomsodpo.calibrate import Calibrate
from .gen_1ltpwt_mdomsodpo.ch import Channel
from .gen_1ltpwt_mdomsodpo.d import DigitalBit
@@ -35,16 +34,13 @@
from .gen_1ltpwt_mdomsodpo.fpanel import Fpanel
from .gen_1ltpwt_mdomsodpo.gpibusb import Gpibusb
from .gen_1ltpwt_mdomsodpo.hardcopy import Hardcopy
-from .gen_1ltpwt_mdomsodpo.histogram import Histogram
from .gen_1ltpwt_mdomsodpo.horizontal import Horizontal
-from .gen_1ltpwt_mdomsodpo.mark import Mark
from .gen_1ltpwt_mdomsodpo.marker import Marker
from .gen_1ltpwt_mdomsodpo.math1 import Math1
from .gen_1ltpwt_mdomsodpo.pictbridge import Pictbridge
from .gen_1ltpwt_mdomsodpo.power import Power
from .gen_1ltpwt_mdomsodpo.reboot import Reboot
from .gen_1ltpwt_mdomsodpo.ref import RefItem
-from .gen_1ltpwt_mdomsodpo.save import Save
from .gen_1ltpwt_mdomsodpo.socketserver import Socketserver
from .gen_1ltpwt_mdomsodpo.time import Time
from .gen_1ltpwt_mdomsodpo.vidpic import Vidpic
@@ -52,16 +48,20 @@
from .gen_1ltpwt_mdomsodpo.wfmoutpre import Wfmoutpre
from .gen_1ltpwt_mdomsodpo.zoom import Zoom
from .gen_1lwj1r_msomdodpo.rosc import Rosc
+from .gen_1lxxm9_msomdodpo.bus import Bus
from .gen_1lxxm9_msomdodpo.cursor import Cursor
from .gen_1mlt9u_mdomsodpo.acquire import Acquire
from .gen_1mlt9u_mdomsodpo.configuration import Configuration
from .gen_1mlt9u_mdomsodpo.deskew import Deskew
from .gen_1mlt9u_mdomsodpo.display import Display
+from .gen_1mlt9u_mdomsodpo.histogram import Histogram
from .gen_1mlt9u_mdomsodpo.mask import Mask
from .gen_1mlt9u_mdomsodpo.measurement import Measurement
from .gen_1mlt9u_mdomsodpo.recall import Recall
+from .gen_1mlt9u_mdomsodpo.save import Save
from .gen_1mlt9u_mdomsodpo.select import Select
from .gen_1mq0z9_msodpo.rf import Rf
+from .gen_1msu49_msodpo.mark import Mark
from .gen_1nmc1o_msodpomdo.clearmenu import Clearmenu
from .gen_1nmc1o_msodpomdo.errlog import Errlog
from .gen_1nmc1o_msodpomdo.language import Language
@@ -98,7 +98,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -106,6 +105,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .helpers import DefaultDictPassKeyToFactory
@@ -212,7 +212,6 @@ class DPO4KBCommandConstants:
CMOS_2_5V = "CMOS_2_5V"
CMOS_3_3V = "CMOS_3_3V"
CMOS_5_0V = "CMOS_5_0V"
- COLUMN = "COLUMN"
COMMAND = "COMMAND"
COPYACTIVE = "COPYACTIVE" # COPYACTive
CPU = "CPU"
@@ -2093,8 +2092,6 @@ def mark(self) -> Mark:
- ``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.
- ``.saveall``: The ``MARK:SAVEALL`` command.
- ``.selected``: The ``MARK:SELected`` command tree.
diff --git a/src/tm_devices/commands/dpo5k_commands.py b/src/tm_devices/commands/dpo5k_commands.py
index 39e15d28..09b20749 100644
--- a/src/tm_devices/commands/dpo5k_commands.py
+++ b/src/tm_devices/commands/dpo5k_commands.py
@@ -106,7 +106,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -114,6 +113,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .helpers import DefaultDictPassKeyToFactory
diff --git a/src/tm_devices/commands/dpo5kb_commands.py b/src/tm_devices/commands/dpo5kb_commands.py
index 475ee3f2..89943087 100644
--- a/src/tm_devices/commands/dpo5kb_commands.py
+++ b/src/tm_devices/commands/dpo5kb_commands.py
@@ -108,7 +108,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -116,6 +115,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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 913b6ded..dd5683db 100644
--- a/src/tm_devices/commands/dpo70kc_commands.py
+++ b/src/tm_devices/commands/dpo70kc_commands.py
@@ -107,7 +107,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -115,6 +114,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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 9bf0e657..66dacf09 100644
--- a/src/tm_devices/commands/dpo70kd_commands.py
+++ b/src/tm_devices/commands/dpo70kd_commands.py
@@ -107,7 +107,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -115,6 +114,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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 a0513235..1a220ea0 100644
--- a/src/tm_devices/commands/dpo70kdx_commands.py
+++ b/src/tm_devices/commands/dpo70kdx_commands.py
@@ -107,7 +107,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -115,6 +114,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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 783d72e8..2e446b1f 100644
--- a/src/tm_devices/commands/dpo70ksx_commands.py
+++ b/src/tm_devices/commands/dpo70ksx_commands.py
@@ -109,7 +109,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -117,6 +116,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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
index d0b4de54..249de640 100644
--- a/src/tm_devices/commands/dpo7k_commands.py
+++ b/src/tm_devices/commands/dpo7k_commands.py
@@ -106,7 +106,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -114,6 +113,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .helpers import DefaultDictPassKeyToFactory
diff --git a/src/tm_devices/commands/dpo7kc_commands.py b/src/tm_devices/commands/dpo7kc_commands.py
index e9c2b100..76bb8721 100644
--- a/src/tm_devices/commands/dpo7kc_commands.py
+++ b/src/tm_devices/commands/dpo7kc_commands.py
@@ -107,7 +107,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -115,6 +114,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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 8a8870f0..2ff1a96c 100644
--- a/src/tm_devices/commands/dsa70kc_commands.py
+++ b/src/tm_devices/commands/dsa70kc_commands.py
@@ -107,7 +107,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -115,6 +114,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_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 2a581422..293b9c07 100644
--- a/src/tm_devices/commands/dsa70kd_commands.py
+++ b/src/tm_devices/commands/dsa70kd_commands.py
@@ -107,7 +107,6 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evmsg import Evmsg
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.evqty import Evqty
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.factory import Factory
-from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.id import Id
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.miscellaneous import Lrn
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.rem import Rem
@@ -115,6 +114,7 @@
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose
from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm
+from .gen_fzd77z_lpdmsotekscopepcdpomdodsa.header import Header
from .gen_fzn174_lpdmsodpomdodsa.lock import Lock
from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock
from .helpers import DefaultDictPassKeyToFactory
diff --git a/src/tm_devices/commands/gen_163n04_mdo/mark.py b/src/tm_devices/commands/gen_163n04_mdo/mark.py
new file mode 100644
index 00000000..2b8ca007
--- /dev/null
+++ b/src/tm_devices/commands/gen_163n04_mdo/mark.py
@@ -0,0 +1,713 @@
+# pylint: disable=line-too-long
+"""The mark commands module.
+
+These commands are used in the following models:
+MDO4K
+
+THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED.
+
+Please report an issue if one is found.
+
+Commands and Queries:
+ ```
+ - MARK {NEXT|PREVious}
+ - MARK:DELEte {CH|MATH|REF1|REF2|REF3|REF4|B1|B2|B3|B4|REF1|REF2|REF3|REF4|DIGital|COLUMN|SELECTED|ALL||RF_AMPlitude|RF_FREQuency|RF_PHASe}
+ - MARK:FREE?
+ - MARK:SAVEALL TOUSER
+ - MARK:SELected:END?
+ - MARK:SELected:FOCUS?
+ - MARK:SELected:MARKSINCOLumn?
+ - MARK:SELected:OWNer?
+ - MARK:SELected:SOURCe?
+ - MARK:SELected:STARt?
+ - MARK:SELected:STATE?
+ - MARK:SELected:ZOOm:POSition?
+ - MARK:TOTal?
+ - MARK:USERLIST ,,,,,,,
+ - MARK:USERLIST?
+ - MARK?
+ ```
+""" # noqa: E501
+
+from typing import Optional, TYPE_CHECKING
+
+from ..helpers import SCPICmdRead, SCPICmdWrite
+
+if TYPE_CHECKING:
+ from tm_devices.driver_mixins.device_control.pi_control import PIControl
+
+
+class MarkUserlist(SCPICmdWrite, SCPICmdRead):
+ """The ``MARK:USERLIST`` command.
+
+ Description:
+ - The command creates a single user mark on a waveform in the time domain. The arguments
+ consist of an enumeration specifying the source waveform, followed by 7 time mark
+ parameters. You can create up to 1,024 marks. To save all the marks to memory, use the
+ command ``MARK:SAVEALL TOUSER``. The query form retrieves a list of all user marks,
+ separated by a semicolon. To retrieve the list of all system generated marks, use the
+ command ``SEARCH:SEARCHX:LIST A`` 'Settings conflict' error event is set for the command
+ form if any of the following conditions are true: The source waveform is not turned on.
+ The position of the mark is not on the waveform. The maximum number of marks would be
+ exceeded.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:USERLIST?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:USERLIST?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+ - Using the ``.write(value)`` method will send the ``MARK:USERLIST value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:USERLIST ,,,,,,,
+ - MARK:USERLIST?
+ ```
+
+ Info:
+ - ``CH`` - analog channels 1-4.
+ - ``B`` - serial (if installed) or parallel bus 1-4.
+ - ``MATH`` - math waveform.
+ - ``REF`` - reference waveforms 1-4.
+ - ``D0 - D15`` - digital channels 0 - 15 (Requires installation of option 3-MSO.).
+ """
+
+
+class MarkTotal(SCPICmdRead):
+ """The ``MARK:TOTal`` command.
+
+ Description:
+ - Returns how many marks are currently in use. There can be a total of 1,024 marks returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:TOTal?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:TOTal?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:TOTal?
+ ```
+ """
+
+
+class MarkSelectedZoomPosition(SCPICmdRead):
+ """The ``MARK:SELected:ZOOm:POSition`` command.
+
+ Description:
+ - Returns the position of the selected mark, 0 to 100% of the zoom overview window.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm:POSition?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm:POSition?`` query
+ and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:ZOOm:POSition?
+ ```
+ """
+
+
+class MarkSelectedZoom(SCPICmdRead):
+ """The ``MARK:SELected:ZOOm`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ Properties:
+ - ``.position``: The ``MARK:SELected:ZOOm:POSition`` command.
+ """
+
+ def __init__(self, device: Optional["PIControl"], cmd_syntax: str) -> None:
+ super().__init__(device, cmd_syntax)
+ self._position = MarkSelectedZoomPosition(device, f"{self._cmd_syntax}:POSition")
+
+ @property
+ def position(self) -> MarkSelectedZoomPosition:
+ """Return the ``MARK:SELected:ZOOm:POSition`` command.
+
+ Description:
+ - Returns the position of the selected mark, 0 to 100% of the zoom overview window.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm:POSition?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm:POSition?``
+ query and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:ZOOm:POSition?
+ ```
+ """
+ return self._position
+
+
+class MarkSelectedState(SCPICmdRead):
+ """The ``MARK:SELected:STATE`` command.
+
+ Description:
+ - Returns the on or off state of the selected mark. The selected mark is at or near the
+ center of the screen. If you press the front-panel Set/Clear button, this mark will
+ disappear.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STATE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STATE?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STATE?
+ ```
+ """
+
+
+class MarkSelectedStart(SCPICmdRead):
+ """The ``MARK:SELected:STARt`` command.
+
+ Description:
+ - Returns the starting point of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STARt?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STARt?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STARt?
+ ```
+ """
+
+
+class MarkSelectedSource(SCPICmdRead):
+ """The ``MARK:SELected:SOURCe`` command.
+
+ Description:
+ - Returns the source waveform for the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:SOURCe?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:SOURCe?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:SOURCe?
+ ```
+ """
+
+
+class MarkSelectedOwner(SCPICmdRead):
+ """The ``MARK:SELected:OWNer`` command.
+
+ Description:
+ - Returns the owner of the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:OWNer?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:OWNer?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:OWNer?
+ ```
+ """
+
+
+class MarkSelectedMarksincolumn(SCPICmdRead):
+ """The ``MARK:SELected:MARKSINCOLumn`` command.
+
+ Description:
+ - Returns the number of marks in the current zoom pixel column.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:MARKSINCOLumn?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:MARKSINCOLumn?`` query
+ and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:MARKSINCOLumn?
+ ```
+ """
+
+
+class MarkSelectedFocus(SCPICmdRead):
+ """The ``MARK:SELected:FOCUS`` command.
+
+ Description:
+ - Returns the focus of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:FOCUS?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:FOCUS?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:FOCUS?
+ ```
+ """
+
+
+class MarkSelectedEnd(SCPICmdRead):
+ """The ``MARK:SELected:END`` command.
+
+ Description:
+ - Returns the end of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:END?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:END?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:END?
+ ```
+ """
+
+
+# pylint: disable=too-many-instance-attributes
+class MarkSelected(SCPICmdRead):
+ """The ``MARK:SELected`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ Properties:
+ - ``.end``: The ``MARK:SELected:END`` command.
+ - ``.focus``: The ``MARK:SELected:FOCUS`` command.
+ - ``.marksincolumn``: The ``MARK:SELected:MARKSINCOLumn`` command.
+ - ``.owner``: The ``MARK:SELected:OWNer`` command.
+ - ``.source``: The ``MARK:SELected:SOURCe`` command.
+ - ``.start``: The ``MARK:SELected:STARt`` command.
+ - ``.state``: The ``MARK:SELected:STATE`` command.
+ - ``.zoom``: The ``MARK:SELected:ZOOm`` command tree.
+ """
+
+ def __init__(self, device: Optional["PIControl"], cmd_syntax: str) -> None:
+ super().__init__(device, cmd_syntax)
+ self._end = MarkSelectedEnd(device, f"{self._cmd_syntax}:END")
+ self._focus = MarkSelectedFocus(device, f"{self._cmd_syntax}:FOCUS")
+ self._marksincolumn = MarkSelectedMarksincolumn(device, f"{self._cmd_syntax}:MARKSINCOLumn")
+ self._owner = MarkSelectedOwner(device, f"{self._cmd_syntax}:OWNer")
+ self._source = MarkSelectedSource(device, f"{self._cmd_syntax}:SOURCe")
+ self._start = MarkSelectedStart(device, f"{self._cmd_syntax}:STARt")
+ self._state = MarkSelectedState(device, f"{self._cmd_syntax}:STATE")
+ self._zoom = MarkSelectedZoom(device, f"{self._cmd_syntax}:ZOOm")
+
+ @property
+ def end(self) -> MarkSelectedEnd:
+ """Return the ``MARK:SELected:END`` command.
+
+ Description:
+ - Returns the end of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:END?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:END?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:END?
+ ```
+ """
+ return self._end
+
+ @property
+ def focus(self) -> MarkSelectedFocus:
+ """Return the ``MARK:SELected:FOCUS`` command.
+
+ Description:
+ - Returns the focus of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:FOCUS?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:FOCUS?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:FOCUS?
+ ```
+ """
+ return self._focus
+
+ @property
+ def marksincolumn(self) -> MarkSelectedMarksincolumn:
+ """Return the ``MARK:SELected:MARKSINCOLumn`` command.
+
+ Description:
+ - Returns the number of marks in the current zoom pixel column.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:MARKSINCOLumn?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:MARKSINCOLumn?``
+ query and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:MARKSINCOLumn?
+ ```
+ """
+ return self._marksincolumn
+
+ @property
+ def owner(self) -> MarkSelectedOwner:
+ """Return the ``MARK:SELected:OWNer`` command.
+
+ Description:
+ - Returns the owner of the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:OWNer?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:OWNer?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:OWNer?
+ ```
+ """
+ return self._owner
+
+ @property
+ def source(self) -> MarkSelectedSource:
+ """Return the ``MARK:SELected:SOURCe`` command.
+
+ Description:
+ - Returns the source waveform for the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:SOURCe?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:SOURCe?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:SOURCe?
+ ```
+ """
+ return self._source
+
+ @property
+ def start(self) -> MarkSelectedStart:
+ """Return the ``MARK:SELected:STARt`` command.
+
+ Description:
+ - Returns the starting point of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STARt?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STARt?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STARt?
+ ```
+ """
+ return self._start
+
+ @property
+ def state(self) -> MarkSelectedState:
+ """Return the ``MARK:SELected:STATE`` command.
+
+ Description:
+ - Returns the on or off state of the selected mark. The selected mark is at or near the
+ center of the screen. If you press the front-panel Set/Clear button, this mark will
+ disappear.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STATE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STATE?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STATE?
+ ```
+ """
+ return self._state
+
+ @property
+ def zoom(self) -> MarkSelectedZoom:
+ """Return the ``MARK:SELected:ZOOm`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ Sub-properties:
+ - ``.position``: The ``MARK:SELected:ZOOm:POSition`` command.
+ """
+ return self._zoom
+
+
+class MarkSaveall(SCPICmdWrite):
+ """The ``MARK:SAVEALL`` command.
+
+ Description:
+ - This command saves all current marks on waveforms in the time domain to the user search
+ mark list in internal memory. (This is equivalent to pressing the 'Save All Marks' button
+ in the Search button menu on the front panel.) In order to retrieve the information, use
+ the query form of ``MARK:USERLIST``.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:SAVEALL value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:SAVEALL TOUSER
+ ```
+ """
+
+
+class MarkFree(SCPICmdRead):
+ """The ``MARK:FREE`` command.
+
+ Description:
+ - Returns how many marks are available for use. There can be a total of 1,024 marks
+ returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:FREE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:FREE?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:FREE?
+ ```
+ """
+
+
+class MarkDelete(SCPICmdWrite):
+ """The ``MARK:DELEte`` command.
+
+ Description:
+ - This command deletes a mark on a particular waveform, all waveforms in a column, the
+ selected mark, or all marks.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:DELEte value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:DELEte {CH|MATH|REF1|REF2|REF3|REF4|B1|B2|B3|B4|REF1|REF2|REF3|REF4|DIGital|COLUMN|SELECTED|ALL||RF_AMPlitude|RF_FREQuency|RF_PHASe}
+ ```
+
+ Info:
+ - ``CH`` deletes the mark on a channel waveform, where is the channel number.
+ - ``MATH`` deletes the mark on the math waveform.
+ - ``B`` deletes the mark on a bus waveform, where .
+ - ``REF`` deletes the mark on a reference waveform, where is the reference waveform
+ number.
+ - ``DIGital`` deletes all marks on all digital channels. (MSO/MDO4000/B models only as well
+ as MDO3000 and MDO400C models with option MDO3MSO or MDO4MSO installed.).
+ - ``RF_AMPlitude`` deletes the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ - ``RF_FREQuency`` deletes the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ - ``RF_PHASe`` deletes the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ - ``COLUMN`` deletes marks on all waveforms in the current zoom pixel column.
+ """ # noqa: E501
+
+
+class Mark(SCPICmdWrite, SCPICmdRead):
+ """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.
+
+ Properties:
+ - ``.delete``: The ``MARK:DELEte`` command.
+ - ``.free``: The ``MARK:FREE`` command.
+ - ``.saveall``: The ``MARK:SAVEALL`` command.
+ - ``.selected``: The ``MARK:SELected`` command tree.
+ - ``.total``: The ``MARK:TOTal`` command.
+ - ``.userlist``: The ``MARK:USERLIST`` command.
+ """
+
+ def __init__(self, device: Optional["PIControl"] = None, cmd_syntax: str = "MARK") -> None:
+ super().__init__(device, cmd_syntax)
+ self._delete = MarkDelete(device, f"{self._cmd_syntax}:DELEte")
+ self._free = MarkFree(device, f"{self._cmd_syntax}:FREE")
+ self._saveall = MarkSaveall(device, f"{self._cmd_syntax}:SAVEALL")
+ self._selected = MarkSelected(device, f"{self._cmd_syntax}:SELected")
+ self._total = MarkTotal(device, f"{self._cmd_syntax}:TOTal")
+ self._userlist = MarkUserlist(device, f"{self._cmd_syntax}:USERLIST")
+
+ @property
+ def delete(self) -> MarkDelete:
+ """Return the ``MARK:DELEte`` command.
+
+ Description:
+ - This command deletes a mark on a particular waveform, all waveforms in a column, the
+ selected mark, or all marks.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:DELEte value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:DELEte {CH|MATH|REF1|REF2|REF3|REF4|B1|B2|B3|B4|REF1|REF2|REF3|REF4|DIGital|COLUMN|SELECTED|ALL||RF_AMPlitude|RF_FREQuency|RF_PHASe}
+ ```
+
+ Info:
+ - ``CH`` deletes the mark on a channel waveform, where is the channel number.
+ - ``MATH`` deletes the mark on the math waveform.
+ - ``B`` deletes the mark on a bus waveform, where .
+ - ``REF`` deletes the mark on a reference waveform, where is the reference
+ waveform number.
+ - ``DIGital`` deletes all marks on all digital channels. (MSO/MDO4000/B models only as
+ well as MDO3000 and MDO400C models with option MDO3MSO or MDO4MSO installed.).
+ - ``RF_AMPlitude`` deletes the mark on an RF time domain trace. (MDO4000/B/C models
+ only.).
+ - ``RF_FREQuency`` deletes the mark on an RF time domain trace. (MDO4000/B/C models
+ only.).
+ - ``RF_PHASe`` deletes the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ - ``COLUMN`` deletes marks on all waveforms in the current zoom pixel column.
+ """ # noqa: E501
+ return self._delete
+
+ @property
+ def free(self) -> MarkFree:
+ """Return the ``MARK:FREE`` command.
+
+ Description:
+ - Returns how many marks are available for use. There can be a total of 1,024 marks
+ returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:FREE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:FREE?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:FREE?
+ ```
+ """
+ return self._free
+
+ @property
+ def saveall(self) -> MarkSaveall:
+ """Return the ``MARK:SAVEALL`` command.
+
+ Description:
+ - This command saves all current marks on waveforms in the time domain to the user
+ search mark list in internal memory. (This is equivalent to pressing the 'Save All
+ Marks' button in the Search button menu on the front panel.) In order to retrieve the
+ information, use the query form of ``MARK:USERLIST``.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:SAVEALL value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:SAVEALL TOUSER
+ ```
+ """
+ return self._saveall
+
+ @property
+ def selected(self) -> MarkSelected:
+ """Return the ``MARK:SELected`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ Sub-properties:
+ - ``.end``: The ``MARK:SELected:END`` command.
+ - ``.focus``: The ``MARK:SELected:FOCUS`` command.
+ - ``.marksincolumn``: The ``MARK:SELected:MARKSINCOLumn`` command.
+ - ``.owner``: The ``MARK:SELected:OWNer`` command.
+ - ``.source``: The ``MARK:SELected:SOURCe`` command.
+ - ``.start``: The ``MARK:SELected:STARt`` command.
+ - ``.state``: The ``MARK:SELected:STATE`` command.
+ - ``.zoom``: The ``MARK:SELected:ZOOm`` command tree.
+ """
+ return self._selected
+
+ @property
+ def total(self) -> MarkTotal:
+ """Return the ``MARK:TOTal`` command.
+
+ Description:
+ - Returns how many marks are currently in use. There can be a total of 1,024 marks
+ returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:TOTal?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:TOTal?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:TOTal?
+ ```
+ """
+ return self._total
+
+ @property
+ def userlist(self) -> MarkUserlist:
+ """Return the ``MARK:USERLIST`` command.
+
+ Description:
+ - The command creates a single user mark on a waveform in the time domain. The arguments
+ consist of an enumeration specifying the source waveform, followed by 7 time mark
+ parameters. You can create up to 1,024 marks. To save all the marks to memory, use the
+ command ``MARK:SAVEALL TOUSER``. The query form retrieves a list of all user marks,
+ separated by a semicolon. To retrieve the list of all system generated marks, use the
+ command ``SEARCH:SEARCHX:LIST A`` 'Settings conflict' error event is set for the
+ command form if any of the following conditions are true: The source waveform is not
+ turned on. The position of the mark is not on the waveform. The maximum number of
+ marks would be exceeded.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:USERLIST?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:USERLIST?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+ - Using the ``.write(value)`` method will send the ``MARK:USERLIST value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:USERLIST ,,,,,,,
+ - MARK:USERLIST?
+ ```
+
+ Info:
+ - ``CH`` - analog channels 1-4.
+ - ``B`` - serial (if installed) or parallel bus 1-4.
+ - ``MATH`` - math waveform.
+ - ``REF`` - reference waveforms 1-4.
+ - ``D0 - D15`` - digital channels 0 - 15 (Requires installation of option 3-MSO.).
+ """
+ return self._userlist
diff --git a/src/tm_devices/commands/gen_163n04_mdo/search.py b/src/tm_devices/commands/gen_163n04_mdo/search.py
index 0d2afaec..53314091 100644
--- a/src/tm_devices/commands/gen_163n04_mdo/search.py
+++ b/src/tm_devices/commands/gen_163n04_mdo/search.py
@@ -1035,9 +1035,9 @@ class SearchSearchItemTriggerATransitionSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a maximum of
- 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
@@ -1215,9 +1215,9 @@ def source(self) -> SearchSearchItemTriggerATransitionSource:
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
return self._source
@@ -1314,8 +1314,14 @@ class SearchSearchItemTriggerATimeoutSource(SCPICmdWrite, SCPICmdRead):
- ``MATH`` specifies to use the math waveform as the as the source waveform.
- ``REF`` specifies to use one of the reference waveforms 1-4 as the as the source
waveform. x has a minimum of 1 and a maximum of 4.
- - ``D`` specifies to use one of the digital channels as the source waveform. (Requires
- option 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ - ``D`` specifies to use one of the digital channels as the source waveform.
+ (MSO/MDO4000/B models only as well as MDO3000 and MDO400C models with option MDO3MSO or
+ MDO4MSO installed.) x has a minimum of 0 and a maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the source. (MDO4000/B/C models only.).
""" # noqa: E501
@@ -1430,7 +1436,14 @@ def source(self) -> SearchSearchItemTriggerATimeoutSource:
- ``REF`` specifies to use one of the reference waveforms 1-4 as the as the source
waveform. x has a minimum of 1 and a maximum of 4.
- ``D`` specifies to use one of the digital channels as the source waveform.
- (Requires option 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ (MSO/MDO4000/B models only as well as MDO3000 and MDO400C models with option MDO3MSO
+ or MDO4MSO installed.) x has a minimum of 0 and a maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
""" # noqa: E501
return self._source
@@ -1776,13 +1789,11 @@ class SearchSearchItemTriggerASetholdDataSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
- ``MATH`` specifies the math waveform as the data source.
- - ``REF`` specifies a reference waveform as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``REF`` specifies a reference waveform as the data source.
- ``D`` specifies a digital input as the data source (models with option 3-MSO
- installed.) x has a minimum of 0 and a maximum of 15.
+ installed.).
""" # noqa: E501
@@ -1797,8 +1808,7 @@ class SearchSearchItemTriggerASetholdData(SCPICmdRead):
returned value does not match ``value``.
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
Properties:
- ``.source``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:DATa:SOUrce`` command.
@@ -1839,13 +1849,11 @@ def source(self) -> SearchSearchItemTriggerASetholdDataSource:
```
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
- ``MATH`` specifies the math waveform as the data source.
- - ``REF`` specifies a reference waveform as the data source. x has a minimum of 1 and
- a maximum of 4.
+ - ``REF`` specifies a reference waveform as the data source.
- ``D`` specifies a digital input as the data source (models with option 3-MSO
- installed.) x has a minimum of 0 and a maximum of 15.
+ installed.).
""" # noqa: E501
return self._source
@@ -1938,6 +1946,12 @@ class SearchSearchItemTriggerASetholdClockSource(SCPICmdWrite, SCPICmdRead):
1 and a maximum of 4.
- ``D`` specifies a digital channel as the clock source waveform. x has a minimum of 0
and a maximum of 15.
+ - ``RF_AMPlitude`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_FREQuency`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_PHASe`` specifies an RF time domain trace as the clock source waveform. (MDO4000/B/C
+ only.).
""" # noqa: E501
@@ -2055,6 +2069,12 @@ def source(self) -> SearchSearchItemTriggerASetholdClockSource:
minimum of 1 and a maximum of 4.
- ``D`` specifies a digital channel as the clock source waveform. x has a minimum of
0 and a maximum of 15.
+ - ``RF_AMPlitude`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_FREQuency`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_PHASe`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
""" # noqa: E501
return self._source
@@ -2149,8 +2169,7 @@ def data(self) -> SearchSearchItemTriggerASetholdData:
returned value does not match ``value``.
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
Sub-properties:
- ``.source``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:DATa:SOUrce`` command.
@@ -2321,11 +2340,9 @@ class SearchSearchItemTriggerARuntSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the runt search source. x has a minimum of 1 and
- a maximum of 4.
+ - ``CH`` specifies an analog channel as the runt search source.
- ``MATH`` specifies the math waveform as the runt search source.
- - ``REF`` specifies a reference waveform as the runt search source. x has a minimum of 1
- and a maximum of 4.
+ - ``REF`` specifies a reference waveform as the runt search source.
""" # noqa: E501
@@ -2442,11 +2459,9 @@ def source(self) -> SearchSearchItemTriggerARuntSource:
```
Info:
- - ``CH`` specifies an analog channel as the runt search source. x has a minimum of 1
- and a maximum of 4.
+ - ``CH`` specifies an analog channel as the runt search source.
- ``MATH`` specifies the math waveform as the runt search source.
- - ``REF`` specifies a reference waveform as the runt search source. x has a minimum
- of 1 and a maximum of 4.
+ - ``REF`` specifies a reference waveform as the runt search source.
""" # noqa: E501
return self._source
@@ -2575,9 +2590,9 @@ class SearchSearchItemTriggerARisefallSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a maximum of
- 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
@@ -2752,9 +2767,9 @@ def source(self) -> SearchSearchItemTriggerARisefallSource:
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
return self._source
@@ -4582,6 +4597,9 @@ class SearchSearchItemTriggerALogicInputClockSource(SCPICmdWrite, SCPICmdRead):
- ``NONe`` specifies no clock source.
- ``D`` specifies a digital channel as the clock source. x has a minimum of 0 and a
maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
""" # noqa: E501
@@ -4698,6 +4716,11 @@ def source(self) -> SearchSearchItemTriggerALogicInputClockSource:
- ``NONe`` specifies no clock source.
- ``D`` specifies a digital channel as the clock source. x has a minimum of 0 and a
maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the clock source. (MDO4000/B/C
+ only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the clock source. (MDO4000/B/C
+ only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
""" # noqa: E501
return self._source
@@ -5613,13 +5636,10 @@ class SearchSearchItemTriggerAEdgeSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the source waveform. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the source waveform.
- ``MATH`` specifies the math waveform as the source waveform.
- - ``REF`` specifies a reference waveform as the source waveform. x has a minimum of 1 and
- a maximum of 4.
- - ``D`` specifies a digital channel as the source waveform. x has a minimum of 0 and a
- maximum of 15.
+ - ``REF`` specifies a reference waveform as the source waveform.
+ - ``D`` specifies a digital channel as the source waveform.
""" # noqa: E501
@@ -5724,13 +5744,10 @@ def source(self) -> SearchSearchItemTriggerAEdgeSource:
```
Info:
- - ``CH`` specifies an analog channel as the source waveform. x has a minimum of 1 and
- a maximum of 4.
+ - ``CH`` specifies an analog channel as the source waveform.
- ``MATH`` specifies the math waveform as the source waveform.
- - ``REF`` specifies a reference waveform as the source waveform. x has a minimum of 1
- and a maximum of 4.
- - ``D`` specifies a digital channel as the source waveform. x has a minimum of 0 and
- a maximum of 15.
+ - ``REF`` specifies a reference waveform as the source waveform.
+ - ``D`` specifies a digital channel as the source waveform.
""" # noqa: E501
return self._source
@@ -15288,7 +15305,8 @@ class SearchSearchItemTriggerABusBItemCanDataQualifier(SCPICmdWrite, SCPICmdRead
- This command sets the qualifier (<, >, =, not =, <=) to be used to search on CAN bus data.
This only applies if the search condition has been set to IDANDDATA or DATA (using
``SEARCH:SEARCHX:TRIGGER:A:BUS:BX:CAN:CONDITION``). SEARCH is the search number, which
- is always 1, and B is the bus number (1-2).
+ is always 1, and B is the bus number (1-4). 1-3 for the MDO4000C and 1-2 for the
+ MDO3000.
Usage:
- Using the ``.query()`` method will send the
@@ -15483,7 +15501,8 @@ def qualifier(self) -> SearchSearchItemTriggerABusBItemCanDataQualifier:
- This command sets the qualifier (<, >, =, not =, <=) to be used to search on CAN bus
data. This only applies if the search condition has been set to IDANDDATA or DATA
(using ``SEARCH:SEARCHX:TRIGGER:A:BUS:BX:CAN:CONDITION``). SEARCH is the search
- number, which is always 1, and B is the bus number (1-2).
+ number, which is always 1, and B is the bus number (1-4). 1-3 for the MDO4000C and
+ 1-2 for the MDO3000.
Usage:
- Using the ``.query()`` method will send the
diff --git a/src/tm_devices/commands/gen_16opiv_mdomso/__init__.py b/src/tm_devices/commands/gen_16opiv_mdomso/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/tm_devices/commands/gen_16opiv_mdomso/mark.py b/src/tm_devices/commands/gen_16opiv_mdomso/mark.py
new file mode 100644
index 00000000..300a3c65
--- /dev/null
+++ b/src/tm_devices/commands/gen_16opiv_mdomso/mark.py
@@ -0,0 +1,713 @@
+# pylint: disable=line-too-long
+"""The mark commands module.
+
+These commands are used in the following models:
+MDO3K, MSO4KB
+
+THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED.
+
+Please report an issue if one is found.
+
+Commands and Queries:
+ ```
+ - MARK {NEXT|PREVious}
+ - MARK:CREATE {CH|MATH|REF1|REF2|REF3|REF4|B1|B2|B3|B4|REF1|REF2|REF3|REF4|DIGital|COLUMN|RF_AMPlitude|RF_FREQuency|RF_PHASe}
+ - MARK:FREE?
+ - MARK:SAVEALL TOUSER
+ - MARK:SELected:END?
+ - MARK:SELected:FOCUS?
+ - MARK:SELected:MARKSINCOLumn?
+ - MARK:SELected:OWNer?
+ - MARK:SELected:SOURCe?
+ - MARK:SELected:STARt?
+ - MARK:SELected:STATE?
+ - MARK:SELected:ZOOm:POSition?
+ - MARK:TOTal?
+ - MARK:USERLIST ,,,,,,,
+ - MARK:USERLIST?
+ - MARK?
+ ```
+""" # noqa: E501
+
+from typing import Optional, TYPE_CHECKING
+
+from ..helpers import SCPICmdRead, SCPICmdWrite
+
+if TYPE_CHECKING:
+ from tm_devices.driver_mixins.device_control.pi_control import PIControl
+
+
+class MarkUserlist(SCPICmdWrite, SCPICmdRead):
+ """The ``MARK:USERLIST`` command.
+
+ Description:
+ - The command creates a single user mark on a waveform in the time domain. The arguments
+ consist of an enumeration specifying the source waveform, followed by 7 time mark
+ parameters. You can create up to 1,024 marks. To save all the marks to memory, use the
+ command ``MARK:SAVEALL TOUSER``. The query form retrieves a list of all user marks,
+ separated by a semicolon. To retrieve the list of all system generated marks, use the
+ command ``SEARCH:SEARCHX:LIST A`` 'Settings conflict' error event is set for the command
+ form if any of the following conditions are true: The source waveform is not turned on.
+ The position of the mark is not on the waveform. The maximum number of marks would be
+ exceeded.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:USERLIST?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:USERLIST?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+ - Using the ``.write(value)`` method will send the ``MARK:USERLIST value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:USERLIST ,,,,,,,
+ - MARK:USERLIST?
+ ```
+
+ Info:
+ - ``CH`` - analog channels 1-4.
+ - ``B`` - serial (if installed) or parallel bus 1-4.
+ - ``MATH`` - math waveform.
+ - ``REF`` - reference waveforms 1-4.
+ - ``D0 - D15`` - digital channels 0 - 15 (Requires installation of option 3-MSO.).
+ """
+
+
+class MarkTotal(SCPICmdRead):
+ """The ``MARK:TOTal`` command.
+
+ Description:
+ - Returns how many marks are currently in use. There can be a total of 1,024 marks returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:TOTal?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:TOTal?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:TOTal?
+ ```
+ """
+
+
+class MarkSelectedZoomPosition(SCPICmdRead):
+ """The ``MARK:SELected:ZOOm:POSition`` command.
+
+ Description:
+ - Returns the position of the selected mark, 0 to 100% of the zoom overview window.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm:POSition?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm:POSition?`` query
+ and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:ZOOm:POSition?
+ ```
+ """
+
+
+class MarkSelectedZoom(SCPICmdRead):
+ """The ``MARK:SELected:ZOOm`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ Properties:
+ - ``.position``: The ``MARK:SELected:ZOOm:POSition`` command.
+ """
+
+ def __init__(self, device: Optional["PIControl"], cmd_syntax: str) -> None:
+ super().__init__(device, cmd_syntax)
+ self._position = MarkSelectedZoomPosition(device, f"{self._cmd_syntax}:POSition")
+
+ @property
+ def position(self) -> MarkSelectedZoomPosition:
+ """Return the ``MARK:SELected:ZOOm:POSition`` command.
+
+ Description:
+ - Returns the position of the selected mark, 0 to 100% of the zoom overview window.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm:POSition?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm:POSition?``
+ query and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:ZOOm:POSition?
+ ```
+ """
+ return self._position
+
+
+class MarkSelectedState(SCPICmdRead):
+ """The ``MARK:SELected:STATE`` command.
+
+ Description:
+ - Returns the on or off state of the selected mark. The selected mark is at or near the
+ center of the screen. If you press the front-panel Set/Clear button, this mark will
+ disappear.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STATE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STATE?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STATE?
+ ```
+ """
+
+
+class MarkSelectedStart(SCPICmdRead):
+ """The ``MARK:SELected:STARt`` command.
+
+ Description:
+ - Returns the starting point of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STARt?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STARt?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STARt?
+ ```
+ """
+
+
+class MarkSelectedSource(SCPICmdRead):
+ """The ``MARK:SELected:SOURCe`` command.
+
+ Description:
+ - Returns the source waveform for the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:SOURCe?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:SOURCe?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:SOURCe?
+ ```
+ """
+
+
+class MarkSelectedOwner(SCPICmdRead):
+ """The ``MARK:SELected:OWNer`` command.
+
+ Description:
+ - Returns the owner of the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:OWNer?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:OWNer?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:OWNer?
+ ```
+ """
+
+
+class MarkSelectedMarksincolumn(SCPICmdRead):
+ """The ``MARK:SELected:MARKSINCOLumn`` command.
+
+ Description:
+ - Returns the number of marks in the current zoom pixel column.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:MARKSINCOLumn?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:MARKSINCOLumn?`` query
+ and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:MARKSINCOLumn?
+ ```
+ """
+
+
+class MarkSelectedFocus(SCPICmdRead):
+ """The ``MARK:SELected:FOCUS`` command.
+
+ Description:
+ - Returns the focus of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:FOCUS?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:FOCUS?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:FOCUS?
+ ```
+ """
+
+
+class MarkSelectedEnd(SCPICmdRead):
+ """The ``MARK:SELected:END`` command.
+
+ Description:
+ - Returns the end of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:END?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:END?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:END?
+ ```
+ """
+
+
+# pylint: disable=too-many-instance-attributes
+class MarkSelected(SCPICmdRead):
+ """The ``MARK:SELected`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ Properties:
+ - ``.end``: The ``MARK:SELected:END`` command.
+ - ``.focus``: The ``MARK:SELected:FOCUS`` command.
+ - ``.marksincolumn``: The ``MARK:SELected:MARKSINCOLumn`` command.
+ - ``.owner``: The ``MARK:SELected:OWNer`` command.
+ - ``.source``: The ``MARK:SELected:SOURCe`` command.
+ - ``.start``: The ``MARK:SELected:STARt`` command.
+ - ``.state``: The ``MARK:SELected:STATE`` command.
+ - ``.zoom``: The ``MARK:SELected:ZOOm`` command tree.
+ """
+
+ def __init__(self, device: Optional["PIControl"], cmd_syntax: str) -> None:
+ super().__init__(device, cmd_syntax)
+ self._end = MarkSelectedEnd(device, f"{self._cmd_syntax}:END")
+ self._focus = MarkSelectedFocus(device, f"{self._cmd_syntax}:FOCUS")
+ self._marksincolumn = MarkSelectedMarksincolumn(device, f"{self._cmd_syntax}:MARKSINCOLumn")
+ self._owner = MarkSelectedOwner(device, f"{self._cmd_syntax}:OWNer")
+ self._source = MarkSelectedSource(device, f"{self._cmd_syntax}:SOURCe")
+ self._start = MarkSelectedStart(device, f"{self._cmd_syntax}:STARt")
+ self._state = MarkSelectedState(device, f"{self._cmd_syntax}:STATE")
+ self._zoom = MarkSelectedZoom(device, f"{self._cmd_syntax}:ZOOm")
+
+ @property
+ def end(self) -> MarkSelectedEnd:
+ """Return the ``MARK:SELected:END`` command.
+
+ Description:
+ - Returns the end of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:END?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:END?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:END?
+ ```
+ """
+ return self._end
+
+ @property
+ def focus(self) -> MarkSelectedFocus:
+ """Return the ``MARK:SELected:FOCUS`` command.
+
+ Description:
+ - Returns the focus of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:FOCUS?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:FOCUS?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:FOCUS?
+ ```
+ """
+ return self._focus
+
+ @property
+ def marksincolumn(self) -> MarkSelectedMarksincolumn:
+ """Return the ``MARK:SELected:MARKSINCOLumn`` command.
+
+ Description:
+ - Returns the number of marks in the current zoom pixel column.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:MARKSINCOLumn?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:MARKSINCOLumn?``
+ query and raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:MARKSINCOLumn?
+ ```
+ """
+ return self._marksincolumn
+
+ @property
+ def owner(self) -> MarkSelectedOwner:
+ """Return the ``MARK:SELected:OWNer`` command.
+
+ Description:
+ - Returns the owner of the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:OWNer?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:OWNer?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:OWNer?
+ ```
+ """
+ return self._owner
+
+ @property
+ def source(self) -> MarkSelectedSource:
+ """Return the ``MARK:SELected:SOURCe`` command.
+
+ Description:
+ - Returns the source waveform for the selected mark.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:SOURCe?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:SOURCe?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:SOURCe?
+ ```
+ """
+ return self._source
+
+ @property
+ def start(self) -> MarkSelectedStart:
+ """Return the ``MARK:SELected:STARt`` command.
+
+ Description:
+ - Returns the starting point of the selected mark, 0 to 100% of the waveform.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STARt?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STARt?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STARt?
+ ```
+ """
+ return self._start
+
+ @property
+ def state(self) -> MarkSelectedState:
+ """Return the ``MARK:SELected:STATE`` command.
+
+ Description:
+ - Returns the on or off state of the selected mark. The selected mark is at or near the
+ center of the screen. If you press the front-panel Set/Clear button, this mark will
+ disappear.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:STATE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:STATE?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:SELected:STATE?
+ ```
+ """
+ return self._state
+
+ @property
+ def zoom(self) -> MarkSelectedZoom:
+ """Return the ``MARK:SELected:ZOOm`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected:ZOOm?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected:ZOOm?`` query and
+ raise an AssertionError if the returned value does not match ``value``.
+
+ Sub-properties:
+ - ``.position``: The ``MARK:SELected:ZOOm:POSition`` command.
+ """
+ return self._zoom
+
+
+class MarkSaveall(SCPICmdWrite):
+ """The ``MARK:SAVEALL`` command.
+
+ Description:
+ - This command saves all current marks on waveforms in the time domain to the user search
+ mark list in internal memory. (This is equivalent to pressing the 'Save All Marks' button
+ in the Search button menu on the front panel.) In order to retrieve the information, use
+ the query form of ``MARK:USERLIST``.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:SAVEALL value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:SAVEALL TOUSER
+ ```
+ """
+
+
+class MarkFree(SCPICmdRead):
+ """The ``MARK:FREE`` command.
+
+ Description:
+ - Returns how many marks are available for use. There can be a total of 1,024 marks
+ returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:FREE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:FREE?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:FREE?
+ ```
+ """
+
+
+class MarkCreate(SCPICmdWrite):
+ """The ``MARK:CREATE`` command.
+
+ Description:
+ - Creates a mark on a specified waveform or all waveforms in a column.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:CREATE value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:CREATE {CH|MATH|REF1|REF2|REF3|REF4|B1|B2|B3|B4|REF1|REF2|REF3|REF4|DIGital|COLUMN|RF_AMPlitude|RF_FREQuency|RF_PHASe}
+ ```
+
+ Info:
+ - ``CH`` creates the mark on a channel waveform, where is the channel number.
+ - ``MATH`` creates the mark on the math waveform.
+ - ``B`` creates the mark on a bus waveform, where .
+ - ``REF`` creates the mark on a reference waveform, where is the reference waveform
+ number.
+ - ``DIGital`` creates the mark on a digital waveform. (An error will result if no digital
+ channel is turned on.) (MSO/MDO4000/B models only as well as MDO3000 and MDO400C models
+ with option MDO3MSO or MDO4MSO installed.).
+ - ``COLUMN`` creates marks on all waveforms in the current zoom pixel column.
+ - ``RF_AMPlitude`` creates the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ - ``RF_FREQuency`` creates the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ - ``RF_PHASe`` creates the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ """ # noqa: E501
+
+
+class Mark(SCPICmdWrite, SCPICmdRead):
+ """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.
+
+ Properties:
+ - ``.create``: The ``MARK:CREATE`` command.
+ - ``.free``: The ``MARK:FREE`` command.
+ - ``.saveall``: The ``MARK:SAVEALL`` command.
+ - ``.selected``: The ``MARK:SELected`` command tree.
+ - ``.total``: The ``MARK:TOTal`` command.
+ - ``.userlist``: The ``MARK:USERLIST`` command.
+ """
+
+ def __init__(self, device: Optional["PIControl"] = None, cmd_syntax: str = "MARK") -> None:
+ super().__init__(device, cmd_syntax)
+ self._create = MarkCreate(device, f"{self._cmd_syntax}:CREATE")
+ self._free = MarkFree(device, f"{self._cmd_syntax}:FREE")
+ self._saveall = MarkSaveall(device, f"{self._cmd_syntax}:SAVEALL")
+ self._selected = MarkSelected(device, f"{self._cmd_syntax}:SELected")
+ self._total = MarkTotal(device, f"{self._cmd_syntax}:TOTal")
+ self._userlist = MarkUserlist(device, f"{self._cmd_syntax}:USERLIST")
+
+ @property
+ def create(self) -> MarkCreate:
+ """Return the ``MARK:CREATE`` command.
+
+ Description:
+ - Creates a mark on a specified waveform or all waveforms in a column.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:CREATE value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:CREATE {CH|MATH|REF1|REF2|REF3|REF4|B1|B2|B3|B4|REF1|REF2|REF3|REF4|DIGital|COLUMN|RF_AMPlitude|RF_FREQuency|RF_PHASe}
+ ```
+
+ Info:
+ - ``CH`` creates the mark on a channel waveform, where is the channel number.
+ - ``MATH`` creates the mark on the math waveform.
+ - ``B`` creates the mark on a bus waveform, where .
+ - ``REF`` creates the mark on a reference waveform, where is the reference
+ waveform number.
+ - ``DIGital`` creates the mark on a digital waveform. (An error will result if no
+ digital channel is turned on.) (MSO/MDO4000/B models only as well as MDO3000 and
+ MDO400C models with option MDO3MSO or MDO4MSO installed.).
+ - ``COLUMN`` creates marks on all waveforms in the current zoom pixel column.
+ - ``RF_AMPlitude`` creates the mark on an RF time domain trace. (MDO4000/B/C models
+ only.).
+ - ``RF_FREQuency`` creates the mark on an RF time domain trace. (MDO4000/B/C models
+ only.).
+ - ``RF_PHASe`` creates the mark on an RF time domain trace. (MDO4000/B/C models only.).
+ """ # noqa: E501
+ return self._create
+
+ @property
+ def free(self) -> MarkFree:
+ """Return the ``MARK:FREE`` command.
+
+ Description:
+ - Returns how many marks are available for use. There can be a total of 1,024 marks
+ returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:FREE?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:FREE?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:FREE?
+ ```
+ """
+ return self._free
+
+ @property
+ def saveall(self) -> MarkSaveall:
+ """Return the ``MARK:SAVEALL`` command.
+
+ Description:
+ - This command saves all current marks on waveforms in the time domain to the user
+ search mark list in internal memory. (This is equivalent to pressing the 'Save All
+ Marks' button in the Search button menu on the front panel.) In order to retrieve the
+ information, use the query form of ``MARK:USERLIST``.
+
+ Usage:
+ - Using the ``.write(value)`` method will send the ``MARK:SAVEALL value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:SAVEALL TOUSER
+ ```
+ """
+ return self._saveall
+
+ @property
+ def selected(self) -> MarkSelected:
+ """Return the ``MARK:SELected`` command tree.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:SELected?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:SELected?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+
+ Sub-properties:
+ - ``.end``: The ``MARK:SELected:END`` command.
+ - ``.focus``: The ``MARK:SELected:FOCUS`` command.
+ - ``.marksincolumn``: The ``MARK:SELected:MARKSINCOLumn`` command.
+ - ``.owner``: The ``MARK:SELected:OWNer`` command.
+ - ``.source``: The ``MARK:SELected:SOURCe`` command.
+ - ``.start``: The ``MARK:SELected:STARt`` command.
+ - ``.state``: The ``MARK:SELected:STATE`` command.
+ - ``.zoom``: The ``MARK:SELected:ZOOm`` command tree.
+ """
+ return self._selected
+
+ @property
+ def total(self) -> MarkTotal:
+ """Return the ``MARK:TOTal`` command.
+
+ Description:
+ - Returns how many marks are currently in use. There can be a total of 1,024 marks
+ returned.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:TOTal?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:TOTal?`` query and raise an
+ AssertionError if the returned value does not match ``value``.
+
+ SCPI Syntax:
+ ```
+ - MARK:TOTal?
+ ```
+ """
+ return self._total
+
+ @property
+ def userlist(self) -> MarkUserlist:
+ """Return the ``MARK:USERLIST`` command.
+
+ Description:
+ - The command creates a single user mark on a waveform in the time domain. The arguments
+ consist of an enumeration specifying the source waveform, followed by 7 time mark
+ parameters. You can create up to 1,024 marks. To save all the marks to memory, use the
+ command ``MARK:SAVEALL TOUSER``. The query form retrieves a list of all user marks,
+ separated by a semicolon. To retrieve the list of all system generated marks, use the
+ command ``SEARCH:SEARCHX:LIST A`` 'Settings conflict' error event is set for the
+ command form if any of the following conditions are true: The source waveform is not
+ turned on. The position of the mark is not on the waveform. The maximum number of
+ marks would be exceeded.
+
+ Usage:
+ - Using the ``.query()`` method will send the ``MARK:USERLIST?`` query.
+ - Using the ``.verify(value)`` method will send the ``MARK:USERLIST?`` query and raise
+ an AssertionError if the returned value does not match ``value``.
+ - Using the ``.write(value)`` method will send the ``MARK:USERLIST value`` command.
+
+ SCPI Syntax:
+ ```
+ - MARK:USERLIST ,,,,,,,
+ - MARK:USERLIST?
+ ```
+
+ Info:
+ - ``CH`` - analog channels 1-4.
+ - ``B`` - serial (if installed) or parallel bus 1-4.
+ - ``MATH`` - math waveform.
+ - ``REF`` - reference waveforms 1-4.
+ - ``D0 - D15`` - digital channels 0 - 15 (Requires installation of option 3-MSO.).
+ """
+ return self._userlist
diff --git a/src/tm_devices/commands/gen_16x4xq_mdo/search.py b/src/tm_devices/commands/gen_16x4xq_mdo/search.py
index f3c09c8e..8aadac90 100644
--- a/src/tm_devices/commands/gen_16x4xq_mdo/search.py
+++ b/src/tm_devices/commands/gen_16x4xq_mdo/search.py
@@ -997,9 +997,9 @@ class SearchSearchItemTriggerATransitionSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a maximum of
- 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
@@ -1177,9 +1177,9 @@ def source(self) -> SearchSearchItemTriggerATransitionSource:
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
return self._source
@@ -1276,8 +1276,14 @@ class SearchSearchItemTriggerATimeoutSource(SCPICmdWrite, SCPICmdRead):
- ``MATH`` specifies to use the math waveform as the as the source waveform.
- ``REF`` specifies to use one of the reference waveforms 1-4 as the as the source
waveform. x has a minimum of 1 and a maximum of 4.
- - ``D`` specifies to use one of the digital channels as the source waveform. (Requires
- option 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ - ``D`` specifies to use one of the digital channels as the source waveform.
+ (MSO/MDO4000/B models only as well as MDO3000 and MDO400C models with option MDO3MSO or
+ MDO4MSO installed.) x has a minimum of 0 and a maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the source. (MDO4000/B/C models only.).
""" # noqa: E501
@@ -1392,7 +1398,14 @@ def source(self) -> SearchSearchItemTriggerATimeoutSource:
- ``REF`` specifies to use one of the reference waveforms 1-4 as the as the source
waveform. x has a minimum of 1 and a maximum of 4.
- ``D`` specifies to use one of the digital channels as the source waveform.
- (Requires option 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ (MSO/MDO4000/B models only as well as MDO3000 and MDO400C models with option MDO3MSO
+ or MDO4MSO installed.) x has a minimum of 0 and a maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the source. (MDO4000/B/C models
+ only.).
""" # noqa: E501
return self._source
@@ -1738,13 +1751,11 @@ class SearchSearchItemTriggerASetholdDataSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
- ``MATH`` specifies the math waveform as the data source.
- - ``REF`` specifies a reference waveform as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``REF`` specifies a reference waveform as the data source.
- ``D`` specifies a digital input as the data source (models with option 3-MSO
- installed.) x has a minimum of 0 and a maximum of 15.
+ installed.).
""" # noqa: E501
@@ -1759,8 +1770,7 @@ class SearchSearchItemTriggerASetholdData(SCPICmdRead):
returned value does not match ``value``.
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
Properties:
- ``.source``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:DATa:SOUrce`` command.
@@ -1801,13 +1811,11 @@ def source(self) -> SearchSearchItemTriggerASetholdDataSource:
```
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
- ``MATH`` specifies the math waveform as the data source.
- - ``REF`` specifies a reference waveform as the data source. x has a minimum of 1 and
- a maximum of 4.
+ - ``REF`` specifies a reference waveform as the data source.
- ``D`` specifies a digital input as the data source (models with option 3-MSO
- installed.) x has a minimum of 0 and a maximum of 15.
+ installed.).
""" # noqa: E501
return self._source
@@ -1900,6 +1908,12 @@ class SearchSearchItemTriggerASetholdClockSource(SCPICmdWrite, SCPICmdRead):
1 and a maximum of 4.
- ``D`` specifies a digital channel as the clock source waveform. x has a minimum of 0
and a maximum of 15.
+ - ``RF_AMPlitude`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_FREQuency`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_PHASe`` specifies an RF time domain trace as the clock source waveform. (MDO4000/B/C
+ only.).
""" # noqa: E501
@@ -2017,6 +2031,12 @@ def source(self) -> SearchSearchItemTriggerASetholdClockSource:
minimum of 1 and a maximum of 4.
- ``D`` specifies a digital channel as the clock source waveform. x has a minimum of
0 and a maximum of 15.
+ - ``RF_AMPlitude`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_FREQuency`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
+ - ``RF_PHASe`` specifies an RF time domain trace as the clock source waveform.
+ (MDO4000/B/C only.).
""" # noqa: E501
return self._source
@@ -2111,8 +2131,7 @@ def data(self) -> SearchSearchItemTriggerASetholdData:
returned value does not match ``value``.
Info:
- - ``CH`` specifies an analog channel as the data source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the data source.
Sub-properties:
- ``.source``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:DATa:SOUrce`` command.
@@ -2283,11 +2302,9 @@ class SearchSearchItemTriggerARuntSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the runt search source. x has a minimum of 1 and
- a maximum of 4.
+ - ``CH`` specifies an analog channel as the runt search source.
- ``MATH`` specifies the math waveform as the runt search source.
- - ``REF`` specifies a reference waveform as the runt search source. x has a minimum of 1
- and a maximum of 4.
+ - ``REF`` specifies a reference waveform as the runt search source.
""" # noqa: E501
@@ -2404,11 +2421,9 @@ def source(self) -> SearchSearchItemTriggerARuntSource:
```
Info:
- - ``CH`` specifies an analog channel as the runt search source. x has a minimum of 1
- and a maximum of 4.
+ - ``CH`` specifies an analog channel as the runt search source.
- ``MATH`` specifies the math waveform as the runt search source.
- - ``REF`` specifies a reference waveform as the runt search source. x has a minimum
- of 1 and a maximum of 4.
+ - ``REF`` specifies a reference waveform as the runt search source.
""" # noqa: E501
return self._source
@@ -2537,9 +2552,9 @@ class SearchSearchItemTriggerARisefallSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a maximum of
- 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
@@ -2714,9 +2729,9 @@ def source(self) -> SearchSearchItemTriggerARisefallSource:
```
Info:
- - ``CH`` specifies one input channel as the source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies one input channel as the source.
- ``MATH`` specifies the math waveform as the source.
+ - ``REF`` specifies the reference waveform as the source.
""" # noqa: E501
return self._source
@@ -4544,6 +4559,9 @@ class SearchSearchItemTriggerALogicInputClockSource(SCPICmdWrite, SCPICmdRead):
- ``NONe`` specifies no clock source.
- ``D`` specifies a digital channel as the clock source. x has a minimum of 0 and a
maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
""" # noqa: E501
@@ -4660,6 +4678,11 @@ def source(self) -> SearchSearchItemTriggerALogicInputClockSource:
- ``NONe`` specifies no clock source.
- ``D`` specifies a digital channel as the clock source. x has a minimum of 0 and a
maximum of 15.
+ - ``RF_AMPlitude`` specify an RF time domain trace as the clock source. (MDO4000/B/C
+ only.).
+ - ``RF_FREQuency`` specify an RF time domain trace as the clock source. (MDO4000/B/C
+ only.).
+ - ``RF_PHASe`` specify an RF time domain trace as the clock source. (MDO4000/B/C only.).
""" # noqa: E501
return self._source
@@ -5575,13 +5598,10 @@ class SearchSearchItemTriggerAEdgeSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the source waveform. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the source waveform.
- ``MATH`` specifies the math waveform as the source waveform.
- - ``REF`` specifies a reference waveform as the source waveform. x has a minimum of 1 and
- a maximum of 4.
- - ``D`` specifies a digital channel as the source waveform. x has a minimum of 0 and a
- maximum of 15.
+ - ``REF`` specifies a reference waveform as the source waveform.
+ - ``D`` specifies a digital channel as the source waveform.
""" # noqa: E501
@@ -5686,13 +5706,10 @@ def source(self) -> SearchSearchItemTriggerAEdgeSource:
```
Info:
- - ``CH`` specifies an analog channel as the source waveform. x has a minimum of 1 and
- a maximum of 4.
+ - ``CH`` specifies an analog channel as the source waveform.
- ``MATH`` specifies the math waveform as the source waveform.
- - ``REF`` specifies a reference waveform as the source waveform. x has a minimum of 1
- and a maximum of 4.
- - ``D`` specifies a digital channel as the source waveform. x has a minimum of 0 and
- a maximum of 15.
+ - ``REF`` specifies a reference waveform as the source waveform.
+ - ``D`` specifies a digital channel as the source waveform.
""" # noqa: E501
return self._source
@@ -13847,7 +13864,8 @@ class SearchSearchItemTriggerABusBItemCanDataQualifier(SCPICmdWrite, SCPICmdRead
- This command sets the qualifier (<, >, =, not =, <=) to be used to search on CAN bus data.
This only applies if the search condition has been set to IDANDDATA or DATA (using
``SEARCH:SEARCHX:TRIGGER:A:BUS:BX:CAN:CONDITION``). SEARCH is the search number, which
- is always 1, and B is the bus number (1-2).
+ is always 1, and B is the bus number (1-4). 1-3 for the MDO4000C and 1-2 for the
+ MDO3000.
Usage:
- Using the ``.query()`` method will send the
@@ -14042,7 +14060,8 @@ def qualifier(self) -> SearchSearchItemTriggerABusBItemCanDataQualifier:
- This command sets the qualifier (<, >, =, not =, <=) to be used to search on CAN bus
data. This only applies if the search condition has been set to IDANDDATA or DATA
(using ``SEARCH:SEARCHX:TRIGGER:A:BUS:BX:CAN:CONDITION``). SEARCH is the search
- number, which is always 1, and B is the bus number (1-2).
+ number, which is always 1, and B is the bus number (1-4). 1-3 for the MDO4000C and
+ 1-2 for the MDO3000.
Usage:
- Using the ``.query()`` method will send the
diff --git a/src/tm_devices/commands/gen_1jzp7o_mdodpo/trigger.py b/src/tm_devices/commands/gen_1jzp7o_mdodpo/trigger.py
index fd01d7c5..b0115a57 100644
--- a/src/tm_devices/commands/gen_1jzp7o_mdodpo/trigger.py
+++ b/src/tm_devices/commands/gen_1jzp7o_mdodpo/trigger.py
@@ -1079,8 +1079,7 @@ class TriggerBEdgeSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the B trigger source. x has a minimum of 1 and a
- maximum of 4.
+ - ``CH`` specifies an analog channel as the B trigger source.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope as the B trigger source. (For 2-channel MDO32 model only.).
- ``LINE`` specifies the AC power line as the B trigger source.
@@ -1241,8 +1240,7 @@ def source(self) -> TriggerBEdgeSource:
```
Info:
- - ``CH`` specifies an analog channel as the B trigger source. x has a minimum of 1
- and a maximum of 4.
+ - ``CH`` specifies an analog channel as the B trigger source.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope as the B trigger source. (For 2-channel MDO32 model only.).
- ``LINE`` specifies the AC power line as the B trigger source.
@@ -2549,7 +2547,7 @@ class TriggerATransitionSource(SCPICmdWrite, SCPICmdRead):
Info:
- ``CH`` specifies one of the analog channels to be used as the source for a transition
- trigger. x has a minimum of 1 and a maximum of 4.
+ trigger.
"""
@@ -2713,7 +2711,7 @@ def source(self) -> TriggerATransitionSource:
Info:
- ``CH`` specifies one of the analog channels to be used as the source for a
- transition trigger. x has a minimum of 1 and a maximum of 4.
+ transition trigger.
"""
return self._source
@@ -2800,13 +2798,12 @@ class TriggerATimeoutSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the timeout trigger source. x has a minimum of 1
- and a maximum of 4.
+ - ``CH`` specifies an analog channel as the timeout trigger source.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (For 2-channel MDO32 model only.).
- ``LINE`` specifies the AC line as the timeout trigger source.
- ``D`` specifies a digital channel as the timeout trigger source. (Requires option
- 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ 3-MSO.).
"""
@@ -2915,13 +2912,12 @@ def source(self) -> TriggerATimeoutSource:
```
Info:
- - ``CH`` specifies an analog channel as the timeout trigger source. x has a minimum
- of 1 and a maximum of 4.
+ - ``CH`` specifies an analog channel as the timeout trigger source.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (For 2-channel MDO32 model only.).
- ``LINE`` specifies the AC line as the timeout trigger source.
- ``D`` specifies a digital channel as the timeout trigger source. (Requires option
- 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ 3-MSO.).
"""
return self._source
@@ -3196,9 +3192,8 @@ class TriggerASetholdDataSource(SCPICmdWrite, SCPICmdRead):
Info:
- ``CH`` specifies an analog input channel as the data source for the setup and hold
- trigger. x has a minimum of 1 and a maximum of 4.
- - ``D`` specifies a digital channel as the source. Requires option 3-MSO. x has a minimum
- of 0 and a maximum of 15.
+ trigger.
+ - ``D`` specifies a digital channel as the source. Requires option 3-MSO.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (For 2-channel MDO32 only.).
"""
@@ -3256,9 +3251,8 @@ def source(self) -> TriggerASetholdDataSource:
Info:
- ``CH`` specifies an analog input channel as the data source for the setup and hold
- trigger. x has a minimum of 1 and a maximum of 4.
- - ``D`` specifies a digital channel as the source. Requires option 3-MSO. x has a
- minimum of 0 and a maximum of 15.
+ trigger.
+ - ``D`` specifies a digital channel as the source. Requires option 3-MSO.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (For 2-channel MDO32 only.).
"""
@@ -3340,10 +3334,9 @@ class TriggerASetholdClockSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies the analog channel to use as the clock source waveform. x has a
- minimum of 1 and a maximum of 4.
+ - ``CH`` specifies the analog channel to use as the clock source waveform.
- ``D`` specifies the digital channel to use as the clock source waveform. (Requires
- option 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ option 3-MSO.).
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (Available for 2-channel MDO32, as it has an Aux Input
connector.).
@@ -3452,10 +3445,9 @@ def source(self) -> TriggerASetholdClockSource:
```
Info:
- - ``CH`` specifies the analog channel to use as the clock source waveform. x has a
- minimum of 1 and a maximum of 4.
+ - ``CH`` specifies the analog channel to use as the clock source waveform.
- ``D`` specifies the digital channel to use as the clock source waveform. (Requires
- option 3-MSO.) x has a minimum of 0 and a maximum of 15.
+ option 3-MSO.).
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (Available for 2-channel MDO32, as it has an Aux Input
connector.).
@@ -3966,7 +3958,7 @@ class TriggerARisefallSource(SCPICmdWrite, SCPICmdRead):
Info:
- ``CH`` specifies one of the analog channels to be used as the source for a transition
- trigger. x has a minimum of 1 and a maximum of 4.
+ trigger.
"""
@@ -4130,7 +4122,7 @@ def source(self) -> TriggerARisefallSource:
Info:
- ``CH`` specifies one of the analog channels to be used as the source for a
- transition trigger. x has a minimum of 1 and a maximum of 4.
+ transition trigger.
"""
return self._source
@@ -4362,13 +4354,11 @@ class TriggerAPulsewidthSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog input channel as the pulse-width trigger source. x has a
- minimum of 1 and a maximum of 4.
+ - ``CH`` specifies an analog input channel as the pulse-width trigger source.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (Only for 2-channel model MDO32.).
- ``LINE`` specifies AC line voltage as the trigger source.
- - ``D`` specifies a digital channel as the trigger source. x has a minimum of 0 and a
- maximum of 15.
+ - ``D`` specifies a digital channel as the trigger source.
"""
@@ -4582,13 +4572,11 @@ def source(self) -> TriggerAPulsewidthSource:
```
Info:
- - ``CH`` specifies an analog input channel as the pulse-width trigger source. x has a
- minimum of 1 and a maximum of 4.
+ - ``CH`` specifies an analog input channel as the pulse-width trigger source.
- ``AUX`` specifies an external trigger using the Aux In connector located on the front
panel of the oscilloscope. (Only for 2-channel model MDO32.).
- ``LINE`` specifies AC line voltage as the trigger source.
- - ``D`` specifies a digital channel as the trigger source. x has a minimum of 0 and a
- maximum of 15.
+ - ``D`` specifies a digital channel as the trigger source.
"""
return self._source
@@ -5430,10 +5418,8 @@ class TriggerALogicInputClockSource(SCPICmdWrite, SCPICmdRead):
```
Info:
- - ``CH`` specifies an analog channel as the clock source. x has a minimum of 1 and a
- maximum of 4.
- - ``D`` specifies a digital channel as the clock source. (Requires option 3-MSO.) x has a
- minimum of 0 and a maximum of 15.
+ - ``CH`` specifies an analog channel as the clock source.
+ - ``D