From 409230f71b0b726525bd823c433c588044b384fc Mon Sep 17 00:00:00 2001 From: RoaCode Date: Tue, 30 Jul 2024 15:33:53 -0400 Subject: [PATCH] feat(mso2kb.py): added support for mso2024b oscilloscope Added driver functions for MSO2KB series oscilloscope. Added "curve_query", "all_channel_names_list", "turn_channel_on/off", and "total_channels" functions, and added model ID 0x03A4 to supported models list --- .../check-api-for-breaking-changes.yml | 38 +- .github/workflows/codeql-analysis.yml | 24 +- .github/workflows/dependency-review.yml | 1 - .../workflows/enforce-community-standards.yml | 10 + .github/workflows/package-build.yml | 72 +- .github/workflows/package-release.yml | 212 +- .github/workflows/package-testpypi.yml | 97 +- .github/workflows/publish-api-comparison.yml | 78 +- .github/workflows/publish-test-results.yml | 66 +- .github/workflows/sbom-scan.yml | 41 +- .github/workflows/tek-repo-lint.yml | 47 - .github/workflows/test-code.yml | 120 +- .github/workflows/test-docs.yml | 64 +- ...ate-python-and-pre-commit-dependencies.yml | 57 +- .pre-commit-config.yaml | 35 +- CHANGELOG.md | 65 + CONTRIBUTING.md | 20 - README.md | 110 +- docs/.linkchecker.ini | 1 + docs/_static/css/theme_overrides.css | 4 +- .../python/readthedocs/children.html.jinja | 2 +- docs/basic_usage.md | 5 +- docs/configuration.md | 21 +- docs/glossary.md | 3 + docs/known_words.txt | 2 + docs/macros.py | 16 +- docs/requirements.txt | 38 +- .../custom_device_driver_support.py | 11 +- .../2400/smu_2400_load_script_and_run.py | 2 +- .../2600/smu_2651_fast_adc_usage.py | 4 +- pyproject.toml | 39 +- .../.release_notes.md.j2 | 6 +- .../CHANGELOG.md.j2 | 6 +- scripts/check_unreleased_changelog_items.py | 70 - scripts/contributor_setup.py | 96 +- scripts/create_post_version_for_testpypi.py | 40 - scripts/project_version.py | 54 - scripts/pypi_latest_version.py | 76 - scripts/requirements.txt | 10 - scripts/update_development_dependencies.py | 124 - src/tm_devices/__init__.py | 2 + src/tm_devices/commands/__init__.py | 4 + src/tm_devices/commands/afg3k_commands.py | 14 +- src/tm_devices/commands/afg3kb_commands.py | 14 +- src/tm_devices/commands/afg3kc_commands.py | 14 +- src/tm_devices/commands/awg5200_commands.py | 16 +- src/tm_devices/commands/awg5k_commands.py | 16 +- src/tm_devices/commands/awg5kc_commands.py | 16 +- src/tm_devices/commands/awg70ka_commands.py | 16 +- src/tm_devices/commands/awg70kb_commands.py | 16 +- src/tm_devices/commands/awg7k_commands.py | 16 +- src/tm_devices/commands/awg7kc_commands.py | 16 +- src/tm_devices/commands/dpo2k_commands.py | 47 +- src/tm_devices/commands/dpo2kb_commands.py | 47 +- src/tm_devices/commands/dpo4k_commands.py | 51 +- src/tm_devices/commands/dpo4kb_commands.py | 51 +- src/tm_devices/commands/dpo5k_commands.py | 51 +- src/tm_devices/commands/dpo5kb_commands.py | 51 +- src/tm_devices/commands/dpo70kc_commands.py | 51 +- src/tm_devices/commands/dpo70kd_commands.py | 51 +- src/tm_devices/commands/dpo70kdx_commands.py | 51 +- src/tm_devices/commands/dpo70ksx_commands.py | 51 +- src/tm_devices/commands/dpo7k_commands.py | 51 +- src/tm_devices/commands/dpo7kc_commands.py | 51 +- src/tm_devices/commands/dsa70kc_commands.py | 51 +- src/tm_devices/commands/dsa70kd_commands.py | 51 +- .../commands/gen_4jiykk_dpo/errordetector.py | 6 +- .../commands/gen_4jiykk_dpo/rosc.py | 6 +- .../gen_5xwdsk_dpodsamso/errordetector.py | 6 +- .../__init__.py | 0 .../gen_c3g61_tekscopepc/actonevent.py | 652 + .../commands/gen_c3g61_tekscopepc/bus.py | 22873 +++++++ .../commands/gen_c3g61_tekscopepc/callouts.py | 879 + .../commands/gen_c3g61_tekscopepc/ch.py | 3196 + .../commands/gen_c3g61_tekscopepc/display.py | 16637 +++++ .../commands/gen_c3g61_tekscopepc/filesys.py | 86 + .../gen_c3g61_tekscopepc/histogram.py | 1811 + .../gen_c3g61_tekscopepc/horizontal.py | 507 + .../commands/gen_c3g61_tekscopepc/mask.py | 1398 + .../commands/gen_c3g61_tekscopepc/math.py | 5795 ++ .../commands/gen_c3g61_tekscopepc/measu.py | 1059 + .../gen_c3g61_tekscopepc/measurement.py | 27881 ++++++++ .../commands/gen_c3g61_tekscopepc/plot.py | 2209 + .../commands/gen_c3g61_tekscopepc/power.py | 22373 +++++++ .../commands/gen_c3g61_tekscopepc/ref.py | 831 + .../commands/gen_c3g61_tekscopepc/remote.py | 3117 + .../commands/gen_c3g61_tekscopepc/s.py | 990 + .../commands/gen_c3g61_tekscopepc/save.py | 1275 + .../gen_c3g61_tekscopepc/saveonevent.py | 404 + .../commands/gen_c3g61_tekscopepc/search.py | 54615 ++++++++++++++++ .../gen_c3g61_tekscopepc/searchtable.py | 48 + .../commands/gen_c3g61_tekscopepc/sv.py | 3013 + .../commands/gen_c3g61_tekscopepc/trigger.py | 901 + .../__init__.py | 0 .../lic.py | 2 +- .../license.py | 2 +- .../commands/gen_e3e9uu_lpdmso/ref.py | 1256 - .../__init__.py | 0 .../data.py | 2 +- .../eyemask.py | 2 +- .../matharbflt.py | 2 +- .../peakstable.py | 2 +- .../gen_e44yni_lpdmsotekscopepc/ref.py | 1281 + .../visual.py | 2 +- .../__init__.py | 0 .../autosavepitimeout.py | 2 +- .../autosaveuitimeout.py | 2 +- .../bustable.py | 2 +- .../configuration.py | 2 +- .../curve.py | 2 +- .../curvestream.py | 2 +- .../customtable.py | 2 +- .../date.py | 2 +- .../filesystem.py | 2 +- .../mainwindow.py | 2 +- .../meastable.py | 2 +- .../recall.py | 2 +- .../socketserver.py | 2 +- .../time.py | 2 +- .../undo.py | 2 +- .../vertical.py | 2 +- .../wfmoutpre.py | 2 +- .../__init__.py | 0 .../totaluptime.py | 2 +- .../__init__.py | 0 .../pause.py | 2 +- .../gen_fn2qbf_msodpo/errordetector.py | 6 +- .../commands/gen_fpx9s1_dpodsamso/rosc.py | 6 +- .../__init__.py | 0 .../miscellaneous.py | 67 + .../status_and_error.py | 2 +- .../__init__.py | 0 .../status_and_error.py | 2 +- .../miscellaneous.py | 46 +- .../__init__.py | 0 .../status_and_error.py | 2 +- .../__init__.py | 0 .../alias.py | 2 +- .../status_and_error.py | 2 +- .../miscellaneous.py | 25 - .../__init__.py | 0 .../allev.py | 2 +- .../busy.py | 2 +- .../dese.py | 2 +- .../event.py | 2 +- .../evmsg.py | 2 +- .../evqty.py | 2 +- .../factory.py | 2 +- .../header.py | 2 +- .../id.py | 2 +- .../miscellaneous.py | 47 + .../rem.py | 2 +- .../set.py | 2 +- .../status_and_error.py | 2 +- .../verbose.py | 2 +- .../wavfrm.py | 2 +- src/tm_devices/commands/lpd6_commands.py | 102 +- src/tm_devices/commands/mdo3_commands.py | 51 +- src/tm_devices/commands/mdo3k_commands.py | 51 +- src/tm_devices/commands/mdo4k_commands.py | 51 +- src/tm_devices/commands/mdo4kb_commands.py | 51 +- src/tm_devices/commands/mdo4kc_commands.py | 51 +- src/tm_devices/commands/mso2_commands.py | 93 +- src/tm_devices/commands/mso2k_commands.py | 47 +- src/tm_devices/commands/mso2kb_commands.py | 47 +- src/tm_devices/commands/mso4_commands.py | 102 +- src/tm_devices/commands/mso4b_commands.py | 102 +- src/tm_devices/commands/mso4k_commands.py | 51 +- src/tm_devices/commands/mso4kb_commands.py | 51 +- src/tm_devices/commands/mso5_commands.py | 102 +- src/tm_devices/commands/mso5b_commands.py | 102 +- src/tm_devices/commands/mso5k_commands.py | 51 +- src/tm_devices/commands/mso5kb_commands.py | 51 +- src/tm_devices/commands/mso5lp_commands.py | 102 +- src/tm_devices/commands/mso6_commands.py | 102 +- src/tm_devices/commands/mso6b_commands.py | 102 +- src/tm_devices/commands/mso70kc_commands.py | 51 +- src/tm_devices/commands/mso70kdx_commands.py | 51 +- .../commands/tekscopepc_commands.py | 3188 + src/tm_devices/components/dm_config_parser.py | 40 +- src/tm_devices/device_manager.py | 36 +- .../driver_mixins/signal_generator_mixin.py | 2 +- src/tm_devices/drivers/__init__.py | 23 +- src/tm_devices/drivers/device.py | 7 +- .../drivers/device_driver_mapping.py | 218 +- ..._channel.py => base_afg_source_channel.py} | 2 +- ...urce_channel.py => base_source_channel.py} | 0 .../pi/data_acquisition_systems/daq6510.py | 4 +- .../drivers/pi/digital_multimeters/dmm6500.py | 4 +- .../pi/digital_multimeters/dmm75xx/dmm7510.py | 4 +- .../pi/digital_multimeters/dmm75xx/dmm7512.py | 4 +- .../pi/digital_multimeters/dmm75xx/dmm75xx.py | 4 +- .../drivers/pi/ieee488_2_commands.py | 3 +- src/tm_devices/drivers/pi/pi_device.py | 25 +- .../pi/power_supplies/psu2200/psu2220.py | 4 +- .../pi/power_supplies/psu2200/psu2230.py | 4 +- .../pi/power_supplies/psu2200/psu2231.py | 4 +- .../pi/power_supplies/psu2200/psu2231a.py | 4 +- .../pi/power_supplies/psu2200/psu2280.py | 4 +- .../pi/power_supplies/psu2200/psu2281.py | 4 +- .../drivers/pi/scopes/tekscope/lpd6.py | 4 +- .../drivers/pi/scopes/tekscope/mso2.py | 4 +- .../drivers/pi/scopes/tekscope/mso4.py | 4 +- .../drivers/pi/scopes/tekscope/mso4b.py | 4 +- .../drivers/pi/scopes/tekscope/mso5.py | 4 +- .../drivers/pi/scopes/tekscope/mso5b.py | 4 +- .../drivers/pi/scopes/tekscope/mso5lp.py | 4 +- .../drivers/pi/scopes/tekscope/mso6.py | 4 +- .../drivers/pi/scopes/tekscope/mso6b.py | 4 +- .../drivers/pi/scopes/tekscope/tekscope.py | 11 +- .../drivers/pi/scopes/tekscope/tekscopesw.py | 43 +- .../drivers/pi/scopes/tekscope_2k/dpo2k.py | 4 +- .../drivers/pi/scopes/tekscope_2k/dpo2kb.py | 4 +- .../drivers/pi/scopes/tekscope_2k/mso2k.py | 4 +- .../drivers/pi/scopes/tekscope_2k/mso2kb.py | 4 +- .../pi/scopes/tekscope_2k/tekscope_2k.py | 4 + .../drivers/pi/scopes/tekscope_3k_4k/dpo4k.py | 4 +- .../pi/scopes/tekscope_3k_4k/dpo4kb.py | 4 +- .../drivers/pi/scopes/tekscope_3k_4k/mdo3.py | 4 +- .../drivers/pi/scopes/tekscope_3k_4k/mdo3k.py | 4 +- .../drivers/pi/scopes/tekscope_3k_4k/mdo4k.py | 4 +- .../pi/scopes/tekscope_3k_4k/mdo4kb.py | 4 +- .../pi/scopes/tekscope_3k_4k/mdo4kc.py | 4 +- .../drivers/pi/scopes/tekscope_3k_4k/mso4k.py | 4 +- .../pi/scopes/tekscope_3k_4k/mso4kb.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo5k.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo5kb.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo70k.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo70kc.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo70kd.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo70kdx.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo70ksx.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo7k.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dpo7kc.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dsa70k.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dsa70kc.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/dsa70kd.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/mso5k.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/mso5kb.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/mso70k.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/mso70kc.py | 4 +- .../pi/scopes/tekscope_5k_7k_70k/mso70kdx.py | 4 +- .../tekscope_5k_7k_70k/tekscope_5k_7k_70k.py | 4 +- src/tm_devices/drivers/pi/scopes/tso/tsovu.py | 4 +- .../drivers/pi/signal_generators/afgs/afg.py | 2 +- .../pi/signal_generators/afgs/afg31k.py | 4 +- .../pi/signal_generators/afgs/afg3k.py | 4 +- .../pi/signal_generators/afgs/afg3kb.py | 4 +- .../pi/signal_generators/afgs/afg3kc.py | 4 +- .../drivers/pi/signal_generators/awgs/awg.py | 2 +- .../pi/signal_generators/awgs/awg5200.py | 4 +- .../pi/signal_generators/awgs/awg5k.py | 4 +- .../pi/signal_generators/awgs/awg5kb.py | 4 +- .../pi/signal_generators/awgs/awg5kc.py | 4 +- .../pi/signal_generators/awgs/awg70ka.py | 4 +- .../pi/signal_generators/awgs/awg70kb.py | 4 +- .../pi/signal_generators/awgs/awg7k.py | 4 +- .../pi/signal_generators/awgs/awg7kb.py | 4 +- .../pi/signal_generators/awgs/awg7kc.py | 4 +- .../source_measure_units/smu24xx/smu2400.py | 4 +- .../source_measure_units/smu24xx/smu2401.py | 4 +- .../source_measure_units/smu24xx/smu2410.py | 4 +- .../source_measure_units/smu24xx/smu2450.py | 4 +- .../source_measure_units/smu24xx/smu2460.py | 4 +- .../source_measure_units/smu24xx/smu2461.py | 4 +- .../source_measure_units/smu24xx/smu2470.py | 4 +- .../smu24xx/smu24xx_standard.py | 9 +- .../source_measure_units/smu26xx/smu2601a.py | 4 +- .../source_measure_units/smu26xx/smu2601b.py | 4 +- .../smu26xx/smu2601b_pulse.py | 4 +- .../source_measure_units/smu26xx/smu2602a.py | 4 +- .../source_measure_units/smu26xx/smu2602b.py | 4 +- .../source_measure_units/smu26xx/smu2604a.py | 4 +- .../source_measure_units/smu26xx/smu2604b.py | 4 +- .../source_measure_units/smu26xx/smu2606b.py | 4 +- .../source_measure_units/smu26xx/smu2611a.py | 4 +- .../source_measure_units/smu26xx/smu2611b.py | 4 +- .../source_measure_units/smu26xx/smu2612a.py | 4 +- .../source_measure_units/smu26xx/smu2612b.py | 4 +- .../source_measure_units/smu26xx/smu2614a.py | 4 +- .../source_measure_units/smu26xx/smu2614b.py | 4 +- .../source_measure_units/smu26xx/smu2634a.py | 4 +- .../source_measure_units/smu26xx/smu2634b.py | 4 +- .../source_measure_units/smu26xx/smu2635a.py | 4 +- .../source_measure_units/smu26xx/smu2635b.py | 4 +- .../source_measure_units/smu26xx/smu2636a.py | 4 +- .../source_measure_units/smu26xx/smu2636b.py | 4 +- .../source_measure_units/smu26xx/smu2651a.py | 4 +- .../source_measure_units/smu26xx/smu2657a.py | 4 +- .../source_measure_units/smu60xx/smu6430.py | 4 +- .../source_measure_units/smu60xx/smu6514.py | 4 +- .../source_measure_units/smu60xx/smu6517b.py | 4 +- .../source_measure_units/smu60xx/smu6xxx.py | 5 +- .../drivers/pi/systems_switches/ss3706a.py | 4 +- src/tm_devices/drivers/pi/tsp_device.py | 75 +- src/tm_devices/helpers/__init__.py | 2 + .../helpers/constants_and_dataclasses.py | 232 +- src/tm_devices/helpers/enums.py | 2 +- src/tm_devices/helpers/functions.py | 37 +- src/tm_devices/helpers/stubgen.py | 4 +- tests/auto_gen_cmds_list.json | 145 + tests/conftest.py | 28 +- tests/requirements.txt | 28 +- tests/samples/golden_stubs/drivers/device.pyi | 6 + .../golden_stubs/drivers/pi/pi_device.pyi | 15 + .../golden_stubs/drivers/pi/tsp_device.pyi | 18 + tests/samples/sample_devices.toml | 1 + tests/samples/sample_devices.yaml | 1 + tests/samples/simulated_config.yaml | 1 + tests/sim_devices/daq/daq6510.yaml | 3 +- tests/sim_devices/devices.yaml | 11 +- tests/sim_devices/dmm/dmm6500.yaml | 3 +- tests/sim_devices/dmm/dmm7510.yaml | 3 +- tests/sim_devices/dmm/dmm7512.yaml | 3 +- tests/sim_devices/scope/mso2kb.yaml | 11 +- .../{tekscopesw.yaml => tekscopepc.yaml} | 6 +- tests/sim_devices/smu/smu2450.yaml | 3 +- tests/sim_devices/smu/smu2460.yaml | 3 +- tests/sim_devices/smu/smu2461.yaml | 3 +- tests/sim_devices/smu/smu2470.yaml | 3 +- tests/sim_devices/smu/smu2601a.yaml | 3 +- tests/sim_devices/smu/smu2601b.yaml | 10 +- tests/sim_devices/smu/smu2601b_pulse.yaml | 3 +- tests/sim_devices/smu/smu2602a.yaml | 3 +- tests/sim_devices/smu/smu2602b.yaml | 3 +- tests/sim_devices/smu/smu2604a.yaml | 3 +- tests/sim_devices/smu/smu2604b.yaml | 3 +- tests/sim_devices/smu/smu2606b.yaml | 3 +- tests/sim_devices/smu/smu2611a.yaml | 3 +- tests/sim_devices/smu/smu2611b.yaml | 3 +- tests/sim_devices/smu/smu2612a.yaml | 3 +- tests/sim_devices/smu/smu2612b.yaml | 3 +- tests/sim_devices/smu/smu2614a.yaml | 3 +- tests/sim_devices/smu/smu2614b.yaml | 3 +- tests/sim_devices/smu/smu2634a.yaml | 3 +- tests/sim_devices/smu/smu2634b.yaml | 3 +- tests/sim_devices/smu/smu2635a.yaml | 3 +- tests/sim_devices/smu/smu2635b.yaml | 3 +- tests/sim_devices/smu/smu2636a.yaml | 3 +- tests/sim_devices/smu/smu2636b.yaml | 3 +- tests/sim_devices/smu/smu2651a.yaml | 3 +- tests/sim_devices/smu/smu2657a.yaml | 3 +- tests/sim_devices/smu/smu6430.yaml | 1 + tests/sim_devices/smu/smu6514.yaml | 1 + tests/sim_devices/smu/smu6517b.yaml | 1 + tests/sim_devices/ss/ss3706a.yaml | 3 +- tests/test_afgs.py | 2 +- tests/test_all_device_drivers.py | 2 +- tests/test_config_parser.py | 16 +- tests/test_device_manager.py | 23 +- tests/test_docs.py | 2 +- tests/test_extension_mixin.py | 128 +- tests/test_generate_waveform.py | 12 +- tests/test_helpers.py | 4 +- tests/test_scopes.py | 28 +- tests/test_smu.py | 27 +- tests/test_tm_devices.py | 25 +- tests/test_unsupported_device_type.py | 4 + 358 files changed, 180251 insertions(+), 4369 deletions(-) create mode 100644 .github/workflows/enforce-community-standards.yml delete mode 100644 .github/workflows/tek-repo-lint.yml delete mode 100644 scripts/check_unreleased_changelog_items.py delete mode 100644 scripts/create_post_version_for_testpypi.py delete mode 100644 scripts/project_version.py delete mode 100644 scripts/pypi_latest_version.py delete mode 100644 scripts/requirements.txt delete mode 100644 scripts/update_development_dependencies.py rename src/tm_devices/commands/{gen_e6606z_lpdmsomdodpo => gen_c3g61_tekscopepc}/__init__.py (100%) create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/actonevent.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/bus.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/callouts.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/ch.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/display.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/filesys.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/histogram.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/horizontal.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/mask.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/math.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/measu.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/measurement.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/plot.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/power.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/ref.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/remote.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/s.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/save.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/saveonevent.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/search.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/searchtable.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/sv.py create mode 100644 src/tm_devices/commands/gen_c3g61_tekscopepc/trigger.py rename src/tm_devices/commands/{gen_e6lgg1_lpdmsodpomdo => gen_c69az_msotekscopepc}/__init__.py (100%) rename src/tm_devices/commands/{gen_1zn03_mso => gen_c69az_msotekscopepc}/lic.py (99%) rename src/tm_devices/commands/{gen_1zn03_mso => gen_c69az_msotekscopepc}/license.py (99%) rename src/tm_devices/commands/{gen_fteabn_lpdmsomdodpoafgawgdsa => gen_e44yni_lpdmsotekscopepc}/__init__.py (100%) rename src/tm_devices/commands/{gen_e3e9uu_lpdmso => gen_e44yni_lpdmsotekscopepc}/data.py (99%) rename src/tm_devices/commands/{gen_e3e9uu_lpdmso => gen_e44yni_lpdmsotekscopepc}/eyemask.py (99%) rename src/tm_devices/commands/{gen_e3e9uu_lpdmso => gen_e44yni_lpdmsotekscopepc}/matharbflt.py (98%) rename src/tm_devices/commands/{gen_e3e9uu_lpdmso => gen_e44yni_lpdmsotekscopepc}/peakstable.py (99%) create mode 100644 src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/ref.py rename src/tm_devices/commands/{gen_e3e9uu_lpdmso => gen_e44yni_lpdmsotekscopepc}/visual.py (99%) rename src/tm_devices/commands/{gen_fug7nl_lpdmsodpomdoawgdsa => gen_e47rsg_lpdmsotekscopepc}/__init__.py (100%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/autosavepitimeout.py (95%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/autosaveuitimeout.py (95%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/bustable.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/configuration.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/curve.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/curvestream.py (97%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/customtable.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/date.py (93%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/filesystem.py (99%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/mainwindow.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/meastable.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/recall.py (99%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/socketserver.py (99%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/time.py (98%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/undo.py (92%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/vertical.py (99%) rename src/tm_devices/commands/{gen_e3h2zs_lpdmso => gen_e47rsg_lpdmsotekscopepc}/wfmoutpre.py (99%) rename src/tm_devices/commands/{gen_fuzvln_lpdmsodpodsa => gen_e6bmgw_lpdmsotekscopepcdpomdo}/__init__.py (100%) rename src/tm_devices/commands/{gen_e6lgg1_lpdmsodpomdo => gen_e6bmgw_lpdmsotekscopepcdpomdo}/totaluptime.py (94%) create mode 100644 src/tm_devices/commands/gen_e6wozn_lpdmsotekscopepcmdodpo/__init__.py rename src/tm_devices/commands/{gen_e6606z_lpdmsomdodpo => gen_e6wozn_lpdmsotekscopepcmdodpo}/pause.py (97%) create mode 100644 src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/__init__.py create mode 100644 src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/miscellaneous.py rename src/tm_devices/commands/{gen_ft5uww_lpdmsodpomdoafgawgdsa => gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa}/status_and_error.py (99%) create mode 100644 src/tm_devices/commands/gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa/__init__.py rename src/tm_devices/commands/{gen_fteabn_lpdmsomdodpoafgawgdsa => gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa}/status_and_error.py (97%) create mode 100644 src/tm_devices/commands/gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa/__init__.py rename src/tm_devices/commands/{gen_fug7nl_lpdmsodpomdoawgdsa => gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa}/status_and_error.py (98%) create mode 100644 src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/__init__.py rename src/tm_devices/commands/{gen_fuzvln_lpdmsodpodsa => gen_fuq1mi_lpdmsotekscopepcdpodsa}/alias.py (99%) rename src/tm_devices/commands/{gen_fuzvln_lpdmsodpodsa => gen_fuq1mi_lpdmsotekscopepcdpodsa}/status_and_error.py (98%) create mode 100644 src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/__init__.py rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/allev.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/busy.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/dese.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/event.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/evmsg.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/evqty.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/factory.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/header.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/id.py (98%) create mode 100644 src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/miscellaneous.py rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/rem.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/set.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/status_and_error.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/verbose.py (98%) rename src/tm_devices/commands/{gen_fx54ua_lpdmsodpomdodsa => gen_fxvtmy_lpdmsotekscopepcdpomdodsa}/wavfrm.py (98%) create mode 100644 src/tm_devices/commands/tekscopepc_commands.py rename src/tm_devices/drivers/pi/{_base_afg_source_channel.py => base_afg_source_channel.py} (97%) rename src/tm_devices/drivers/pi/{_base_source_channel.py => base_source_channel.py} (100%) create mode 100644 tests/samples/golden_stubs/drivers/pi/pi_device.pyi create mode 100644 tests/samples/golden_stubs/drivers/pi/tsp_device.pyi rename tests/sim_devices/scope/{tekscopesw.yaml => tekscopepc.yaml} (88%) diff --git a/.github/workflows/check-api-for-breaking-changes.yml b/.github/workflows/check-api-for-breaking-changes.yml index 243342ee..3cfe8dd6 100644 --- a/.github/workflows/check-api-for-breaking-changes.yml +++ b/.github/workflows/check-api-for-breaking-changes.yml @@ -3,40 +3,8 @@ name: Check Public API for Breaking Changes on: pull_request: branches: [main] - workflow_call: - inputs: - package-name: - description: The name of the package to check. - required: true - type: string jobs: check-api-for-breaking-changes: - name: Check API for breaking changes - runs-on: ubuntu-latest - env: - PACKAGE_NAME: ${{ inputs.package-name || 'tm_devices' }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x # any version - check-latest: true - - name: Install package to check - run: | - pip install --upgrade . - pip install griffe - - name: Check API for breaking changes - continue-on-error: true - run: | - echo "## Breaking API Changes" > breaking_changes.md - echo "\`\`\`" >> breaking_changes.md - griffe check --format=verbose --against=$(git rev-parse origin/main) --search=src "$PACKAGE_NAME" 2>&1 | tee -a breaking_changes.md - - name: Finish writing summary file - run: echo "\`\`\`" >> breaking_changes.md - - uses: actions/upload-artifact@v4 - with: - name: breaking_changes - path: breaking_changes.md + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-check-api-for-breaking-changes.yml@v1.5.0 + with: + package-name: tm_devices diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 1691e278..19a17da6 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -4,32 +4,16 @@ on: push: branches: [main] pull_request: - # The branches below must be a subset of the branches above branches: [main] schedule: - cron: 17 16 * * 4 - workflow_call: jobs: analyze: - name: Analyze - runs-on: ubuntu-latest + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-codeql-analysis.yml@v1.5.0 + with: + languages-array: '["python", "javascript"]' + codeql-queries: security-extended,security-and-quality permissions: actions: read contents: read security-events: write - strategy: - fail-fast: false - matrix: - language: [python, javascript] - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - queries: security-extended,security-and-quality - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: /language:${{matrix.language}} diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 7960fad6..dab66770 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -3,7 +3,6 @@ name: Pull Request Dependency Review on: pull_request: branches: [main] - workflow_call: permissions: contents: read pull-requests: write diff --git a/.github/workflows/enforce-community-standards.yml b/.github/workflows/enforce-community-standards.yml new file mode 100644 index 00000000..c720f76a --- /dev/null +++ b/.github/workflows/enforce-community-standards.yml @@ -0,0 +1,10 @@ +--- +name: Enforce Open Source Community Standards +on: + push: + branches: [main] + pull_request: + branches: [main] +jobs: + enforce-community-standards: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-enforce-community-standards.yml@v1.5.0 diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml index a2155b16..370e4ba0 100644 --- a/.github/workflows/package-build.yml +++ b/.github/workflows/package-build.yml @@ -6,68 +6,18 @@ on: tags: ['*'] pull_request: branches: [main] - workflow_call: - inputs: - package-name: - description: The name of the package being installed. - required: true - type: string -env: - PACKAGE_NAME: ${{ inputs.package-name || 'tm_devices' }} +# Cancel running jobs for the same workflow and branch. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: - # Verify the package builds fine - build-package: - name: Build package - runs-on: ubuntu-latest - environment: package-build + package-build: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-package-build.yml@v1.5.0 + with: + package-name: tm_devices + python-versions-array: '["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]' # when updating this, make sure to update all workflows that use this strategy + operating-systems-array: '["ubuntu", "windows", "macos"]' permissions: + contents: read id-token: write attestations: write - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: hynek/build-and-inspect-python-package@v2.8.0 - id: build-pkg - with: - attest-build-provenance-github: ${{ !(github.event.pull_request.head.repo.fork || github.event.workflow_call.pull_request.head.repo.fork) && github.actor != 'dependabot[bot]' }} - install-package: - name: Install package - needs: build-package - runs-on: ${{ matrix.platform }} - strategy: - fail-fast: false - matrix: - platform: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] # when updating this, make sure to update all workflows that use this strategy - steps: - - name: Download built packages - uses: actions/download-artifact@v4 - with: - name: Packages - path: dist - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - check-latest: true - - name: Test installing wheel - shell: bash - run: pip install dist/*.whl - - name: Uninstall wheel - run: pip uninstall --yes "${{ env.PACKAGE_NAME }}" - - name: Test installing tarball - shell: bash - run: pip install dist/*.tar.gz - - name: Uninstall tarball - run: pip uninstall --yes "${{ env.PACKAGE_NAME }}" - # Check that all jobs passed - check-build-and-install-passed: - if: ${{ !cancelled() }} - needs: [build-package, install-package] - runs-on: ubuntu-latest - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 - with: - jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 385e943f..253bca76 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -3,208 +3,38 @@ name: Publish to GitHub & PyPI on: workflow_dispatch: inputs: - release_level: + release-level: type: choice required: true description: | - Select the release level, + Select the release level: patch for backward compatible minor changes and bug fixes, minor for backward compatible larger changes, major for non-backward compatible changes. options: [patch, minor, major] - workflow_call: - inputs: - package-name: - description: The name of the package to use to gate uploads. - required: true - type: string - release_level: - description: | - Select the release level, - patch for backward compatible minor changes and bug fixes, - minor for backward compatible larger changes, - major for non-backward compatible changes. - required: true - type: string concurrency: group: pypi -env: - REPO_NAME: tektronix/${{ inputs.package-name || 'tm_devices' }} - PACKAGE_NAME: ${{ inputs.package-name || 'tm_devices' }} jobs: - print-inputs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x - - name: Check for unreleased entries in the Changelog - run: python scripts/check_unreleased_changelog_items.py - - name: Create summary of workflow inputs and incoming changes - run: | - echo "## Workflow Inputs" >> $GITHUB_STEP_SUMMARY - echo "- release_level: ${{ inputs.release_level }}" >> $GITHUB_STEP_SUMMARY - echo "## Incoming Changes" >> $GITHUB_STEP_SUMMARY - cat python_semantic_release_templates/.previous_release_notes_for_template.md >> $GITHUB_STEP_SUMMARY - - name: Set outputs - id: variables - run: echo "repo-name=$REPO_NAME" >> $GITHUB_OUTPUT - outputs: - repo-name: ${{ steps.variables.outputs.repo-name }} - # This job requires a Personal Access Token (Classic) with - # the public_repo permission. It also needs a private/public - # ssh key pair that can be used for signing. The public key must - # be attached to the account as an SSH signing key. - pypi-version: - name: Update package version - needs: [print-inputs] - if: github.repository == needs.print-inputs.outputs.repo-name && github.ref == - 'refs/heads/main' - runs-on: ubuntu-latest - environment: package-release-gate + package-release: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-package-release.yml@v1.5.0 + with: + package-name: tm_devices + repo-name: tektronix/tm_devices + commit-user-name: ${{ vars.TEK_OPENSOURCE_NAME }} + commit-user-email: ${{ vars.TEK_OPENSOURCE_EMAIL }} + release-level: ${{ inputs.release-level }} + build-and-publish-python-package: true + python-versions-array: '["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]' # when updating this, make sure to update all workflows that use this strategy + operating-systems-array: '["ubuntu", "windows", "macos"]' + previous-changelog-filepath: python_semantic_release_templates/.previous_changelog_for_template.md + previous-release-notes-filepath: python_semantic_release_templates/.previous_release_notes_for_template.md permissions: - id-token: write contents: write - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x - check-latest: true - - name: Check for unreleased entries in the Changelog and copy files to templates - run: | - python scripts/check_unreleased_changelog_items.py - git config --global tag.gpgSign true - - name: Python Semantic Release - uses: python-semantic-release/python-semantic-release@v9.8.3 - id: release - with: - force: ${{ inputs.release_level }} - root_options: -v --strict - github_token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} - git_committer_email: ${{ vars.TEK_OPENSOURCE_EMAIL }} - git_committer_name: ${{ vars.TEK_OPENSOURCE_NAME }} - ssh_public_signing_key: ${{ secrets.TEK_OPENSOURCE_SSH_SIGNING_KEY_PUBLIC }} - ssh_private_signing_key: ${{ secrets.TEK_OPENSOURCE_SSH_SIGNING_KEY_PRIVATE }} - outputs: - built-version: ${{ steps.release.outputs.version }} - pypi-build: - name: Build package - needs: [print-inputs, pypi-version] - if: github.repository == needs.print-inputs.outputs.repo-name && github.ref == - 'refs/heads/main' - runs-on: ubuntu-latest - permissions: id-token: write attestations: write - steps: - - uses: actions/checkout@v4 - with: - ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow - fetch-depth: 0 - - name: Build package - uses: hynek/build-and-inspect-python-package@v2.8.0 - with: - attest-build-provenance-github: 'true' - upload-testpypi: - name: Upload package to TestPyPI - needs: [print-inputs, pypi-build] - if: github.repository == needs.print-inputs.outputs.repo-name && github.ref == - 'refs/heads/main' - runs-on: ubuntu-latest - environment: package-testpypi - permissions: - id-token: write - steps: - - name: Download built packages - uses: actions/download-artifact@v4 - with: - name: Packages - path: dist - - name: Upload package to Test PyPI - uses: pypa/gh-action-pypi-publish@v1.9.0 - with: - repository-url: https://test.pypi.org/legacy/ - upload-pypi: - name: Upload package to PyPI - needs: [print-inputs, upload-testpypi] - if: github.repository == needs.print-inputs.outputs.repo-name && github.ref == - 'refs/heads/main' - runs-on: ubuntu-latest - environment: package-release - permissions: - id-token: write - steps: - - name: Download built packages - uses: actions/download-artifact@v4 - with: - name: Packages - path: dist - - name: Upload package to PyPI - uses: pypa/gh-action-pypi-publish@v1.9.0 - upload-github: - name: Upload package to GitHub Release - needs: [print-inputs, upload-pypi] - if: github.repository == needs.print-inputs.outputs.repo-name && github.ref == - 'refs/heads/main' - runs-on: ubuntu-latest - permissions: - id-token: write - contents: write - steps: - - uses: actions/checkout@v4 - with: - ref: main # Make sure to check out the latest commit on main, not the original commit that triggered the workflow - fetch-depth: 0 - - name: Download built packages - uses: actions/download-artifact@v4 - with: - name: Packages - path: dist - - name: Publish package distributions to GitHub Releases - uses: python-semantic-release/upload-to-gh-release@main - with: - root_options: -v --strict - github_token: ${{ secrets.GITHUB_TOKEN }} - pypi-install: - name: Install package - needs: - - print-inputs - - pypi-version - - pypi-build - - upload-testpypi - - upload-pypi - - upload-github - if: github.repository == needs.print-inputs.outputs.repo-name && github.ref == - 'refs/heads/main' - runs-on: ${{ matrix.platform }} - strategy: - fail-fast: false - matrix: - platform: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] # when updating this, make sure to update all workflows that use this strategy - index_urls: - - '' - - ' --index-url=https://test.pypi.org/simple/ --extra-index-url=https://pypi.org/simple' - steps: - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - check-latest: true - - name: Test installing package - # A retry is used to allow for some downtime before the package is installable - uses: nick-fields/retry@v3 - with: - timeout_minutes: 10 - max_attempts: 5 - retry_wait_seconds: 30 - warning_on_retry: false - command: pip install${{ matrix.index_urls }} "${{ env.PACKAGE_NAME }}==${{ - needs.pypi-version.outputs.built-version }}" + secrets: + checkout-token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} + ssh-signing-key-private: ${{ secrets.TEK_OPENSOURCE_SSH_SIGNING_KEY_PRIVATE }} + ssh-signing-key-public: ${{ secrets.TEK_OPENSOURCE_SSH_SIGNING_KEY_PUBLIC }} + pypi-api-token: ${{ secrets.PYPI_API_TOKEN }} + test-pypi-api-token: ${{ secrets.TEST_PYPI_API_TOKEN }} diff --git a/.github/workflows/package-testpypi.yml b/.github/workflows/package-testpypi.yml index 294cc597..3a1cd048 100644 --- a/.github/workflows/package-testpypi.yml +++ b/.github/workflows/package-testpypi.yml @@ -1,100 +1,19 @@ --- -# Upload to Test PyPI on every push to main name: Publish to TestPyPI on: push: branches: [main] - workflow_call: - inputs: - package-name: - description: The name of the package to use to gate uploads. - required: true - type: string concurrency: group: pypi -env: - REPO_NAME: tektronix/${{ inputs.package-name || 'tm_devices' }} - PACKAGE_NAME: ${{ inputs.package-name || 'tm_devices' }} jobs: - job-variables: - name: Set variables for other jobs to use - runs-on: ubuntu-latest - steps: - - name: Set variables - id: variables - run: echo "repo-name=$REPO_NAME" >> $GITHUB_OUTPUT - outputs: - repo-name: ${{ steps.variables.outputs.repo-name }} - test-pypi-build: - name: Build package with unique version for test.pypi.org - needs: [job-variables] - if: github.repository == needs.job-variables.outputs.repo-name - runs-on: ubuntu-latest + package-testpypi: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-package-testpypi.yml@v1.5.0 + with: + package-name: tm_devices + repo-name: tektronix/tm_devices permissions: + contents: read id-token: write attestations: write - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x - check-latest: true - - name: Install workflow dependencies - run: pip install -r scripts/requirements.txt - - name: Create unique package version - id: create-version - run: | - CURRENT_VERSION=$(python scripts/pypi_latest_version.py --package="$PACKAGE_NAME" --index=test.pypi) - echo CURRENT_VERSION: $CURRENT_VERSION - NEW_VERSION=$(python scripts/create_post_version_for_testpypi.py --version=$CURRENT_VERSION) - echo NEW_VERSION: $NEW_VERSION - python scripts/project_version.py --set-version=$NEW_VERSION - echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT - - name: Build package - uses: hynek/build-and-inspect-python-package@v2.8.0 - with: - attest-build-provenance-github: 'true' - outputs: - built-version: ${{ steps.create-version.outputs.NEW_VERSION }} - test-pypi-upload: - name: Upload package to test.pypi.org - needs: [job-variables, test-pypi-build] - if: github.repository == needs.job-variables.outputs.repo-name - runs-on: ubuntu-latest - environment: package-testpypi - permissions: - id-token: write - steps: - - name: Download built packages - uses: actions/download-artifact@v4 - with: - name: Packages - path: dist - - name: Upload package to Test PyPI - uses: pypa/gh-action-pypi-publish@v1.9.0 - with: - repository-url: https://test.pypi.org/legacy/ - test-pypi-install: - name: Install package from test.pypi.org - needs: [job-variables, test-pypi-build, test-pypi-upload] - if: github.repository == needs.job-variables.outputs.repo-name - runs-on: ubuntu-latest - steps: - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x - check-latest: true - - name: Test installing from test.pypi.org - # A retry is used to allow for some downtime before the package is installable - uses: nick-fields/retry@v3 - with: - timeout_minutes: 10 - max_attempts: 5 - retry_wait_seconds: 30 - warning_on_retry: false - command: pip install --index-url=https://test.pypi.org/simple/ --extra-index-url=https://pypi.org/simple - "$PACKAGE_NAME==${{ needs.test-pypi-build.outputs.built-version }}" + secrets: + test-pypi-api-token: ${{ secrets.TEST_PYPI_API_TOKEN }} diff --git a/.github/workflows/publish-api-comparison.yml b/.github/workflows/publish-api-comparison.yml index 12b5c062..25f07662 100644 --- a/.github/workflows/publish-api-comparison.yml +++ b/.github/workflows/publish-api-comparison.yml @@ -4,83 +4,9 @@ on: workflow_run: workflows: [Check Public API for Breaking Changes] types: [completed] - workflow_call: jobs: - publish-test-results: - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.event == 'pull_request' && !contains(fromJSON('["skipped", "cancelled", "failed"]'), github.event.workflow_run.conclusion) }} + publish-api-comparison: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-publish-api-comparison.yml@v1.5.0 permissions: checks: write pull-requests: write - steps: - - name: Download and Extract Artifacts - uses: dawidd6/action-download-artifact@v6 - with: - run_id: ${{ github.event.workflow_run.id }} - name: breaking_changes - path: artifacts - - name: Check for breaking changes - run: | - if grep -Pzl '\n```\n```' artifacts/breaking_changes.md; then - echo "BREAKING_CHANGES=false" >> $GITHUB_ENV - else - echo "BREAKING_CHANGES=true" >> $GITHUB_ENV - fi - - name: Fetch PR number - id: pr - uses: actions/github-script@v7 - with: - script: | - const maxAttempts = 5; - let attempt = 0; - let pullRequestNumber; - while (attempt < maxAttempts) { - try { - const response = await github.rest.search.issuesAndPullRequests({ - q: 'repo:${{ github.repository }} is:pr sha:${{ github.event.workflow_run.head_sha }}', - per_page: 1, - }); - const items = response.data.items; - if (items.length < 1) { - throw new Error('No PRs found'); - } - pullRequestNumber = items[0].number; - console.info("Pull request number is", pullRequestNumber); - break; // Exit loop on success - } catch (error) { - console.error(`Attempt ${attempt + 1} failed:`, error.message); - if (attempt < maxAttempts - 1) { // Check if not last attempt - console.log(`Waiting for 2 minutes before retrying...`); - await new Promise(resolve => setTimeout(resolve, 120000)); // Wait for 2 minutes - } - } - attempt++; - } - if (!pullRequestNumber) { - core.setFailed("Failed to fetch PR number after 5 attempts"); - } - return pullRequestNumber; - - name: Publish API Breaking Changes Check Results - uses: marocchino/sticky-pull-request-comment@v2 - if: ${{ env.BREAKING_CHANGES == 'true' }} - with: - header: breaking-api-changes - number: ${{ steps.pr.outputs.result }} - recreate: true - path: artifacts/breaking_changes.md - - name: Add workflow link to comment - if: ${{ env.BREAKING_CHANGES == 'true' }} - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: breaking-api-changes - number: ${{ steps.pr.outputs.result }} - append: true - message: |- -

Link to workflow run

- - name: Delete comment if no breaking changes are found - if: ${{ env.BREAKING_CHANGES == 'false' }} - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: breaking-api-changes - number: ${{ steps.pr.outputs.result }} - delete: true diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 41c5fbe3..5275ad06 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -4,71 +4,11 @@ on: workflow_run: workflows: [Test code] types: [completed] - workflow_call: jobs: publish-test-results: - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.event == 'pull_request' && !contains(fromJSON('["skipped", "cancelled"]'), github.event.workflow_run.conclusion) }} - strategy: - fail-fast: false - matrix: - os_name: [ubuntu, windows, macos] + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-publish-test-results.yml@v1.5.0 + with: + operating-systems-array: '["ubuntu", "windows", "macos"]' permissions: checks: write pull-requests: write - steps: - - name: Download and Extract Artifacts - uses: dawidd6/action-download-artifact@v6 - with: - run_id: ${{ github.event.workflow_run.id }} - name: artifact_${{ matrix.os_name }}_tests - path: artifacts - - name: Fetch PR number - id: pr - uses: actions/github-script@v7 - with: - script: | - const maxAttempts = 5; - let attempt = 0; - let pullRequestNumber; - while (attempt < maxAttempts) { - try { - const response = await github.rest.search.issuesAndPullRequests({ - q: 'repo:${{ github.repository }} is:pr sha:${{ github.event.workflow_run.head_sha }}', - per_page: 1, - }); - const items = response.data.items; - if (items.length < 1) { - throw new Error('No PRs found'); - } - pullRequestNumber = items[0].number; - console.info("Pull request number is", pullRequestNumber); - break; // Exit loop on success - } catch (error) { - console.error(`Attempt ${attempt + 1} failed:`, error.message); - if (attempt < maxAttempts - 1) { // Check if not last attempt - console.log(`Waiting for 2 minutes before retrying...`); - await new Promise(resolve => setTimeout(resolve, 120000)); // Wait for 2 minutes - } - } - attempt++; - } - if (!pullRequestNumber) { - core.setFailed("Failed to fetch PR number after 5 attempts"); - } - return pullRequestNumber; - - name: Publish Test Results - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: test-results-${{ matrix.os_name }} - number: ${{ steps.pr.outputs.result }} - recreate: true - path: artifacts/.results_tests/github_report.md - - name: Add workflow link to comment - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: test-results-${{ matrix.os_name }} - number: ${{ steps.pr.outputs.result }} - append: true - message: |- -

Link to workflow run

diff --git a/.github/workflows/sbom-scan.yml b/.github/workflows/sbom-scan.yml index 0fc093f5..d088152c 100644 --- a/.github/workflows/sbom-scan.yml +++ b/.github/workflows/sbom-scan.yml @@ -7,48 +7,11 @@ on: branches: [main] release: types: [published] - workflow_call: jobs: - create-and-scan-sbom: - runs-on: ubuntu-latest + sbom-scan: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-sbom-scan.yml@v1.5.0 permissions: security-events: write contents: write id-token: write attestations: write - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: x # any version - - name: Create lockfile - run: | - pip install poetry - poetry lock - - name: Create SBOM - uses: anchore/sbom-action@v0 - with: - format: spdx-json - output-file: ${{ github.event.repository.name }}-sbom.spdx.json - - uses: actions/attest-build-provenance@v1 - if: ${{ !(github.event.pull_request.head.repo.fork || github.event.workflow_call.pull_request.head.repo.fork) && github.actor != 'dependabot[bot]' }} - with: - subject-path: ${{ github.event.repository.name }}-sbom.spdx.json - - name: Scan SBOM - uses: anchore/scan-action@v4 - id: scan - with: - sbom: ${{ github.event.repository.name }}-sbom.spdx.json - fail-build: true - severity-cutoff: low - - name: Upload SBOM scan SARIF report as a workflow artifact - uses: actions/upload-artifact@v4 - with: - name: sarif_artifact - path: ${{ steps.scan.outputs.sarif }} - if-no-files-found: error - - name: Upload SBOM scan SARIF report to GitHub UI Security tab - if: ${{ github.event_name != 'pull_request' }} - uses: github/codeql-action/upload-sarif@v3 - with: - sarif_file: ${{ steps.scan.outputs.sarif }} diff --git a/.github/workflows/tek-repo-lint.yml b/.github/workflows/tek-repo-lint.yml deleted file mode 100644 index 3f121da4..00000000 --- a/.github/workflows/tek-repo-lint.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: tek-repo-lint -on: - push: - branches: [main] - pull_request: - branches: [main] - workflow_dispatch: - workflow_call: -# IMPORTANT: Any new jobs need to be added to the check-repo-lint-passed job to ensure they correctly gate code changes -jobs: - enforce-community-standards: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - filename: - - .github/CODEOWNERS - - README.@(md|rst) - - CODE_OF_CONDUCT.@(md|rst) - - CONTRIBUTING.@(md|rst) - - LICENSE.@(md|rst) - - SECURITY.@(md|rst) - - .github/ISSUE_TEMPLATE/bug_report.yml - - .github/ISSUE_TEMPLATE/feature_request.yml - - .github/PULL_REQUEST_TEMPLATE.md - - .github/dependabot.yml - - .github/workflows/codeql-analysis.yml - steps: - - uses: actions/checkout@v4 - - name: Ensure ${{ matrix.filename }} exists - uses: andstor/file-existence-action@v3 - with: - files: ${{ matrix.filename }} - ignore_case: false - follow_symbolic_links: false - fail: true # Set the step to fail if the file doesn't exist - # Check that all jobs passed - check-repo-lint-passed: - if: ${{ !cancelled() }} - needs: [enforce-community-standards] - runs-on: ubuntu-latest - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 - with: - jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/test-code.yml b/.github/workflows/test-code.yml index d3826123..ce2edac1 100644 --- a/.github/workflows/test-code.yml +++ b/.github/workflows/test-code.yml @@ -5,118 +5,16 @@ on: branches: [main] pull_request: branches: [main] - workflow_call: - inputs: - repo-name: - description: The name of the repository to use to gate Codecov uploads. - required: true - type: string -# Cancel running jobs for the same workflow and branch. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} -# IMPORTANT: Any new jobs need to be added to the check-tests-passed job to ensure they correctly gate code changes jobs: - # Basic testing & linting - test-general: - runs-on: ${{ matrix.platform }} - strategy: - fail-fast: false - matrix: - platform: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] # when updating this, make sure to update all workflows that use this strategy - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - check-latest: true - - name: Install dependencies - run: python -m pip install tox tox-gh-actions - - name: Run tox - run: tox -v - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: artifact_${{ matrix.platform }}_${{ matrix.python-version }}_tests_and_linting - path: | - .results_*/** - .coverage* - # Quick testing with coverage (no linting) - test-fast: - runs-on: ${{ matrix.os_name }}-latest - env: - REPO_NAME: tektronix/${{ inputs.repo-name || 'tm_devices' }} - pytest_report_title: Test Results (${{ matrix.os_name }}) - strategy: - fail-fast: false - matrix: - os_name: [ubuntu, windows, macos] - steps: - - uses: actions/checkout@v4 - - if: ${{ inputs.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ inputs.node-version }} - - if: ${{ inputs.node-version }} - name: Install non-python documentation dependencies - run: | - npm install -g @mermaid-js/mermaid-cli - sudo apt install --no-install-recommends --assume-yes graphviz - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x # any version - check-latest: true - - name: Install tox - run: python -m pip install tox - - name: Test - run: tox -ve tests - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: artifact_${{ matrix.os_name }}_tests - path: | - .results_*/** - .coverage* - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4.5.0 - if: ${{ github.repository == env.REPO_NAME && !cancelled() }} - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./.coverage_tests.xml - name: codecov-${{ matrix.os_name }} - fail_ci_if_error: true - verbose: true - create-job-summary: - name: Test Results - if: ${{ !cancelled() }} - needs: test-fast - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/download-artifact@v4 - with: - path: artifacts - - name: Generate Summary - uses: phoenix-actions/test-reporting@v15 - with: - name: Test Results - only-summary: false - output-to: step-summary - path: artifacts/**/.results_tests/results.xml - reporter: java-junit - fail-on-error: false - max-annotations: 0 - # Check that all jobs passed - check-tests-passed: - if: ${{ !cancelled() }} - needs: [test-general, test-fast, create-job-summary] - runs-on: ubuntu-latest - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 - with: - jobs: ${{ toJSON(needs) }} + test-code: + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-test-code.yml@v1.5.0 + with: + repo-name: tektronix/tm_devices + operating-systems-array: '["ubuntu", "windows", "macos"]' + python-versions-array: '["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]' # when updating this, make sure to update all workflows that use this strategy + upload-to-codecov: true + secrets: + codecov-token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index 038e5ba2..bbb81b5e 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -5,67 +5,13 @@ on: branches: [main] pull_request: branches: [main] - workflow_call: # In order to use this workflow, the caller must have a tox configuration that includes both a "docs" and "doctests" environment. - inputs: - node-version: - description: The version of Node.js to install. This workflow also installs - mermaid-cli via npm and graphviz via apt. - required: true - type: number - python-version: - description: The version of Python to use for this workflow. - required: true - type: string -# Cancel running jobs for the same workflow and branch. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} -# IMPORTANT: Any new jobs need to be added to the check-docs-passed job to ensure they correctly gate code changes jobs: test-docs: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - tox_env: [docs, doctests] - env: - NODE_VERSION: ${{ inputs.node-version || 20 }} # The node version needs to stay in sync with .readthedocs.yml - PYTHON_VERSION: ${{ inputs.node-version || '3.11' }} # This needs to stay in sync with .readthedocs.yml and the tox config in pyproject.toml - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE_VERSION }} - - name: Install non-python documentation dependencies - run: | - npm install --global @mermaid-js/mermaid-cli - sudo apt install --no-install-recommends --assume-yes graphviz - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ env.PYTHON_VERSION }} - - name: Install tox - run: python -m pip install tox - - name: Test - run: tox -ve ${{ matrix.tox_env }} - - uses: thedoctor0/zip-release@0.7.6 - if: ${{ !cancelled() }} - with: - type: zip - filename: ${{ matrix.tox_env }}_results.zip - path: .results_${{ matrix.tox_env }}/ - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: artifact_${{ matrix.tox_env }} - path: ${{ matrix.tox_env }}_results.zip - # Check that all jobs passed - check-docs-passed: - if: ${{ !cancelled() }} - needs: [test-docs] - runs-on: ubuntu-latest - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 - with: - jobs: ${{ toJSON(needs) }} + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-test-docs.yml@v1.5.0 + with: + node-version: 20 # The node version needs to stay in sync with .readthedocs.yml + python-version: '3.11' # This needs to stay in sync with .readthedocs.yml and the tox config in pyproject.toml + tox-env-array: '["docs", "doctests"]' diff --git a/.github/workflows/update-python-and-pre-commit-dependencies.yml b/.github/workflows/update-python-and-pre-commit-dependencies.yml index a68551ea..919ea0b8 100644 --- a/.github/workflows/update-python-and-pre-commit-dependencies.yml +++ b/.github/workflows/update-python-and-pre-commit-dependencies.yml @@ -3,49 +3,22 @@ name: Update python linting dependencies in-sync with pre-commit on: pull_request: branches: [main] - workflow_call: - inputs: - pre-commit-hook-skip-list: - description: A comma-separated list of pre-commit hooks to skip during this - job. - required: false - type: string jobs: - update-python-and-pre-commit-deps: - name: Update python linters and pre-commit dependencies - runs-on: ubuntu-latest + update-python-and-pre-commit-dependencies: if: ${{ github.actor == 'dependabot[bot]' && contains(github.head_ref, '/pip/') }} + uses: tektronix/python-package-ci-cd/.github/workflows/_reusable-update-python-and-pre-commit-dependencies.yml@v1.5.0 + with: + commit-user-name: ${{ vars.TEK_OPENSOURCE_NAME }} + commit-user-email: ${{ vars.TEK_OPENSOURCE_EMAIL }} + dependency-dict: '{"tests": ["ruff"]}' + update-pre-commit: true + run-pre-commit: true + pre-commit-hook-skip-list: pylint,pyright,pyright-verifytypes,pyroma,poetry-audit + pre-commit-repo-update-skip-list: https://github.com/executablebooks/mdformat + export-dependency-groups: docs,tests permissions: contents: write - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: ${{ github.head_ref }} - token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: x # any version - check-latest: true - - name: Install workflow dependencies - run: pip install -r scripts/requirements.txt - - uses: crazy-max/ghaction-import-gpg@v6 - with: - gpg_private_key: ${{ secrets.TEK_OPENSOURCE_GPG_SIGNING_KEY_PRIVATE }} - passphrase: ${{ secrets.TEK_OPENSOURCE_GPG_SIGNING_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - name: Run updater script - run: python scripts/update_development_dependencies.py --no-install - - name: Run pre-commit - continue-on-error: true - env: - SKIP: ${{ inputs.pre-commit-hook-skip-list || 'pylint,pyright,pyright-verifytypes,pyroma,poetry-audit' }} - run: python -m pre_commit run --all - - uses: stefanzweifel/git-auto-commit-action@v5 - with: - commit_message: 'ci: Update python linters and pre-commit dependencies.' - commit_user_name: ${{ vars.TEK_OPENSOURCE_NAME }} - commit_user_email: ${{ vars.TEK_OPENSOURCE_EMAIL }} - commit_author: ${{ vars.TEK_OPENSOURCE_NAME }} <${{ vars.TEK_OPENSOURCE_EMAIL }}> + secrets: + checkout-token: ${{ secrets.TEK_OPENSOURCE_TOKEN }} + gpg-signing-key-private: ${{ secrets.TEK_OPENSOURCE_GPG_SIGNING_KEY_PRIVATE }} + gpg-signing-key-passphrase: ${{ secrets.TEK_OPENSOURCE_GPG_SIGNING_KEY_PASSPHRASE }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a557b518..918e952f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,31 +39,27 @@ repos: - id: remove-tabs - id: forbid-tabs - repo: https://github.com/python-jsonschema/check-jsonschema - rev: e2dde74d0702d15f4f43e4f4fb93e301b4bc1e30 # frozen: 0.29.1 + rev: 5c70e3d884fdbe99af42f2714a444e39f321498d # frozen: 0.29.2 hooks: - id: check-readthedocs - id: check-dependabot - id: check-github-actions - id: check-github-workflows args: [--verbose] + - repo: https://github.com/Mateusz-Grzelinski/actionlint-py + rev: c01fb5723b54075325cd9b5e5665a9ae84baf950 # frozen: v1.7.1.15 + hooks: + - id: actionlint + additional_dependencies: [pyflakes, shellcheck-py] - repo: https://github.com/commitizen-tools/commitizen rev: d7e01aa9b0cfe3c1b732e66d523bbd0656221127 # frozen: v3.29.0 hooks: - id: commitizen stages: [commit-msg] - - repo: https://github.com/adamchainz/blacken-docs - rev: 4c97c4a0d921007af6fefae92d8447cfbf63720b # frozen: 1.18.0 - hooks: - - id: blacken-docs - files: \.(rst|md|markdown|tex)$ - additional_dependencies: [black==24.4.2] # This may need to be updated/removed in the future once ruff supports formatting python code blocks in markdown - args: [--line-length=100] - repo: https://github.com/lyz-code/yamlfix - rev: 47039c9bf8039e81f092c9777a1bc8be32fb7870 # frozen: 1.16.0 + rev: 8072181c0f2eab9f2dd8db2eb3b9556d7cd0bd74 # frozen: 1.17.0 hooks: - id: yamlfix - additional_dependencies: - - maison<2.0.0 # TODO: get this working # - repo: https://github.com/motet-a/jinjalint # rev: "0.5" @@ -81,6 +77,7 @@ repos: additional_dependencies: - setuptools # This is required since Python 3.12 no longer installs setuptools by default in virtual environments - mdformat-admon + - mdformat-black # This may need to be updated/removed in the future once ruff supports formatting python code blocks in markdown - mdformat-beautysh - mdformat-config - mdformat-footnote @@ -141,13 +138,19 @@ repos: always_run: true args: [audit, --json, --ignore-code=CVE-2019-8341] - repo: https://github.com/astral-sh/ruff-pre-commit +<<<<<<< HEAD rev: 8b5112a3b2ad121439a2092f8ff548c0d80f2514 # frozen: v0.6.1 + +======= + rev: 24d039e647a08707e6cb31e75e01844eeff925e7 # frozen: v0.6.2 +>>>>>>> 266e6b6 (Convert to using reusable workflows from the `tektronix/python-package-ci-cd` repo (#284)) hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - id: ruff-format - - repo: https://github.com/PyCQA/docformatter - rev: dfefe062799848234b4cd60b04aa633c0608025e # frozen: v1.7.5 - hooks: - - id: docformatter - additional_dependencies: [tomli] + # TODO: Re-enable this once https://github.com/PyCQA/docformatter/issues/293 is resolved + # - repo: https://github.com/PyCQA/docformatter + # rev: dfefe062799848234b4cd60b04aa633c0608025e # frozen: v1.7.5 + # hooks: + # - id: docformatter + # additional_dependencies: [tomli] diff --git a/CHANGELOG.md b/CHANGELOG.md index 1356684a..53589763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,72 @@ Things to be included in the next release go here. ### Added +- `collectgarbage()` is now called during cleanup of `TSPDevice` children. + +--- + +### Added + +- Added USB Support for AFG31K and MDO3 models. + +## v2.4.0 (2024-09-19) + +### Merged Pull Requests + +- Update TSPDevice.load_script() to accept raw strings ([#308](https://github.com/tektronix/tm_devices/pull/308)) +- fix: Update stub generation helper function to handle classes followed by dataclasses ([#307](https://github.com/tektronix/tm_devices/pull/307)) +- Add function to register USBTMC connection information for devices that don't have native USBTMC connection support in tm_devices ([#306](https://github.com/tektronix/tm_devices/pull/306)) +- python-deps(deps-dev): Bump the python-dependencies group with 2 updates ([#304](https://github.com/tektronix/tm_devices/pull/304)) +- fix: Ensure that the default VISA timeout value is not overwritten if a new config is loaded that doesn't specify a default VISA timeout. ([#303](https://github.com/tektronix/tm_devices/pull/303)) +- gh-actions(deps): Bump tektronix/python-package-ci-cd ([#287](https://github.com/tektronix/tm_devices/pull/287)) +- chore: Bump the version of tektronix/python-package-ci-cd to v1.3.0 in workflows ([#301](https://github.com/tektronix/tm_devices/pull/301)) +- build: Update license identifier ([#299](https://github.com/tektronix/tm_devices/pull/299)) +- python-deps(deps): Bump the python-dependencies group with 3 updates ([#300](https://github.com/tektronix/tm_devices/pull/300)) +- Enable customizing the default visa timeout ([#293](https://github.com/tektronix/tm_devices/pull/293)) +- python-deps(deps-dev): Bump the python-dependencies group with 4 updates ([#296](https://github.com/tektronix/tm_devices/pull/296)) +- Update python-pacage-ci-cd to v1.1.0 and use tokens to upload to PyPI ([#291](https://github.com/tektronix/tm_devices/pull/291)) +- python-deps(deps): Bump the python-dependencies group across 1 directory with 2 updates ([#288](https://github.com/tektronix/tm_devices/pull/288)) +- chore: Remove an unneeded development dependency ([#286](https://github.com/tektronix/tm_devices/pull/286)) +- Convert to using reusable workflows from the `tektronix/python-package-ci-cd` repo ([#284](https://github.com/tektronix/tm_devices/pull/284)) + +### Added + +- Added a config option (`default_visa_timeout`) to specify the default VISA timeout for all initial VISA device connections. +- Added a new function, `register_additional_usbtmc_mapping()`, to enable users to add USBTMC connection information for devices that don't have native support for USBTMC connections in `tm_devices` yet. +- Added `TSPDevice.export_buffers()` to write tsp buffer data fields to file, default is comma separated values with buffer names header. + +### Changed + +- Switched all workflows to use the new [`tektronix/python-package-ci-cd`](https://github.com/tektronix/python-package-ci-cd) reusable workflows. +- Reduced the out-of-the box `default_visa_timeout` value from 30 seconds to 5 seconds. +- _**SEMI-BREAKING CHANGE**_: Changed the `USB_MODEL_ID_LOOKUP` constant to use `SupportedModels` as keys instead of values to make the documentation clearer. +- _**SEMI-BREAKING CHANGE**_: Changed the `DEVICE_DRIVER_MODEL_MAPPING` constant to use `SupportedModels` as keys instead of values to make the documentation clearer. +- _**SEMI-BREAKING CHANGE**_: Changed the input parameter order in `TSPDevice.load_script()` and updated it to accept raw string input in addition to the `file_path` parameter for the script content. +- Verbosity with `PIDevice.write()` now handles multiline input printouts. + +### Deprecated + +- Renamed `TSPDevice.write_buffers()` to `TSPDevice.export_buffers()` for clarity. + +### Fixed + +- Fixed a bug in the stubgen helper code responsible for adding dynamically added methods to stub files that caused invalid stub files to be created if a dataclass immediately followed a class that was being dynamically updated. + +--- + +## v2.3.0 (2024-08-23) + +### Merged Pull Requests + +- feat: Added Full API support for TekscopePC. ([#282](https://github.com/tektronix/tm_devices/pull/282)) +- feat: Add curve query support for MSO2KB series scopes ([#269](https://github.com/tektronix/tm_devices/pull/269)) +- python-deps(deps-dev): bump the python-dependencies group with 2 updates ([#279](https://github.com/tektronix/tm_devices/pull/279)) +- ci: Use nodeenv to install node during tox runs, and install node with nodeenv during initial contributor setup ([#278](https://github.com/tektronix/tm_devices/pull/278)) + +### Added + - Added curve query support for the MSO2KB series scopes +- Full Python API support for TekScopePC device. --- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fc5bf474..e386dde7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -180,26 +180,6 @@ Ready to contribute? Here's how to set up `tm_devices` for local development. [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) website for more details on this format. -## Updating requirements and commit hooks - -To update the required python packages and commit hooks run the following -commands: - -!!! note - Always remember to activate the virtual environment before attempting to run tests or other code. - - ```console - # Linux - source .venv/bin/activate - - # Windows - .venv\Scripts\activate.bat - ``` - -```console -python scripts/update_development_dependencies.py -``` - ## Pull Request Guidelines Before you submit a pull request, check that it meets these guidelines: diff --git a/README.md b/README.md index a0cf495d..0fb7d296 100644 --- a/README.md +++ b/README.md @@ -81,59 +81,59 @@ _Device Support Levels_ | Type | Series/Model | Command
Type | Basic
Control | Python API
Validation
Status | | ------ | ------------------------ | --------------- | ---------------- | ---------------------------------- | -| AFGs | **AFG3000** | PI | ✅ | | -| | **AFG31xxx** | PI | ✅ | | -| AWGs | **AWG5000** | PI | ✅ | | -| | **AWG5200** | PI | ✅ | | -| | **AWG7000** | PI | ✅ | ✅ | -| | **AWG70000** | PI | ✅ | ✅ | -| Scopes | **2 Series MSO** | PI | ✅ | ✅ | -| | **3 Series MDO** | PI | ✅ | | -| | **4 Series MSO** | PI | ✅ | ✅ | -| | **4 Series B MSO** | PI | ✅ | ✅ | -| | **5 Series MSO** | PI | ✅ | ✅ | -| | **5 Series B MSO** | PI | ✅ | ✅ | -| | **5 Series MSO (LP)** | PI | ✅ | ✅ | -| | **6 Series MSO** | PI | ✅ | ✅ | -| | **6 Series B MSO** | PI | ✅ | ✅ | -| | **6 Series LPD** | PI | ✅ | ✅ | -| | **MSO2000/B** | PI | ✅ | | -| | **DPO2000/B** | PI | ✅ | | -| | **MDO3000** | PI | ✅ | ✅ | -| | **MDO4000/B/C** | PI | ✅ | ✅ | -| | **MSO4000/B** | PI | ✅ | ✅ | -| | **DPO4000/B** | PI | ✅ | ✅ | -| | **MSO5000/B** | PI | ✅ | ✅ | -| | **DPO5000/B** | PI | ✅ | ✅ | -| | **DPO7000/C** | PI | ✅ | ✅ | -| | **DPO70000/C/D/DX/SX** | PI | ✅ | ✅ | -| | **DSA70000/C/D** | PI | ✅ | ✅ | -| | **MSO70000/C/DX** | PI | ✅ | ✅ | -| | **TSOVu** | PI | ✅ | | -| | **TekScope** | PI | ✅ | | -| PSUs | **2200** | PI | ✅ | | -| | **2220** | PI | ✅ | | -| | **2230** | PI | ✅ | | -| | **2231** | PI | ✅ | | -| | **2280S** | PI | ✅ | | -| | **2281S** | PI | ✅ | | -| SMUs | **24xx Standard** | PI | ✅ | | -| | **24xx Interactive** | TSP | ✅ | ✅ | -| | **26xxB** | TSP | ✅ | 🚧 | -| | **2636B** | TSP | ✅ | ✅ | -| | **Model 2601B-PULSE** | TSP | ✅ | | -| | **Model 2606B** | TSP | ✅ | 🚧 | -| | **2651A** | TSP | ✅ | ✅ | -| | **2657A** | TSP | ✅ | | -| | **6430 (electrometer)** | PI | ✅ | | -| | **6514 (electrometer)** | PI | ✅ | | -| | **6517B (electrometer)** | PI | ✅ | | -| MTs | **TMT4** | API | ✅ | | -| DMMs | **DMM6500** | TSP | ✅ | | -| | **DMM7510** | TSP | ✅ | | -| | **DMM7512** | TSP | ✅ | | -| DAQs | **DAQ6510** | TSP | ✅ | | -| SSs | **3706A** | TSP | ✅ | | +| AFGs | **AFG3000** | PI | ✅ | | +| | **AFG31xxx** | PI | ✅ | | +| AWGs | **AWG5000** | PI | ✅ | | +| | **AWG5200** | PI | ✅ | | +| | **AWG7000** | PI | ✅ | ✅ | +| | **AWG70000** | PI | ✅ | ✅ | +| Scopes | **2 Series MSO** | PI | ✅ | ✅ | +| | **3 Series MDO** | PI | ✅ | | +| | **4 Series MSO** | PI | ✅ | ✅ | +| | **4 Series B MSO** | PI | ✅ | ✅ | +| | **5 Series MSO** | PI | ✅ | ✅ | +| | **5 Series B MSO** | PI | ✅ | ✅ | +| | **5 Series MSO (LP)** | PI | ✅ | ✅ | +| | **6 Series MSO** | PI | ✅ | ✅ | +| | **6 Series B MSO** | PI | ✅ | ✅ | +| | **6 Series LPD** | PI | ✅ | ✅ | +| | **MSO2000/B** | PI | ✅ | | +| | **DPO2000/B** | PI | ✅ | | +| | **MDO3000** | PI | ✅ | ✅ | +| | **MDO4000/B/C** | PI | ✅ | ✅ | +| | **MSO4000/B** | PI | ✅ | ✅ | +| | **DPO4000/B** | PI | ✅ | ✅ | +| | **MSO5000/B** | PI | ✅ | ✅ | +| | **DPO5000/B** | PI | ✅ | ✅ | +| | **DPO7000/C** | PI | ✅ | ✅ | +| | **DPO70000/C/D/DX/SX** | PI | ✅ | ✅ | +| | **DSA70000/C/D** | PI | ✅ | ✅ | +| | **MSO70000/C/DX** | PI | ✅ | ✅ | +| | **TSOVu** | PI | ✅ | | +| | **TekScope** | PI | ✅ | ✅ | +| PSUs | **2200** | PI | ✅ | | +| | **2220** | PI | ✅ | | +| | **2230** | PI | ✅ | | +| | **2231** | PI | ✅ | | +| | **2280S** | PI | ✅ | | +| | **2281S** | PI | ✅ | | +| SMUs | **24xx Standard** | PI | ✅ | | +| | **24xx Interactive** | TSP | ✅ | ✅ | +| | **26xxB** | TSP | ✅ | 🚧 | +| | **2636B** | TSP | ✅ | ✅ | +| | **Model 2601B-PULSE** | TSP | ✅ | | +| | **Model 2606B** | TSP | ✅ | 🚧 | +| | **2651A** | TSP | ✅ | ✅ | +| | **2657A** | TSP | ✅ | | +| | **6430 (electrometer)** | PI | ✅ | | +| | **6514 (electrometer)** | PI | ✅ | | +| | **6517B (electrometer)** | PI | ✅ | | +| MTs | **TMT4** | API | ✅ | | +| DMMs | **DMM6500** | TSP | ✅ | | +| | **DMM7510** | TSP | ✅ | | +| | **DMM7512** | TSP | ✅ | | +| DAQs | **DAQ6510** | TSP | ✅ | | +| SSs | **3706A** | TSP | ✅ | | @@ -147,8 +147,8 @@ _Software Solution Support Levels_ | Software
Solution | Command
Type | Basic
Control | Python API
Validation
Status | | -------------------- | --------------- | ---------------- | ---------------------------------- | -| DPOJET | PI | ✅ | ✅ | -| SourceXpress | PI | ✅ | ✅ | +| DPOJET | PI | ✅ | ✅ | +| SourceXpress | PI | ✅ | ✅ | diff --git a/docs/.linkchecker.ini b/docs/.linkchecker.ini index 5f09c630..53f5f466 100644 --- a/docs/.linkchecker.ini +++ b/docs/.linkchecker.ini @@ -8,4 +8,5 @@ ignore= /fonts/ /reference/ mailto: + https://www.googletagmanager.com/gtag/js? ignorewarnings=http-redirected,http-rate-limited diff --git a/docs/_static/css/theme_overrides.css b/docs/_static/css/theme_overrides.css index 4d433e45..cdd1206a 100644 --- a/docs/_static/css/theme_overrides.css +++ b/docs/_static/css/theme_overrides.css @@ -123,11 +123,11 @@ span.doc-object-name { } /* Customize link color */ -a.autorefs, a.autorefs code { +a.autorefs, a.autorefs code, .rst-content .admonition a.autorefs code { color: dodgerblue !important; } -a.autorefs:hover, a.autorefs:hover code { +a.autorefs:hover, a.autorefs:hover code, .rst-content .admonition a.autorefs:hover code { color: #d600d6 !important; } diff --git a/docs/_templates/mkdocstrings/python/readthedocs/children.html.jinja b/docs/_templates/mkdocstrings/python/readthedocs/children.html.jinja index c60bae4e..cceed38a 100644 --- a/docs/_templates/mkdocstrings/python/readthedocs/children.html.jinja +++ b/docs/_templates/mkdocstrings/python/readthedocs/children.html.jinja @@ -97,7 +97,7 @@ Context: filters=config.filters, members_list=members_list, inherited_members=config.inherited_members, - keep_no_docstrings=config.show_if_no_docstring)|selectattr("is_init_module", "equalto", false)|list|order_members(config.members_order, members_list) + keep_no_docstrings=config.show_if_no_docstring)|selectattr("is_init_module", "equalto", false)|list|order_members(config.members_order, members_list)|sort(attribute="name") %} {% if modules %} {% filter heading(heading_level, id=html_id ~ "-modules") %}Modules{% endfilter %} diff --git a/docs/basic_usage.md b/docs/basic_usage.md index a92208a9..95ffdff0 100644 --- a/docs/basic_usage.md +++ b/docs/basic_usage.md @@ -168,8 +168,9 @@ first instantiated. In order to do this a few things will need to be created: -1. A custom device class inheriting from one of the - [main device types](advanced/architecture.md#main-device-types). +1. A custom device class. Ideally this would inherit from one of the + [main device types](advanced/architecture.md#main-device-types), though a custom class + representing an unsupported device type can also be created. 2. A mapping of the parsed model series string to the Python class. ```python diff --git a/docs/configuration.md b/docs/configuration.md index f88a571e..b9bce014 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -32,7 +32,7 @@ things change, but does not require modification with every script execution. A config file can be **overruled** by an [environment variable](#environment-variable) configuration. That means that if -you have both a config file defined and the environment variables set, the +you have both a config file defined and **either** of the environment variables set, the config parser will **always** prioritize the environment variables. Make sure to delete the environment variables if you want to switch back to the config file. @@ -228,6 +228,7 @@ options: setup_cleanup: false teardown_cleanup: false retry_visa_connection: false + default_visa_timeout: 5000 check_for_updates: false ``` @@ -252,6 +253,9 @@ runtime behavior configuration. - `retry_visa_connection` - This config option will enable a second attempt when creating VISA connections, the second attempt is made after waiting, to allow the device time to become available. +- `default_visa_timeout` + - This config option is used to set the default VISA timeout value in milliseconds. + The default value of this config option is 5000 ms. - `check_for_updates` - This config option will enable a check for any available updates on pypi.org for the package when the `DeviceManager` is instantiated. @@ -314,6 +318,7 @@ options: verbose_mode: false verbose_visa: false retry_visa_connection: false + default_visa_timeout: 10000 # 10 second default VISA timeout check_for_updates: false ``` @@ -388,6 +393,7 @@ standalone = false verbose_mode = false verbose_visa = false retry_visa_connection = false +default_visa_timeout = 10000 # 10 second default VISA timeout check_for_updates = false ``` @@ -399,7 +405,9 @@ Two environment variables, `TM_OPTIONS` and `TM_DEVICES`, can be used for runtime configurations and have a **HIGHER** priority than the config file. - `TM_OPTIONS` is a comma-delimited, all-uppercase list of enabled options - names. + names and values. Config options that act as boolean flags can be set simply by + adding the option name to the environment variable. Config options that require non-boolean + inputs should be specified with the option name followed by an equals sign and the value. - `TM_DEVICES` is a `~~~`-delimited list of device entries. - Each device entry is a comma-delimited list of `=` pairs. @@ -409,8 +417,8 @@ execution scenarios where the list of devices needs to be temporary and workspace variables can be changed easily per script executor. There is no mechanism for merging the options and devices between the two config -methods; if either of the `TM_DEVICES` or `TM_OPTIONS` environment variables is -defined, the config file is ignored. If the environment variable(s) exist, +methods; if **either** of the `TM_DEVICES` or `TM_OPTIONS` environment variables is +defined, the config file is completely ignored. If **either** of the environment variable(s) exist, either permanently or temporarily, for the lifetime of the shell instance, they will override any existing config file you have. @@ -420,12 +428,13 @@ Sample environment variable device configurations (with comments, not allowed in environment variable) ```python +# fmt: off # Sample SMU using IP address and PyVISA-py TM_OPTIONS = "STANDALONE" TM_DEVICES = "address=123.45.67.255,device_type=SMU" -# Sample scope using hostname and AFG using IP address with cleanup -TM_OPTIONS = "SETUP_CLEANUP,TEARDOWN_CLEANUP" +# Sample scope using hostname and AFG using IP address with cleanup and a non-standard default VISA timeout +TM_OPTIONS = "SETUP_CLEANUP,TEARDOWN_CLEANUP,DEFAULT_VISA_TIMEOUT=10000" TM_DEVICES = "address=MDO9876-C543210,device_type=SCOPE~~~address=123.45.67.255,device_type=AFG" # Sample scope using IP address and AWG using hostname diff --git a/docs/glossary.md b/docs/glossary.md index 2266cd05..4a551607 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -95,6 +95,9 @@ SS TCPIP : Transmission Control Protocol/Internet Protocol +TekScopePC +: A PC software application to view and analyze waveforms anywhere, anytime, with remote access to a Tektronix oscilloscope + TSP : Test Script Processor diff --git a/docs/known_words.txt b/docs/known_words.txt index b8d67578..e6aed8e1 100644 --- a/docs/known_words.txt +++ b/docs/known_words.txt @@ -2,6 +2,7 @@ __none__ add_new adding_devices alias_usage +analyze api artifact artifacts @@ -54,6 +55,7 @@ mailto md mixin mixins +ms multimeters mv namespace diff --git a/docs/macros.py b/docs/macros.py index 1b4582b4..5a5aa4b4 100644 --- a/docs/macros.py +++ b/docs/macros.py @@ -10,7 +10,7 @@ import tomli -from mkdocs_macros.plugin import MacrosPlugin # pyright: ignore[reportMissingTypeStubs] +from mkdocs_macros.plugin import MacrosPlugin HEADER_ONE_REGEX = re.compile(r"^#\s(.+)$", re.MULTILINE) PAGE_REPLACEMENTS = { @@ -212,14 +212,14 @@ def define_env(env: MacrosPlugin) -> None: def on_post_page_macros(env: MacrosPlugin) -> None: """Post-process pages.""" # Check if there are any replacements to perform on the page - if env.page.file.src_path in PAGE_REPLACEMENTS: # pyright: ignore[reportUnknownMemberType] - for search, replace in PAGE_REPLACEMENTS[env.page.file.src_path]: # pyright: ignore[reportUnknownMemberType] - env.markdown = env.markdown.replace(search, replace) # pyright: ignore[reportUnknownMemberType] + if env.page.file.src_path in PAGE_REPLACEMENTS: + for search, replace in PAGE_REPLACEMENTS[env.page.file.src_path]: + env.markdown = env.markdown.replace(search, replace) # Check if all black format disable comments should be removed from the page - if env.page.file.src_path in FILES_TO_REMOVE_BLACK_FORMATTER_DISABLE_COMMENT: # pyright: ignore[reportUnknownMemberType] - env.markdown = env.markdown.replace("# fmt: off\n", "") # pyright: ignore[reportUnknownMemberType] + if env.page.file.src_path in FILES_TO_REMOVE_BLACK_FORMATTER_DISABLE_COMMENT: + env.markdown = env.markdown.replace("# fmt: off\n", "") # Check if the title is correct - if actual_title_match := HEADER_ONE_REGEX.search(env.markdown): # pyright: ignore[reportUnknownMemberType,reportUnknownArgumentType] + if actual_title_match := HEADER_ONE_REGEX.search(env.markdown): actual_title = actual_title_match.group(1) if env.page.title != actual_title: # pyright: ignore[reportUnknownMemberType] - env.page.title = actual_title # pyright: ignore[reportUnknownMemberType] + env.page.title = actual_title # pyright: ignore[reportAttributeAccessIssue] diff --git a/docs/requirements.txt b/docs/requirements.txt index 8d0f0189..a3f652c3 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,56 +1,56 @@ astunparse==1.6.3 ; python_version >= "3.8" and python_version < "3.9" beautifulsoup4==4.12.3 ; python_version >= "3.8" and python_version < "4.0" black==24.8.0 ; python_version >= "3.8" and python_version < "4.0" -bracex==2.5 ; python_version >= "3.8" and python_version < "4.0" -certifi==2024.7.4 ; python_version >= "3.8" and python_version < "4.0" +bracex==2.5.post1 ; python_version >= "3.8" and python_version < "4.0" +certifi==2024.8.30 ; python_version >= "3.8" and python_version < "4.0" charset-normalizer==3.3.2 ; python_version >= "3.8" and python_version < "4.0" click==8.1.7 ; python_version >= "3.8" and python_version < "4.0" codespell==2.3.0 ; python_version >= "3.8" and python_version < "4.0" colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0" -editdistpy==0.1.4 ; python_version >= "3.8" and python_version < "4.0" +editdistpy==0.1.5 ; python_version >= "3.8" and python_version < "4.0" editorconfig==0.12.4 ; python_version >= "3.8" and python_version < "4.0" ghp-import==2.1.0 ; python_version >= "3.8" and python_version < "4.0" -griffe==1.1.0 ; python_version >= "3.8" and python_version < "4.0" -idna==3.7 ; python_version >= "3.8" and python_version < "4.0" -importlib-metadata==8.2.0 ; python_version >= "3.8" and python_version < "3.10" +griffe==1.3.2 ; python_version >= "3.8" and python_version < "4.0" +idna==3.10 ; python_version >= "3.8" and python_version < "4.0" +importlib-metadata==8.5.0 ; python_version >= "3.8" and python_version < "3.10" jinja2==3.1.4 ; python_version >= "3.8" and python_version < "4.0" jsbeautifier==1.15.1 ; python_version >= "3.8" and python_version < "4.0" markdown==3.7 ; python_version >= "3.8" and python_version < "4.0" markupsafe==2.1.5 ; python_version >= "3.8" and python_version < "4.0" mergedeep==1.3.4 ; python_version >= "3.8" and python_version < "4.0" -mkdocs==1.6.0 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-autorefs==1.0.1 ; python_version >= "3.8" and python_version < "4.0" +mkdocs==1.6.1 ; python_version >= "3.8" and python_version < "4.0" +mkdocs-autorefs==1.2.0 ; python_version >= "3.8" and python_version < "4.0" mkdocs-ezglossary-plugin==1.6.10 ; python_version >= "3.8" and python_version < "4.0" mkdocs-gen-files==0.5.0 ; python_version >= "3.8" and python_version < "4.0" mkdocs-get-deps==0.2.0 ; python_version >= "3.8" and python_version < "4.0" mkdocs-include-markdown-plugin==6.2.2 ; python_version >= "3.8" and python_version < "4.0" mkdocs-literate-nav==0.6.1 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-macros-plugin==1.0.5 ; python_version >= "3.8" and python_version < "4.0" +mkdocs-macros-plugin==1.2.0 ; python_version >= "3.8" and python_version < "4.0" mkdocs-mermaid2-plugin==1.1.1 ; python_version >= "3.8" and python_version < "4.0" mkdocs-section-index==0.3.9 ; python_version >= "3.8" and python_version < "4.0" mkdocs-spellcheck==1.1.0 ; python_version >= "3.8" and python_version < "4.0" -mkdocstrings==0.25.2 ; python_version >= "3.8" and python_version < "4.0" -mkdocstrings-python==1.10.8 ; python_version >= "3.8" and python_version < "4.0" +mkdocstrings==0.26.1 ; python_version >= "3.8" and python_version < "4.0" +mkdocstrings-python==1.11.1 ; python_version >= "3.8" and python_version < "4.0" mypy-extensions==1.0.0 ; python_version >= "3.8" and python_version < "4.0" nodeenv==1.9.1 ; python_version >= "3.8" and python_version < "4.0" packaging==24.1 ; python_version >= "3.8" and python_version < "4.0" pathspec==0.12.1 ; python_version >= "3.8" and python_version < "4.0" -platformdirs==4.2.2 ; python_version >= "3.8" and python_version < "4.0" +platformdirs==4.3.6 ; python_version >= "3.8" and python_version < "4.0" pygments==2.18.0 ; python_version >= "3.8" and python_version < "4.0" -pymdown-extensions==10.9 ; python_version >= "3.8" and python_version < "4.0" +pymdown-extensions==10.11.2 ; python_version >= "3.8" and python_version < "4.0" python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" pyyaml==6.0.2 ; python_version >= "3.8" and python_version < "4.0" pyyaml-env-tag==0.1 ; python_version >= "3.8" and python_version < "4.0" requests==2.32.3 ; python_version >= "3.8" and python_version < "4.0" -setuptools==72.2.0 ; python_version >= "3.8" and python_version < "4.0" +setuptools==75.1.0 ; python_version >= "3.8" and python_version < "4.0" six==1.16.0 ; python_version >= "3.8" and python_version < "4.0" soupsieve==2.6 ; python_version >= "3.8" and python_version < "4.0" -symspellpy==6.7.7 ; python_version >= "3.8" and python_version < "4.0" +symspellpy==6.7.8 ; python_version >= "3.8" and python_version < "4.0" termcolor==2.4.0 ; python_version >= "3.8" and python_version < "4.0" -tomli==2.0.1 ; python_version >= "3.8" and python_version < "4.0" +tomli==2.0.2 ; python_version >= "3.8" and python_version < "4.0" typing-extensions==4.12.2 ; python_version >= "3.8" and python_version < "3.11" -urllib3==2.2.2 ; python_version >= "3.8" and python_version < "4.0" +urllib3==2.2.3 ; python_version >= "3.8" and python_version < "4.0" watchdog==4.0.2 ; python_version >= "3.8" and python_version < "4.0" -wcmatch==9.0 ; python_version >= "3.8" and python_version < "4.0" +wcmatch==10.0 ; python_version >= "3.8" and python_version < "4.0" wheel==0.44.0 ; python_version >= "3.8" and python_version < "3.9" -zipp==3.20.0 ; python_version >= "3.8" and python_version < "3.10" +zipp==3.20.2 ; python_version >= "3.8" and python_version < "3.10" diff --git a/examples/miscellaneous/custom_device_driver_support.py b/examples/miscellaneous/custom_device_driver_support.py index 8dfecad3..4812bb00 100644 --- a/examples/miscellaneous/custom_device_driver_support.py +++ b/examples/miscellaneous/custom_device_driver_support.py @@ -2,7 +2,7 @@ from typing import Tuple, Union -from tm_devices import DeviceManager +from tm_devices import DeviceManager, register_additional_usbtmc_mapping from tm_devices.drivers import MSO5 from tm_devices.drivers.pi.pi_device import PIDevice from tm_devices.drivers.pi.scopes.scope import Scope @@ -74,11 +74,16 @@ def custom_device_method(self, value: int) -> None: } +# To enable USBTMC connection support for a device without native USBTMC support in tm_devices, +# simply register the USBTMC connection information for the device's model series. +register_additional_usbtmc_mapping("CustomModelSeries", model_id="0x0000", vendor_id="0x0000") + + with DeviceManager(external_device_drivers=CUSTOM_DEVICE_DRIVERS) as device_manager: # Add a scope that is currently supported by the package mso5: MSO5 = device_manager.add_scope("192.168.0.1") - # Add the custom scope - custom_scope: CustomScope = device_manager.add_scope("192.168.0.2") + # Add the custom scope with a USB connection after registering the USBTMC mapping above + custom_scope: CustomScope = device_manager.add_scope("MODEL-SERIAL", connection_type="USB") # Add the custom device that is a device type not officially supported # NOTE: If using a config file or environment variable to define a device that is unsupported, # the `device_type` key must be set to "UNSUPPORTED". diff --git a/examples/source_measure_units/2400/smu_2400_load_script_and_run.py b/examples/source_measure_units/2400/smu_2400_load_script_and_run.py index e105ef85..b0637650 100644 --- a/examples/source_measure_units/2400/smu_2400_load_script_and_run.py +++ b/examples/source_measure_units/2400/smu_2400_load_script_and_run.py @@ -26,7 +26,7 @@ # Capture the path to the script file and load it to working memory. print(pathlib.Path.cwd()) fileandpath = f"{pathlib.Path.cwd()}\\KEI2400_TTI_Driver\\simple_resistivity_measure.tsp" -smu2400.load_script(fileandpath, script_name="resistivityscript", run_script=True) +smu2400.load_script(script_name="resistivityscript", file_path=fileandpath, run_script=True) # Call the resistivity measurement function on the instrument with the desired current, # then print the result to the console. diff --git a/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py b/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py index f4058972..93a8c14f 100644 --- a/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py +++ b/examples/source_measure_units/2600/smu_2651_fast_adc_usage.py @@ -123,7 +123,7 @@ def capture_pulse_i(inst: SMU2651A) -> None: smua.source.output = 0 - inst.write_buffers(I_FILENAME, "smua.nvbuffer1.timestamps", "smua.nvbuffer2", "smua.nvbuffer1") + inst.export_buffers(I_FILENAME, "smua.nvbuffer1.timestamps", "smua.nvbuffer2", "smua.nvbuffer1") def capture_pulse_v(inst: SMU2651A) -> None: @@ -216,7 +216,7 @@ def capture_pulse_v(inst: SMU2651A) -> None: smua.source.output = 0 - inst.write_buffers(V_FILENAME, "smua.nvbuffer1.timestamps", "smua.nvbuffer2", "smua.nvbuffer1") + inst.export_buffers(V_FILENAME, "smua.nvbuffer1.timestamps", "smua.nvbuffer2", "smua.nvbuffer1") # RUN TEST diff --git a/pyproject.toml b/pyproject.toml index b6b21820..5bcb4140 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ keywords = [ "Test & Measurement", "VISA" ] -license = "Apache License 2.0" +license = "Apache-2.0" maintainers = [ "Tektronix ", "Nicholas Felt " @@ -67,7 +67,7 @@ maintainers = [ name = "tm_devices" readme = "README.md" repository = "https://github.com/tektronix/tm_devices" -version = "2.2.2" +version = "2.4.0" [tool.poetry.dependencies] gpib-ctypes = "^0.3.0" @@ -89,18 +89,11 @@ tomli-w = "^1.0.0" traceback-with-variables = "^2.0.4" typing-extensions = "^4.10.0" urllib3 = "^2.0" -zeroconf = "^0.132.2" +zeroconf = "^0.135.0" [tool.poetry.group.dev.dependencies] -docformatter = {extras = ["tomli"], version = "1.7.5"} docutils = "^0.20" # TODO: remove this when the minimum Python version is >=3.9 docutils-stubs = "^0.0.22" -maison = "^1.4.3" # yamlfix is broken with v2.0+ -matplotlib = [ - {python = ">=3.9", version = "^3.8"}, - {python = "3.8", version = "^3.7"} -] -memory-profiler = "^0.61.0" nodeenv = "^1.9.1" pip = "^24.0" poetry = "^1.8.0" @@ -111,21 +104,16 @@ pre-commit = [ {python = ">=3.9", version = "^3.7"}, {python = "3.8", version = "^3.5"} ] -pyclean = "^3.0.0" -pylint = "3.2.6" -pyright = "1.1.376" +pylint = "3.2.7" +pyright = "1.1.383" pyroma = "^4.2" -python-semantic-release = "^9.6.0" -ruff = "0.6.1" -toml-sort = "^0.23.0" tox = "^4.0" tox-gh-actions = "^3.1.0" twine = "^5.0.0" types-python-dateutil = "^2.9" types-pyyaml = "^6.0" types-requests = "^2.31" -wheel = "^0.44" -yamlfix = "^1.16.0" +wheel = "^0.44.0" [tool.poetry.group.docs.dependencies] black = "^24.4.2" @@ -140,7 +128,7 @@ mkdocs-macros-plugin = "^1.0.5" mkdocs-mermaid2-plugin = "^1.1.1" mkdocs-section-index = "^0.3.9" mkdocs-spellcheck = "^1.1.0" -mkdocstrings = "^0.25.0" +mkdocstrings = "^0.26.0" mkdocstrings-python = "^1.10.2" nodeenv = "^1.9.1" pygments = "^2.17.2" @@ -161,8 +149,7 @@ pytest-env = "^1.1.3" pytest-github-report = "^0.0.1" pytest-html = "^4.1.1" pytest-order = "^1.2.1" -ruff = "0.6.1" -tomli = "^2.0.1" +ruff = "0.6.9" [tool.poetry.scripts] list-visa-resources = "tm_devices:print_available_visa_devices" @@ -417,10 +404,10 @@ legacy_tox_ini = """ [tox] requires = tox>4 isolated_build = True -envlist = py38,py39,py310,py311,py312,tests,docs,doctests +envlist = py38,py39,py310,py311,py312,py313,tests,docs,doctests skip_missing_interpreters = True labels = - basic = py38,py39,py310,py311,py312,tests + basic = py38,py39,py310,py311,py312,py313,tests documentation = docs,doctests [gh-actions] @@ -430,6 +417,7 @@ python = 3.10: py310 3.11: py311 3.12: py312 + 3.13: py313 [testenv] package = wheel @@ -439,9 +427,10 @@ deps = passenv = PYRIGHT_PYTHON_GLOBAL_NODE # If set outside of tox, this will cause python-pyright to use nodeenv to install node rather than use the system node setenv = + COVERAGE_FILE = .coverage_{envname} DOC_PYTHON_VERSION = python3.11 # Keep this in sync with .readthedocs.yml and any CI scripts - # Skip pre-commit checks that are not needed - SKIP = file-contents-sorter + # Skip pre-commit checks that are not needed (yamlfix should be removed from this list once Python 3.8 support is dropped) + SKIP = file-contents-sorter,yamlfix commands_pre = poetry install --no-root --without=main commands = diff --git a/python_semantic_release_templates/.release_notes.md.j2 b/python_semantic_release_templates/.release_notes.md.j2 index 86b17467..8d0767fe 100644 --- a/python_semantic_release_templates/.release_notes.md.j2 +++ b/python_semantic_release_templates/.release_notes.md.j2 @@ -1,7 +1,9 @@ {%- import ".macros.j2" as macros %} {%- call(output) macros.populate_variables() %} - {%- filter replace("Things to be included in the next release go here.", "# " + output[0] + " (" + output[1] + ")" + output[2])|replace("##", "#") %} - {%- include ".previous_release_notes_for_template.md" %} + {%- filter replace("## Unreleased", "# " + output[0] + " (" + output[1] + ")" + output[2])|replace("##", "#") %} + {%- filter replace("Things to be included in the next release go here.\n\n", "") %} + {%- include ".previous_release_notes_for_template.md" %} + {%- endfilter %} {%- endfilter %} {% endcall %} diff --git a/python_semantic_release_templates/CHANGELOG.md.j2 b/python_semantic_release_templates/CHANGELOG.md.j2 index 318ce170..73bf2c1e 100644 --- a/python_semantic_release_templates/CHANGELOG.md.j2 +++ b/python_semantic_release_templates/CHANGELOG.md.j2 @@ -1,7 +1,9 @@ {%- import ".macros.j2" as macros %} {%- call(output) macros.populate_variables() %} - {%- filter replace("Things to be included in the next release go here.", "Things to be included in the next release go here.\n\n---\n\n## " + output[0] + " (" + output[1] + ")" + output[2]) %} - {%- include ".previous_changelog_for_template.md" %} + {%- filter replace("## Unreleased", "## Unreleased\n\nThings to be included in the next release go here.\n\n---\n\n## " + output[0] + " (" + output[1] + ")" + output[2]) %} + {%- filter replace("Things to be included in the next release go here.\n\n", "") %} + {%- include ".previous_changelog_for_template.md" %} + {%- endfilter %} {%- endfilter %} {% endcall %} diff --git a/scripts/check_unreleased_changelog_items.py b/scripts/check_unreleased_changelog_items.py deleted file mode 100644 index e69d7617..00000000 --- a/scripts/check_unreleased_changelog_items.py +++ /dev/null @@ -1,70 +0,0 @@ -"""This script will check for unreleased entries in the CHANGELOG.md file. - -It will exit with a non-zero exit code if there are no unreleased entries. - -It will also copy the necessary files into the template directory to properly render the CHANGELOG -and Release Notes. -""" - -import pathlib -import re -import shutil - -CHANGELOG_FILEPATH = pathlib.Path(__file__).parent.parent / "CHANGELOG.md" -TEMPLATE_CHANGELOG_FILEPATH = ( - pathlib.Path(__file__).parent.parent - / "python_semantic_release_templates" - / ".previous_changelog_for_template.md" -) -TEMPLATE_RELEASE_NOTES_FILEPATH = ( - pathlib.Path(__file__).parent.parent - / "python_semantic_release_templates" - / ".previous_release_notes_for_template.md" -) - - -def main() -> None: - """Check for entries in the Unreleased section of the CHANGELOG.md file. - - Raises: - SystemExit: Indicates no new entries were found. - """ - release_notes_content = "" - found_entries = False - with CHANGELOG_FILEPATH.open(mode="r", encoding="utf-8") as changelog_file: - tracking_unreleased = False - tracking_entries = False - for line in changelog_file: - if line.startswith(("___", "---")): - tracking_unreleased = False - tracking_entries = False - if tracking_unreleased: - release_notes_content += line - if line.startswith("## Unreleased"): - tracking_unreleased = True - if tracking_unreleased and line.startswith( - ( - "### Added\n", - "### Changed\n", - "### Deprecated\n", - "### Removed\n", - "### Fixed\n", - "### Security\n", - ) - ): - tracking_entries = True - if tracking_entries and not found_entries: - found_entries = bool(re.match(r"^- \w+", line)) - - if not found_entries: - msg = f"No unreleased entries were found in {CHANGELOG_FILEPATH}." - raise SystemExit(msg) - - # Copy the files to the correct location - shutil.copy(CHANGELOG_FILEPATH, TEMPLATE_CHANGELOG_FILEPATH) - with TEMPLATE_RELEASE_NOTES_FILEPATH.open("w", encoding="utf-8") as template_release_notes: - template_release_notes.write(release_notes_content.strip() + "\n") - - -if __name__ == "__main__": - main() diff --git a/scripts/contributor_setup.py b/scripts/contributor_setup.py index 42d5ddae..bcb29daf 100644 --- a/scripts/contributor_setup.py +++ b/scripts/contributor_setup.py @@ -5,90 +5,38 @@ from __future__ import annotations -import argparse import glob import os import platform import shlex -import shutil import subprocess import sys from pathlib import Path -from typing import Dict, List, Optional, Union RUNNING_ON_LINUX = platform.system().upper() != "WINDOWS" +RUNNING_IN_VIRTUALENV = sys.prefix != sys.base_prefix -def parse_arguments() -> argparse.Namespace: - """Parse the command line arguments. - - Returns: - The parsed Namespace. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--reset", - action="store_true", - dest="reset", - help="Specify if the virtual environment should be completely reset", - ) - - return parser.parse_args() - - -def running_in_virtualenv() -> bool: - """Check if the current script is being executed in a virtual environment. - - Returns: - Boolean indicating if the script is running in a virtualenv - """ - return sys.prefix != sys.base_prefix - - -def create_virtual_environment( - virtual_env_dir: Union[str, os.PathLike[str]], reset_env: bool -) -> None: +def create_virtual_environment(virtual_env_dir: str | os.PathLike[str]) -> None: """Create a virtual environment. Args: virtual_env_dir: The directory where the virtual environment should be created - reset_env: Indicate if the virtual environment should be completely reset """ - virtual_env_dir = Path(virtual_env_dir) - added_newline = False - if ( - reset_env - and virtual_env_dir.exists() - and not sys.prefix.startswith(str(virtual_env_dir.resolve())) - and not running_in_virtualenv() - ): - if not added_newline: - added_newline = True - print() - print(f"Removing virtualenv located at '{virtual_env_dir}'") - shutil.rmtree(virtual_env_dir) - if not virtual_env_dir.exists() and not running_in_virtualenv(): - if not added_newline: - print() - print(f"Creating virtualenv located at '{virtual_env_dir}'") - _run_cmd_in_subprocess(f"{sys.executable} -m venv {virtual_env_dir}") - - -def _run_cmd_in_subprocess(command: str, env_dict: Optional[Dict[str, str]] = None) -> None: + print(f"\nCreating virtualenv located at '{virtual_env_dir}'") + _run_cmd_in_subprocess(f'"{sys.executable}" -m venv "{virtual_env_dir}" --clear') + + +def _run_cmd_in_subprocess(command: str) -> None: """Run the given command in a subprocess. Args: command: The command string to send. - env_dict: A mapping of environment variables to use in the subprocess. """ command = command.replace("\\", "/") - if RUNNING_ON_LINUX: - command_to_send: Union[str, List[str]] = shlex.split(command) - else: - command_to_send = command print(f"\nExecuting command: {command}") - subprocess.check_call(command_to_send, env=env_dict) # noqa: S603 + subprocess.check_call(shlex.split(command)) # noqa: S603 def main() -> None: @@ -97,15 +45,17 @@ def main() -> None: Raises: SystemExit: Indicates that the setup failed for some reason. """ - starting_dir = os.getcwd() + starting_dir = Path.cwd() try: - args = parse_arguments() - if running_in_virtualenv(): + if RUNNING_IN_VIRTUALENV: raise IndexError - if sys.version_info < (3, 8): # noqa: UP036 + # This requires contributors to use newer versions of Python even + # though the package supports older versions. + if sys.version_info < (3, 9): msg = ( "Unable to set up the environment. " - "Please use a Python version greater than or equal to 3.8." + "Please use a Python version greater than 3.8 for " + "local development on this package." ) raise SystemExit(msg) # Windows systems require the 64 bit python @@ -113,9 +63,9 @@ def main() -> None: msg = "Unable to set up the environment. Please use a 64-bit Python version." raise SystemExit(msg) # Create the virtual environment - virtual_env_dir = os.path.sep.join([starting_dir, ".venv"]) - create_virtual_environment(virtual_env_dir, args.reset) - os.environ["VIRTUAL_ENV"] = virtual_env_dir + virtual_env_dir = starting_dir / ".venv" + create_virtual_environment(virtual_env_dir) + os.environ["VIRTUAL_ENV"] = virtual_env_dir.as_posix() # Delete the previous poetry lock file lock_file = Path(starting_dir) / "poetry.lock" @@ -134,11 +84,11 @@ def main() -> None: ) python_executable = files[0] commands_to_send = ( - f"{python_executable} -m pip install -U pip wheel poetry", - f"{python_executable} -m poetry install", - f"{python_executable} -m nodeenv --python-virtualenv --clean-src", - f"{python_executable} -m pre_commit install", - f"{python_executable} -m tox -e tests", + f'"{python_executable}" -m pip install -U pip wheel poetry', + f'"{python_executable}" -m poetry install', + f'"{python_executable}" -m nodeenv --python-virtualenv --clean-src', + f'"{python_executable}" -m pre_commit install --install-hooks', + f'"{python_executable}" -m tox -e tests', ) for command in commands_to_send: _run_cmd_in_subprocess(command) diff --git a/scripts/create_post_version_for_testpypi.py b/scripts/create_post_version_for_testpypi.py deleted file mode 100644 index 3c3f530d..00000000 --- a/scripts/create_post_version_for_testpypi.py +++ /dev/null @@ -1,40 +0,0 @@ -"""Create a post-release version for test.pypi.org.""" - -import argparse - -from poetry.core.constraints.version import Version - - -def parse_arguments() -> argparse.Namespace: - """Parse the command line arguments. - - Returns: - The parsed Namespace. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--version", - required=True, - type=Version.parse, - action="store", - dest="version", - help="Provide the current, latest version of the package", - ) - - return parser.parse_args() - - -def main() -> None: - """Create and print a post-release version string for test.pypi.org.""" - args = parse_arguments() - version: Version = args.version - - new_post_release_num = 1 - if version.post: - new_post_release_num += version.post.number - - print(f"{'.'.join(str(x) for x in version.parts)}.post{new_post_release_num}") - - -if __name__ == "__main__": - main() diff --git a/scripts/project_version.py b/scripts/project_version.py deleted file mode 100644 index 4bf7a17d..00000000 --- a/scripts/project_version.py +++ /dev/null @@ -1,54 +0,0 @@ -"""This script modifies or gets the current project version in the pyproject.toml file.""" - -import argparse -import pathlib - -import tomli -import tomli_w - -from poetry.core.constraints.version import Version - -PYPROJECT_FILE = pathlib.Path(f"{pathlib.Path(__file__).parent}/../pyproject.toml") - - -def parse_arguments() -> argparse.Namespace: - """Parse the command line arguments. - - Returns: - The parsed Namespace. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--set-version", - required=False, - type=Version.parse, - action="store", - dest="set_version", - help="Provide the version to write to the pyproject.toml file", - ) - - return parser.parse_args() - - -def main() -> None: - """Modify or get the project version.""" - args = parse_arguments() - new_version: Version = args.set_version - - # Read in the current data - with open(PYPROJECT_FILE, "rb") as file_handle: - pyproject_data = tomli.load(file_handle) - - if new_version: - # Modify the version value - pyproject_data["tool"]["poetry"]["version"] = new_version.to_string() - - # Write back the data to the file - with open(PYPROJECT_FILE, "wb") as file_handle: - tomli_w.dump(pyproject_data, file_handle) - else: - print(pyproject_data["tool"]["poetry"]["version"]) - - -if __name__ == "__main__": - main() diff --git a/scripts/pypi_latest_version.py b/scripts/pypi_latest_version.py deleted file mode 100644 index 907743f5..00000000 --- a/scripts/pypi_latest_version.py +++ /dev/null @@ -1,76 +0,0 @@ -"""Get the latest version from the index server.""" - -import argparse -import json - -import requests - -from poetry.core.constraints.version import Version - - -def parse_arguments() -> argparse.Namespace: - """Parse the command line arguments. - - Returns: - The parsed Namespace. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--package", - required=True, - action="store", - dest="package", - help="Provide the package to get the latest version for", - ) - parser.add_argument( - "--index", - action="store", - dest="index", - choices=["pypi", "test.pypi"], - default="pypi", - help="Provide the index to query for the latest version, one of (pypi|test.pypi)", - ) - - return parser.parse_args() - - -def get_latest_version(package_name: str, index: str) -> str: - """Get the latest version of the provided package. - - Args: - package_name: The name of the package to get the latest version of. - index: The index to check for the package, one of (pypi|test.pypi). - - Returns: - A string containing the latest version of the package from the given index. - - Raises: - SystemExit: Indicates there were no versions for the package. - """ - # This code mirrors code found in src/tm_devices/helpers/functions.py, - # in the check_for_update() function. - # If this code is updated, the helper function should be updated too. - url = f"https://{index}.org/pypi/{package_name}/json" - try: - response = requests.get(url, timeout=10) - releases = json.loads(response.text)["releases"] - version_list = sorted(releases, key=Version.parse, reverse=True) - latest_version = version_list[0] - except (IndexError, json.decoder.JSONDecodeError) as error: - msg = f"There were no versions found for the {package_name} package." - raise SystemExit(msg) from error - - return latest_version - - -def main() -> None: - """Get the latest version of the provided package.""" - args = parse_arguments() - package = args.package - index = args.index - latest_version = get_latest_version(package, index) - print(latest_version) - - -if __name__ == "__main__": - main() diff --git a/scripts/requirements.txt b/scripts/requirements.txt deleted file mode 100644 index ef3ea208..00000000 --- a/scripts/requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -maison<2.0.0 -poetry -poetry-core -poetry-plugin-export -pre-commit -requests -toml-sort -tomli -tomli_w -yamlfix diff --git a/scripts/update_development_dependencies.py b/scripts/update_development_dependencies.py deleted file mode 100644 index 3a714492..00000000 --- a/scripts/update_development_dependencies.py +++ /dev/null @@ -1,124 +0,0 @@ -"""Update the development dependencies. - -This script will update the development dependencies that are pinned in the pyproject.toml and .pre- -commit-config.yaml files. -""" - -import argparse -import contextlib -import shlex -import subprocess -import sys -import warnings - -from pathlib import Path -from typing import List - -from yamlfix import fix_files # pyright: ignore[reportUnknownVariableType] - -from pypi_latest_version import get_latest_version - -DEPENDENCIES_TO_UPDATE = { - "dev": ( - "docformatter[tomli]", - "pylint", - "pyright", - "ruff", - ), - "tests": ("ruff",), -} - - -def parse_arguments() -> argparse.Namespace: - """Parse the command line arguments. - - Returns: - The parsed Namespace. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--no-install", - action="store_true", - dest="no_install", - help="Indicate if packages should not be installed via poetry (Primarily used in CI).", - ) - - return parser.parse_args() - - -def _run_cmd_in_subprocess(command: str) -> None: - """Run the given command in a subprocess. - - Args: - command: The command string to send. - """ - command = command.replace("\\", "/") - print(f"\nExecuting command: {command}") - subprocess.check_call(shlex.split(command)) # noqa: S603 - - -def main() -> None: - """Run the script to update the development dependencies.""" - script_location = Path(__file__) - python_executable = sys.executable - python_script_location = Path(python_executable).parent - repository_root_directory = script_location.parent.parent - - args = parse_arguments() - lock_only = args.no_install - - # Remove the dependencies from poetry to avoid issues if they are in multiple groups - for group, dependencies_list in DEPENDENCIES_TO_UPDATE.items(): - dependencies = " ".join(f'"{x.split("[", maxsplit=1)[0]}"' for x in dependencies_list) - _run_cmd_in_subprocess( - f'"{python_executable}" -m poetry remove --lock --group={group} {dependencies}' - ) - - # Get the latest versions for each of the dependencies to update - for group, dependencies_list in DEPENDENCIES_TO_UPDATE.items(): - latest_dependency_versions: List[str] = [] - for dependency in dependencies_list: - latest_dep_version = get_latest_version(dependency.split("[", maxsplit=1)[0], "pypi") - latest_dependency_versions.append(dependency + f"=={latest_dep_version}") - - # Update dependencies in pyproject.toml using poetry - dependencies = " ".join(f'"{x}"' for x in latest_dependency_versions) - poetry_add_cmd = f'"{python_executable}" -m poetry add --group={group} {dependencies}' - if lock_only: - poetry_add_cmd += " --lock" - _run_cmd_in_subprocess(poetry_add_cmd) - - # Run poetry update - poetry_update_cmd = f'"{python_executable}" -m poetry update' - if lock_only: - poetry_update_cmd += " --lock" - _run_cmd_in_subprocess(poetry_update_cmd) - - # Update pre-commit config file - _run_cmd_in_subprocess(f'"{python_executable}" -m pre_commit autoupdate --freeze') - - # Fix the formatting of the pre-commit config file - with warnings.catch_warnings(): - warnings.simplefilter("ignore", UserWarning) - fix_files([f"{repository_root_directory}/.pre-commit-config.yaml"]) - - # Fix the formatting of the pyproject.toml file - _run_cmd_in_subprocess( - f'"{python_script_location}/toml-sort" "{repository_root_directory}/pyproject.toml"' - ) - - # Update the docs and tests dependency files - for group in ("docs", "tests"): - _run_cmd_in_subprocess( - f'"{python_executable}" -m poetry export --only {group} ' - f"--without-hashes --output {group}/requirements.txt" - ) - # Sort the requirements files (ignore failures due to changed files - with contextlib.suppress(subprocess.CalledProcessError): - _run_cmd_in_subprocess( - f'"{python_executable}" -m pre_commit run --all requirements-txt-fixer' - ) - - -if __name__ == "__main__": - main() diff --git a/src/tm_devices/__init__.py b/src/tm_devices/__init__.py index 59b910d6..e4e4cd00 100644 --- a/src/tm_devices/__init__.py +++ b/src/tm_devices/__init__.py @@ -20,6 +20,7 @@ SYSTEM_DEFAULT_VISA_BACKEND, ) from tm_devices.helpers.enums import SupportedModels +from tm_devices.helpers.functions import register_additional_usbtmc_mapping # Read version from installed package. __version__ = version(PACKAGE_NAME) @@ -28,6 +29,7 @@ "DeviceManager", "print_available_visa_devices", "PYVISA_PY_BACKEND", + "register_additional_usbtmc_mapping", "SupportedModels", "SYSTEM_DEFAULT_VISA_BACKEND", ] diff --git a/src/tm_devices/commands/__init__.py b/src/tm_devices/commands/__init__.py index 5f7250f8..53242290 100644 --- a/src/tm_devices/commands/__init__.py +++ b/src/tm_devices/commands/__init__.py @@ -77,6 +77,7 @@ from .smu2651a_commands import SMU2651ACommandConstants, SMU2651ACommands, SMU2651AMixin from .smu2657a_commands import SMU2657ACommandConstants, SMU2657ACommands, SMU2657AMixin from .ss3706a_commands import SS3706ACommandConstants, SS3706ACommands, SS3706AMixin +from .tekscopepc_commands import TekScopePCCommandConstants, TekScopePCCommands, TekScopePCMixin __all__ = [ "AFG3KBCommandConstants", @@ -281,4 +282,7 @@ "SS3706ACommandConstants", "SS3706ACommands", "SS3706AMixin", + "TekScopePCCommandConstants", + "TekScopePCCommands", + "TekScopePCMixin", ] diff --git a/src/tm_devices/commands/afg3k_commands.py b/src/tm_devices/commands/afg3k_commands.py index 11fb8375..26246de5 100644 --- a/src/tm_devices/commands/afg3k_commands.py +++ b/src/tm_devices/commands/afg3k_commands.py @@ -29,10 +29,18 @@ from .gen_22daqs_afg.trigger import Trigger from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/afg3kb_commands.py b/src/tm_devices/commands/afg3kb_commands.py index de6c57a2..f34afe68 100644 --- a/src/tm_devices/commands/afg3kb_commands.py +++ b/src/tm_devices/commands/afg3kb_commands.py @@ -29,10 +29,18 @@ from .gen_22daqs_afg.trigger import Trigger from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/afg3kc_commands.py b/src/tm_devices/commands/afg3kc_commands.py index 15fdae98..b6169de8 100644 --- a/src/tm_devices/commands/afg3kc_commands.py +++ b/src/tm_devices/commands/afg3kc_commands.py @@ -29,10 +29,18 @@ from .gen_22daqs_afg.trigger import Trigger from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg # pylint: disable=too-few-public-methods diff --git a/src/tm_devices/commands/awg5200_commands.py b/src/tm_devices/commands/awg5200_commands.py index 3f168fd5..c6428a8d 100644 --- a/src/tm_devices/commands/awg5200_commands.py +++ b/src/tm_devices/commands/awg5200_commands.py @@ -33,11 +33,19 @@ from .gen_3n9auv_awg.slist import Slist from .gen_3n9auv_awg.status import Status from .gen_3n9auv_awg.wplugin import Wplugin +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/awg5k_commands.py b/src/tm_devices/commands/awg5k_commands.py index c6770dcc..e8e26166 100644 --- a/src/tm_devices/commands/awg5k_commands.py +++ b/src/tm_devices/commands/awg5k_commands.py @@ -25,11 +25,19 @@ from .gen_32dszm_awg.wlist import Wlist from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/awg5kc_commands.py b/src/tm_devices/commands/awg5kc_commands.py index 0282a63a..48403d78 100644 --- a/src/tm_devices/commands/awg5kc_commands.py +++ b/src/tm_devices/commands/awg5kc_commands.py @@ -25,11 +25,19 @@ from .gen_32dszm_awg.wlist import Wlist from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/awg70ka_commands.py b/src/tm_devices/commands/awg70ka_commands.py index 49c5ef3f..df7acd23 100644 --- a/src/tm_devices/commands/awg70ka_commands.py +++ b/src/tm_devices/commands/awg70ka_commands.py @@ -32,11 +32,19 @@ from .gen_3rs8qy_awg.system import System from .gen_3rs8qy_awg.trigger import Trigger from .gen_3rs8qy_awg.wlist import Wlist +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/awg70kb_commands.py b/src/tm_devices/commands/awg70kb_commands.py index 8537c4b9..9ebe1e8b 100644 --- a/src/tm_devices/commands/awg70kb_commands.py +++ b/src/tm_devices/commands/awg70kb_commands.py @@ -32,11 +32,19 @@ from .gen_3rs8qy_awg.system import System from .gen_3rs8qy_awg.trigger import Trigger from .gen_3rs8qy_awg.wlist import Wlist +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/awg7k_commands.py b/src/tm_devices/commands/awg7k_commands.py index a9c34b18..8e4d4b42 100644 --- a/src/tm_devices/commands/awg7k_commands.py +++ b/src/tm_devices/commands/awg7k_commands.py @@ -25,11 +25,19 @@ from .gen_32dszm_awg.wlist import Wlist from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/awg7kc_commands.py b/src/tm_devices/commands/awg7kc_commands.py index 5adbfd83..c90226ce 100644 --- a/src/tm_devices/commands/awg7kc_commands.py +++ b/src/tm_devices/commands/awg7kc_commands.py @@ -25,11 +25,19 @@ from .gen_32dszm_awg.wlist import Wlist from .gen_33ijgq_afgawg.abort import Abort from .gen_33ijgq_afgawg.calibration import Calibration +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/dpo2k_commands.py b/src/tm_devices/commands/dpo2k_commands.py index d4044176..ce66446c 100644 --- a/src/tm_devices/commands/dpo2k_commands.py +++ b/src/tm_devices/commands/dpo2k_commands.py @@ -18,34 +18,43 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav from .gen_fkjfe8_msodpodsa.time import Time +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 30e44aad..e01be060 100644 --- a/src/tm_devices/commands/dpo2kb_commands.py +++ b/src/tm_devices/commands/dpo2kb_commands.py @@ -18,34 +18,43 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav from .gen_fkjfe8_msodpodsa.time import Time +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 b768f4d2..8fa240da 100644 --- a/src/tm_devices/commands/dpo4k_commands.py +++ b/src/tm_devices/commands/dpo4k_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/dpo4kb_commands.py b/src/tm_devices/commands/dpo4kb_commands.py index 0b424bba..b6c6c44c 100644 --- a/src/tm_devices/commands/dpo4kb_commands.py +++ b/src/tm_devices/commands/dpo4kb_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/dpo5k_commands.py b/src/tm_devices/commands/dpo5k_commands.py index 78d43647..17899330 100644 --- a/src/tm_devices/commands/dpo5k_commands.py +++ b/src/tm_devices/commands/dpo5k_commands.py @@ -79,31 +79,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 af8ce01f..5e68bc90 100644 --- a/src/tm_devices/commands/dpo5kb_commands.py +++ b/src/tm_devices/commands/dpo5kb_commands.py @@ -81,31 +81,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 e802df17..eafc3110 100644 --- a/src/tm_devices/commands/dpo70kc_commands.py +++ b/src/tm_devices/commands/dpo70kc_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 5b543171..e76909fc 100644 --- a/src/tm_devices/commands/dpo70kd_commands.py +++ b/src/tm_devices/commands/dpo70kd_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 ef41d7e2..3d93df95 100644 --- a/src/tm_devices/commands/dpo70kdx_commands.py +++ b/src/tm_devices/commands/dpo70kdx_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 2339255f..e0064f3e 100644 --- a/src/tm_devices/commands/dpo70ksx_commands.py +++ b/src/tm_devices/commands/dpo70ksx_commands.py @@ -82,31 +82,40 @@ from .gen_fk3z56_dpodsamso.wfmpre import Wfmpre from .gen_fk3z56_dpodsamso.zoom import Zoom from .gen_fkjfe8_msodpodsa.time import Time +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 9b66b577..c8973f5d 100644 --- a/src/tm_devices/commands/dpo7k_commands.py +++ b/src/tm_devices/commands/dpo7k_commands.py @@ -79,31 +79,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 3e64b505..3b98be55 100644 --- a/src/tm_devices/commands/dpo7kc_commands.py +++ b/src/tm_devices/commands/dpo7kc_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 538ee3ea..e052a325 100644 --- a/src/tm_devices/commands/dsa70kc_commands.py +++ b/src/tm_devices/commands/dsa70kc_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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 fe32b02a..17126fcc 100644 --- a/src/tm_devices/commands/dsa70kd_commands.py +++ b/src/tm_devices/commands/dsa70kd_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/gen_4jiykk_dpo/errordetector.py b/src/tm_devices/commands/gen_4jiykk_dpo/errordetector.py index 04607ca9..530ca8ac 100644 --- a/src/tm_devices/commands/gen_4jiykk_dpo/errordetector.py +++ b/src/tm_devices/commands/gen_4jiykk_dpo/errordetector.py @@ -124,7 +124,7 @@ - ERRORDetector:SCRAMBLED? - ERRORDetector:SENDEMAIL {OFF|ON} - ERRORDetector:SENDEMAIL? - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? - ERRORDetector:SSC {ON|OFF} - ERRORDetector:SSC? @@ -1393,7 +1393,7 @@ class ErrordetectorSignaltype(SCPICmdWrite, SCPICmdRead): SCPI Syntax: ``` - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? ``` @@ -5736,7 +5736,7 @@ def signaltype(self) -> ErrordetectorSignaltype: SCPI Syntax: ``` - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? ``` diff --git a/src/tm_devices/commands/gen_4jiykk_dpo/rosc.py b/src/tm_devices/commands/gen_4jiykk_dpo/rosc.py index 635f2959..02c90585 100644 --- a/src/tm_devices/commands/gen_4jiykk_dpo/rosc.py +++ b/src/tm_devices/commands/gen_4jiykk_dpo/rosc.py @@ -13,7 +13,7 @@ - ROSc:OUT:FREQuency? - ROSc:OUT:ULTRAsync {OFF|ON} - ROSc:OUT:ULTRAsync? - - ROSc:SOUrce {EXTernal|ULTRAsync|INTERnal|TEKLink} + - ROSc:SOUrce {EXTernal|INTERnal|ULTRAsync|TEKLink} - ROSc:SOUrce? - ROSc:STATE? - ROSc:TRACking {STABle|FAST} @@ -94,7 +94,7 @@ class RoscSource(SCPICmdWrite, SCPICmdRead): SCPI Syntax: ``` - - ROSc:SOUrce {EXTernal|ULTRAsync|INTERnal|TEKLink} + - ROSc:SOUrce {EXTernal|INTERnal|ULTRAsync|TEKLink} - ROSc:SOUrce? ``` @@ -283,7 +283,7 @@ def source(self) -> RoscSource: SCPI Syntax: ``` - - ROSc:SOUrce {EXTernal|ULTRAsync|INTERnal|TEKLink} + - ROSc:SOUrce {EXTernal|INTERnal|ULTRAsync|TEKLink} - ROSc:SOUrce? ``` diff --git a/src/tm_devices/commands/gen_5xwdsk_dpodsamso/errordetector.py b/src/tm_devices/commands/gen_5xwdsk_dpodsamso/errordetector.py index a82a8d5e..bc0661b0 100644 --- a/src/tm_devices/commands/gen_5xwdsk_dpodsamso/errordetector.py +++ b/src/tm_devices/commands/gen_5xwdsk_dpodsamso/errordetector.py @@ -148,7 +148,7 @@ - ERRORDetector:SCRAMBLED? - ERRORDetector:SENDEMAIL {OFF|ON} - ERRORDetector:SENDEMAIL? - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? - ERRORDetector:SKIPSETPRIMitive:MINus? - ERRORDetector:SKIPSETPRIMitive:PLUS? @@ -1725,7 +1725,7 @@ class ErrordetectorSignaltype(SCPICmdWrite, SCPICmdRead): SCPI Syntax: ``` - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? ``` @@ -7099,7 +7099,7 @@ def signaltype(self) -> ErrordetectorSignaltype: SCPI Syntax: ``` - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? ``` diff --git a/src/tm_devices/commands/gen_e6606z_lpdmsomdodpo/__init__.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/__init__.py similarity index 100% rename from src/tm_devices/commands/gen_e6606z_lpdmsomdodpo/__init__.py rename to src/tm_devices/commands/gen_c3g61_tekscopepc/__init__.py diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/actonevent.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/actonevent.py new file mode 100644 index 00000000..2329da67 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/actonevent.py @@ -0,0 +1,652 @@ +"""The actonevent commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - ACTONEVent:ENable + - ACTONEVent:ENable? + - ACTONEVent:NUMSAVEs? + - ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE? + - ACTONEVent:TIMER:ACTION:SAVETable:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVETable:STATE? + - ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE? + - ACTONEVent:TIMERCount + - ACTONEVent:TIMERCount? + - ACTONEVent:TIMERInterval + - ACTONEVent:TIMERInterval? + - ACTONEVent:Type? + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class ActoneventType(SCPICmdRead): + """The ``ACTONEVent:Type`` command. + + Description: + - This command returns the act on event type. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:Type?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:Type?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - ACTONEVent:Type? + ``` + """ + + +class ActoneventTimerinterval(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TIMERInterval`` command. + + Description: + - This command sets or queries the amount of time, in seconds, to wait for act on event + timer event to trigger. The time can range from a minimum of 10 seconds to a maximum of + 100 seconds. The default is 30 seconds + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMERInterval?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMERInterval?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:TIMERInterval value`` + command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMERInterval + - ACTONEVent:TIMERInterval? + ``` + + Info: + - ```` is the amount of time, in seconds, to wait for act on event timer event to + trigger. + """ + + +class ActoneventTimercount(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TIMERCount`` command. + + Description: + - This command sets or queries the save on event timer count. The ``ACTONEVent:ENable`` must + be enabled. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMERCount?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMERCount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:TIMERCount value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMERCount + - ACTONEVent:TIMERCount? + ``` + + Info: + - ```` sets the number of allowed saves for the act on event feature. The number must + be a positive integer. + """ + + +class ActoneventTimerActionSavewaveformState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE`` command. + + Description: + - This command saves the user set source waveform(s) when ``:ACTONEVent:TIMERInterval`` + expires. + + Usage: + - Using the ``.query()`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE? + ``` + + Info: + - ``ON`` enables the save source waveform(s) when ``:ACTONEVent:TIMERInterval`` expires. + - ``OFF`` disables the save source waveform(s) when ``:ACTONEVent:TIMERInterval`` expires. + - ```` is a number that enables or disables the user set source waveform(s) when + ``:ACTONEVent:TIMERInterval`` expires. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventTimerActionSavewaveform(SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION:SAVEWAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTimerActionSavewaveformState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTimerActionSavewaveformState: + """Return the ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE`` command. + + Description: + - This command saves the user set source waveform(s) when ``:ACTONEVent:TIMERInterval`` + expires. + + Usage: + - Using the ``.query()`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE? + ``` + + Info: + - ``ON`` enables the save source waveform(s) when ``:ACTONEVent:TIMERInterval`` expires. + - ``OFF`` disables the save source waveform(s) when ``:ACTONEVent:TIMERInterval`` + expires. + - ```` is a number that enables or disables the user set source waveform(s) when + ``:ACTONEVent:TIMERInterval`` expires. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventTimerActionSavetableState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION:SAVETable:STATE`` command. + + Description: + - This command saves a measurement results when ``:ACTONEVent:TIMERInterval`` expires. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVETable:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVETable:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVETable:STATE value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMER:ACTION:SAVETable:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVETable:STATE? + ``` + + Info: + - ``ON`` enables the save measurement results when ``:ACTONEVent:TIMERInterval`` expires. + - ``OFF`` disables the save measurement results when ``:ACTONEVent:TIMERInterval`` expires. + - ```` is a number that enables or disables the save measurement results + ``:ACTONEVent:TIMERInterval`` expires. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventTimerActionSavetable(SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION:SAVETable`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVETable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMER:ACTION:SAVETable?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TIMER:ACTION:SAVETable:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTimerActionSavetableState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTimerActionSavetableState: + """Return the ``ACTONEVent:TIMER:ACTION:SAVETable:STATE`` command. + + Description: + - This command saves a measurement results when ``:ACTONEVent:TIMERInterval`` expires. + + Usage: + - Using the ``.query()`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVETable:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVETable:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVETable:STATE value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMER:ACTION:SAVETable:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVETable:STATE? + ``` + + Info: + - ``ON`` enables the save measurement results when ``:ACTONEVent:TIMERInterval`` + expires. + - ``OFF`` disables the save measurement results when ``:ACTONEVent:TIMERInterval`` + expires. + - ```` is a number that enables or disables the save measurement results + ``:ACTONEVent:TIMERInterval`` expires. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventTimerActionSaveimageState(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE`` command. + + Description: + - This command saves a screen capture when ``:ACTONEVent:TIMERInterval`` expires. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE? + ``` + + Info: + - ``ON`` enables the save screen capture when ``:ACTONEVent:TIMERInterval`` expires. + - ``OFF`` disables the save screen capture when ``:ACTONEVent:TIMERInterval`` expires. + - ```` is a number that enables or disables the save screen capture + ``:ACTONEVent:TIMERInterval`` expires. The number zero disables the feature, all other + numbers enable the feature. + """ + + +class ActoneventTimerActionSaveimage(SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION:SAVEIMAGe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVEIMAGe?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMER:ACTION:SAVEIMAGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ActoneventTimerActionSaveimageState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ActoneventTimerActionSaveimageState: + """Return the ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE`` command. + + Description: + - This command saves a screen capture when ``:ACTONEVent:TIMERInterval`` expires. + + Usage: + - Using the ``.query()`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE {ON|OFF|} + - ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE? + ``` + + Info: + - ``ON`` enables the save screen capture when ``:ACTONEVent:TIMERInterval`` expires. + - ``OFF`` disables the save screen capture when ``:ACTONEVent:TIMERInterval`` expires. + - ```` is a number that enables or disables the save screen capture + ``:ACTONEVent:TIMERInterval`` expires. The number zero disables the feature, all other + numbers enable the feature. + """ + return self._state + + +class ActoneventTimerAction(SCPICmdRead): + """The ``ACTONEVent:TIMER:ACTION`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMER:ACTION?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.saveimage``: The ``ACTONEVent:TIMER:ACTION:SAVEIMAGe`` command tree. + - ``.savetable``: The ``ACTONEVent:TIMER:ACTION:SAVETable`` command tree. + - ``.savewaveform``: The ``ACTONEVent:TIMER:ACTION:SAVEWAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._saveimage = ActoneventTimerActionSaveimage(device, f"{self._cmd_syntax}:SAVEIMAGe") + self._savetable = ActoneventTimerActionSavetable(device, f"{self._cmd_syntax}:SAVETable") + self._savewaveform = ActoneventTimerActionSavewaveform( + device, f"{self._cmd_syntax}:SAVEWAVEform" + ) + + @property + def saveimage(self) -> ActoneventTimerActionSaveimage: + """Return the ``ACTONEVent:TIMER:ACTION:SAVEIMAGe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVEIMAGe?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEIMAGe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE`` command. + """ + return self._saveimage + + @property + def savetable(self) -> ActoneventTimerActionSavetable: + """Return the ``ACTONEVent:TIMER:ACTION:SAVETable`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVETable?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVETable?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TIMER:ACTION:SAVETable:STATE`` command. + """ + return self._savetable + + @property + def savewaveform(self) -> ActoneventTimerActionSavewaveform: + """Return the ``ACTONEVent:TIMER:ACTION:SAVEWAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION:SAVEWAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``ACTONEVent:TIMER:ACTION:SAVEWAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE`` command. + """ + return self._savewaveform + + +class ActoneventTimer(SCPICmdRead): + """The ``ACTONEVent:TIMER`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMER?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.action``: The ``ACTONEVent:TIMER:ACTION`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._action = ActoneventTimerAction(device, f"{self._cmd_syntax}:ACTION") + + @property + def action(self) -> ActoneventTimerAction: + """Return the ``ACTONEVent:TIMER:ACTION`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER:ACTION?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMER:ACTION?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.saveimage``: The ``ACTONEVent:TIMER:ACTION:SAVEIMAGe`` command tree. + - ``.savetable``: The ``ACTONEVent:TIMER:ACTION:SAVETable`` command tree. + - ``.savewaveform``: The ``ACTONEVent:TIMER:ACTION:SAVEWAVEform`` command tree. + """ + return self._action + + +class ActoneventNumsaves(SCPICmdRead): + """The ``ACTONEVent:NUMSAVEs`` command. + + Description: + - This command returns the number of saves completed for save on event timer type. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:NUMSAVEs?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:NUMSAVEs?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - ACTONEVent:NUMSAVEs? + ``` + """ + + +class ActoneventEnable(SCPICmdWrite, SCPICmdRead): + """The ``ACTONEVent:ENable`` command. + + Description: + - This command enables or disables actions on event (AOE). If AOE saves are limited and the + limit has been reached, this parameter will disable AOE. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:ENable + - ACTONEVent:ENable? + ``` + + Info: + - ```` is a number that enables or disables actions on event. The number zero disables + the feature and the number one enables the feature. + """ + + +class Actonevent(SCPICmdRead): + """The ``ACTONEVent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.enable``: The ``ACTONEVent:ENable`` command. + - ``.numsaves``: The ``ACTONEVent:NUMSAVEs`` command. + - ``.timer``: The ``ACTONEVent:TIMER`` command tree. + - ``.timercount``: The ``ACTONEVent:TIMERCount`` command. + - ``.timerinterval``: The ``ACTONEVent:TIMERInterval`` command. + - ``.type``: The ``ACTONEVent:Type`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "ACTONEVent") -> None: + super().__init__(device, cmd_syntax) + self._enable = ActoneventEnable(device, f"{self._cmd_syntax}:ENable") + self._numsaves = ActoneventNumsaves(device, f"{self._cmd_syntax}:NUMSAVEs") + self._timer = ActoneventTimer(device, f"{self._cmd_syntax}:TIMER") + self._timercount = ActoneventTimercount(device, f"{self._cmd_syntax}:TIMERCount") + self._timerinterval = ActoneventTimerinterval(device, f"{self._cmd_syntax}:TIMERInterval") + self._type = ActoneventType(device, f"{self._cmd_syntax}:Type") + + @property + def enable(self) -> ActoneventEnable: + """Return the ``ACTONEVent:ENable`` command. + + Description: + - This command enables or disables actions on event (AOE). If AOE saves are limited and + the limit has been reached, this parameter will disable AOE. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:ENable?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:ENable?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:ENable value`` command. + + SCPI Syntax: + ``` + - ACTONEVent:ENable + - ACTONEVent:ENable? + ``` + + Info: + - ```` is a number that enables or disables actions on event. The number zero + disables the feature and the number one enables the feature. + """ + return self._enable + + @property + def numsaves(self) -> ActoneventNumsaves: + """Return the ``ACTONEVent:NUMSAVEs`` command. + + Description: + - This command returns the number of saves completed for save on event timer type. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:NUMSAVEs?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:NUMSAVEs?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - ACTONEVent:NUMSAVEs? + ``` + """ + return self._numsaves + + @property + def timer(self) -> ActoneventTimer: + """Return the ``ACTONEVent:TIMER`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMER?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMER?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.action``: The ``ACTONEVent:TIMER:ACTION`` command tree. + """ + return self._timer + + @property + def timercount(self) -> ActoneventTimercount: + """Return the ``ACTONEVent:TIMERCount`` command. + + Description: + - This command sets or queries the save on event timer count. The ``ACTONEVent:ENable`` + must be enabled. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMERCount?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMERCount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:TIMERCount value`` + command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMERCount + - ACTONEVent:TIMERCount? + ``` + + Info: + - ```` sets the number of allowed saves for the act on event feature. The number + must be a positive integer. + """ + return self._timercount + + @property + def timerinterval(self) -> ActoneventTimerinterval: + """Return the ``ACTONEVent:TIMERInterval`` command. + + Description: + - This command sets or queries the amount of time, in seconds, to wait for act on event + timer event to trigger. The time can range from a minimum of 10 seconds to a maximum + of 100 seconds. The default is 30 seconds + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:TIMERInterval?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:TIMERInterval?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ACTONEVent:TIMERInterval value`` + command. + + SCPI Syntax: + ``` + - ACTONEVent:TIMERInterval + - ACTONEVent:TIMERInterval? + ``` + + Info: + - ```` is the amount of time, in seconds, to wait for act on event timer event to + trigger. + """ + return self._timerinterval + + @property + def type(self) -> ActoneventType: + """Return the ``ACTONEVent:Type`` command. + + Description: + - This command returns the act on event type. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent:Type?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent:Type?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - ACTONEVent:Type? + ``` + """ + return self._type diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/bus.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/bus.py new file mode 100644 index 00000000..9361e1d2 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/bus.py @@ -0,0 +1,22873 @@ +# pylint: disable=line-too-long +"""The bus commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - BUS:ADDNew + - BUS:B:ARINC429A:BITRate {LOW|HI|CUSTom} + - BUS:B:ARINC429A:BITRate:CUSTom + - BUS:B:ARINC429A:BITRate:CUSTom? + - BUS:B:ARINC429A:BITRate? + - BUS:B:ARINC429A:DATAFORmat {DATA|SDIDATA|SDIDATASSM} + - BUS:B:ARINC429A:DATAFORmat? + - BUS:B:ARINC429A:POLARITY {NORMal|INVERTed} + - BUS:B:ARINC429A:POLARITY? + - BUS:B:ARINC429A:SOUrce {S_Ch|CH|Math|REF} + - BUS:B:ARINC429A:SOUrce? + - BUS:B:ARINC429A:THRESHold + - BUS:B:ARINC429A:THRESHold? + - BUS:B:AUDio:BITDelay + - BUS:B:AUDio:BITDelay? + - BUS:B:AUDio:BITOrder {MSB|LSB} + - BUS:B:AUDio:BITOrder? + - BUS:B:AUDio:CLOCk:POLarity {FALL|RISE} + - BUS:B:AUDio:CLOCk:POLarity? + - BUS:B:AUDio:CLOCk:SOUrce {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - BUS:B:AUDio:CLOCk:SOUrce? + - BUS:B:AUDio:CLOCk:THReshold + - BUS:B:AUDio:CLOCk:THReshold? + - BUS:B:AUDio:DATa:POLarity {HIGH|LOW} + - BUS:B:AUDio:DATa:POLarity? + - BUS:B:AUDio:DATa:SIZe + - BUS:B:AUDio:DATa:SIZe? + - BUS:B:AUDio:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:AUDio:DATa:SOUrce? + - BUS:B:AUDio:DATa:THReshold + - BUS:B:AUDio:DATa:THReshold? + - BUS:B:AUDio:DATa:WORDSize + - BUS:B:AUDio:DATa:WORDSize? + - BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL + - BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL? + - BUS:B:AUDio:FRAME:SIZe + - BUS:B:AUDio:FRAME:SIZe? + - BUS:B:AUDio:TYPe {I2S|LJ|RJ|TDM} + - BUS:B:AUDio:TYPe? + - BUS:B:AUDio:WORDSel:POLarity {NORMal|INVERTed} + - BUS:B:AUDio:WORDSel:POLarity? + - BUS:B:AUDio:WORDSel:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:AUDio:WORDSel:SOUrce? + - BUS:B:AUDio:WORDSel:THReshold + - BUS:B:AUDio:WORDSel:THReshold? + - BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD + - BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD? + - BUS:B:AUTOETHERnet:DATAPLUSTHRESHold + - BUS:B:AUTOETHERnet:DATAPLUSTHRESHold? + - BUS:B:AUTOETHERnet:LOWDATAMINus + - BUS:B:AUTOETHERnet:LOWDATAMINus? + - BUS:B:AUTOETHERnet:LOWDATAPLUS + - BUS:B:AUTOETHERnet:LOWDATAPLUS? + - BUS:B:AUTOETHERnet:LOWTHRESHold + - BUS:B:AUTOETHERnet:LOWTHRESHold? + - BUS:B:AUTOETHERnet:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:AUTOETHERnet:SIGNALTYpe? + - BUS:B:AUTOETHERnet:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DMINus? + - BUS:B:AUTOETHERnet:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DPLUs? + - BUS:B:AUTOETHERnet:SOUrce? + - BUS:B:AUTOETHERnet:THRESHold + - BUS:B:AUTOETHERnet:THRESHold? + - BUS:B:AUTOETHERnet:TYPe {HUNDREDBASET1} + - BUS:B:AUTOETHERnet:TYPe? + - BUS:B:CAN:BITRate {RATE10K|RATE100K|RATE1M|RATE125K|RATE153K|RATE20K|RATE25K|RATE250K|RATE31K|RATE33K|RATE400K|RATE50K|RATE500K|RATE62K|RATE68K|RATE800K|RATE83K|RATE92K|CUSTom} + - BUS:B:CAN:BITRate:VALue + - BUS:B:CAN:BITRate:VALue? + - BUS:B:CAN:BITRate? + - BUS:B:CAN:FD:BITRate {RATE1M|RATE2M|RATE3M|RATE4M|RATE5M|RATE6M|RATE7M|RATE8M|RATE9M|RATE10M|RATE11M|RATE12M|RATE13M|RATE14M|RATE15M|RATE16M|CUSTom} + - BUS:B:CAN:FD:BITRate:CUSTom + - BUS:B:CAN:FD:BITRate:CUSTom? + - BUS:B:CAN:FD:BITRate? + - BUS:B:CAN:SAMPLEpoint + - BUS:B:CAN:SAMPLEpoint? + - BUS:B:CAN:SIGNal {DIFFerential|CANH|CANL|RX|TX} + - BUS:B:CAN:SIGNal? + - BUS:B:CAN:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:CAN:SOUrce? + - BUS:B:CAN:STANDard {CAN2X|FDISO|FDNONISO} + - BUS:B:CAN:STANDard? + - BUS:B:CAN:THReshold + - BUS:B:CAN:THReshold? + - BUS:B:CPHY:A:DATA:THRESHold + - BUS:B:CPHY:A:DATA:THRESHold? + - BUS:B:CPHY:A:LP:THRESHold + - BUS:B:CPHY:A:LP:THRESHold? + - BUS:B:CPHY:A:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:A:SOUrce? + - BUS:B:CPHY:AB:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:AB:SOUrce? + - BUS:B:CPHY:AB:THReshold + - BUS:B:CPHY:AB:THReshold? + - BUS:B:CPHY:AGND:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:AGND:SOUrce? + - BUS:B:CPHY:AGND:THReshold + - BUS:B:CPHY:AGND:THReshold? + - BUS:B:CPHY:B:DATA:THRESHold + - BUS:B:CPHY:B:DATA:THRESHold? + - BUS:B:CPHY:B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:B:SOUrce? + - BUS:B:CPHY:BC:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:BC:SOUrce? + - BUS:B:CPHY:BC:THReshold + - BUS:B:CPHY:BC:THReshold? + - BUS:B:CPHY:BITRate + - BUS:B:CPHY:BITRate? + - BUS:B:CPHY:C:DATA:THRESHold + - BUS:B:CPHY:C:DATA:THRESHold? + - BUS:B:CPHY:C:LP:THRESHold + - BUS:B:CPHY:C:LP:THRESHold? + - BUS:B:CPHY:C:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:C:SOUrce? + - BUS:B:CPHY:CA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:CA:SOUrce? + - BUS:B:CPHY:CA:THReshold + - BUS:B:CPHY:CA:THReshold? + - BUS:B:CPHY:CGND:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:CGND:SOUrce? + - BUS:B:CPHY:CGND:THReshold + - BUS:B:CPHY:CGND:THReshold? + - BUS:B:CPHY:LP:DIRection {forward|reverse} + - BUS:B:CPHY:LP:DIRection? + - BUS:B:CPHY:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:CPHY:SIGNALTYpe? + - BUS:B:CPHY:SUBTYPe {CSI|DSI|Word|Symbol} + - BUS:B:CPHY:SUBTYPe? + - BUS:B:CXPI:BITRate + - BUS:B:CXPI:BITRate? + - BUS:B:CXPI:REC:THReshold + - BUS:B:CXPI:REC:THReshold? + - BUS:B:CXPI:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CXPI:SOUrce? + - BUS:B:DISplay:FORMat {HEX|BINARY|MIXEDASCII|MIXEDHEX|ASCII|DECIMAL|MIXED} + - BUS:B:DISplay:FORMat? + - BUS:B:DISplay:LAYout {BUS|BUSANDWAVEFORM} + - BUS:B:DISplay:LAYout? + - BUS:B:DPHY:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:CLOCk:SOUrce? + - BUS:B:DPHY:CLOCk:THRESHold + - BUS:B:DPHY:CLOCk:THRESHold? + - BUS:B:DPHY:DMINus:DATATHRESHold + - BUS:B:DPHY:DMINus:DATATHRESHold? + - BUS:B:DPHY:DMINus:LPTHRESHold + - BUS:B:DPHY:DMINus:LPTHRESHold? + - BUS:B:DPHY:DMINus:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:DMINus:SOUrce? + - BUS:B:DPHY:DPlus:DATATHRESHold + - BUS:B:DPHY:DPlus:DATATHRESHold? + - BUS:B:DPHY:DPlus:LPTHRESHold + - BUS:B:DPHY:DPlus:LPTHRESHold? + - BUS:B:DPHY:DPlus:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:DPlus:SOUrce? + - BUS:B:DPHY:LP:DIRection {forward|reverse} + - BUS:B:DPHY:LP:DIRection? + - BUS:B:DPHY:PROTocol:TYPe {CSI|DSI} + - BUS:B:DPHY:PROTocol:TYPe? + - BUS:B:DPHY:SIGNal:ENCoding {false|true} + - BUS:B:DPHY:SIGNal:ENCoding? + - BUS:B:ESPI:ALERTVIEW {ON|OFF} + - BUS:B:ESPI:ALERTVIEW? + - BUS:B:ESPI:ALERt:POLarity {HIGH|LOW} + - BUS:B:ESPI:ALERt:POLarity? + - BUS:B:ESPI:ALERt:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:ALERt:SOUrce? + - BUS:B:ESPI:ALERt:THReshold + - BUS:B:ESPI:ALERt:THReshold? + - BUS:B:ESPI:CHIPSELect:POLarity {HIGH|LOW} + - BUS:B:ESPI:CHIPSELect:POLarity? + - BUS:B:ESPI:CHIPSELect:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:CHIPSELect:SOUrce? + - BUS:B:ESPI:CHIPSELect:THReshold + - BUS:B:ESPI:CHIPSELect:THReshold? + - BUS:B:ESPI:CLOCk:POLarity {FALL|RISE} + - BUS:B:ESPI:CLOCk:POLarity? + - BUS:B:ESPI:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:CLOCk:SOUrce? + - BUS:B:ESPI:CLOCk:THReshold + - BUS:B:ESPI:CLOCk:THReshold? + - BUS:B:ESPI:DATAONE:POLarity {HIGH|LOW} + - BUS:B:ESPI:DATAONE:POLarity? + - BUS:B:ESPI:DATAONE:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:DATAONE:SOUrce? + - BUS:B:ESPI:DATAONE:THReshold + - BUS:B:ESPI:DATAONE:THReshold? + - BUS:B:ESPI:DATATWO:POLarity {HIGH|LOW} + - BUS:B:ESPI:DATATWO:POLarity? + - BUS:B:ESPI:DATATWO:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:DATATWO:SOUrce? + - BUS:B:ESPI:DATATWO:THReshold + - BUS:B:ESPI:DATATWO:THReshold? + - BUS:B:ESPI:IOMODe {SINGle|DUAL} + - BUS:B:ESPI:IOMODe? + - BUS:B:ETHERCAT:DATAMINUSTHRESHold + - BUS:B:ETHERCAT:DATAMINUSTHRESHold? + - BUS:B:ETHERCAT:DATAPLUSTHRESHold + - BUS:B:ETHERCAT:DATAPLUSTHRESHold? + - BUS:B:ETHERCAT:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:ETHERCAT:SIGNALTYpe? + - BUS:B:ETHERCAT:SOUrce:DIFF {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DIFF? + - BUS:B:ETHERCAT:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DMINus? + - BUS:B:ETHERCAT:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DPLUs? + - BUS:B:ETHERCAT:THRESHold + - BUS:B:ETHERCAT:THRESHold? + - BUS:B:ETHERnet:DATAMINUSTHRESHold + - BUS:B:ETHERnet:DATAMINUSTHRESHold? + - BUS:B:ETHERnet:DATAPLUSTHRESHold + - BUS:B:ETHERnet:DATAPLUSTHRESHold? + - BUS:B:ETHERnet:IPVFOUR {YES|NO} + - BUS:B:ETHERnet:IPVFOUR? + - BUS:B:ETHERnet:LOWTHRESHold + - BUS:B:ETHERnet:LOWTHRESHold? + - BUS:B:ETHERnet:QTAGGING {YES|NO} + - BUS:B:ETHERnet:QTAGGING? + - BUS:B:ETHERnet:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:ETHERnet:SIGNALTYpe? + - BUS:B:ETHERnet:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DMINus? + - BUS:B:ETHERnet:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DPLUs? + - BUS:B:ETHERnet:SOUrce? + - BUS:B:ETHERnet:THRESHold + - BUS:B:ETHERnet:THRESHold? + - BUS:B:ETHERnet:TYPe {TENBASET|HUNDREDBASETX} + - BUS:B:ETHERnet:TYPe? + - BUS:B:EUSB:BITRate {HIGH|FULL|LOW} + - BUS:B:EUSB:BITRate? + - BUS:B:EUSB:DATAMINUS:DATA:THRESHold + - BUS:B:EUSB:DATAMINUS:DATA:THRESHold? + - BUS:B:EUSB:DATAMINUSTHRESHold + - BUS:B:EUSB:DATAMINUSTHRESHold? + - BUS:B:EUSB:DATAPLUS:DATA:THRESHold + - BUS:B:EUSB:DATAPLUS:DATA:THRESHold? + - BUS:B:EUSB:DATAPLUSTHRESHold + - BUS:B:EUSB:DATAPLUSTHRESHold? + - BUS:B:EUSB:LOWTHRESHold + - BUS:B:EUSB:LOWTHRESHold? + - BUS:B:EUSB:OPERating:MODe {NATive|REPEATERHOSt|REPEATERPERIPHERAL} + - BUS:B:EUSB:OPERating:MODe? + - BUS:B:EUSB:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:EUSB:SIGNALTYpe? + - BUS:B:EUSB:SOUrce:DIFF {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DIFF? + - BUS:B:EUSB:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DMINus? + - BUS:B:EUSB:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DPLUs? + - BUS:B:EUSB:THRESHold + - BUS:B:EUSB:THRESHold? + - BUS:B:FLEXray:BITRate {CUSTOM|RATE2M|RATE5M|RATE10M} + - BUS:B:FLEXray:BITRate:CUSTom + - BUS:B:FLEXray:BITRate:CUSTom? + - BUS:B:FLEXray:BITRate? + - BUS:B:FLEXray:CHannel {A|B} + - BUS:B:FLEXray:CHannel? + - BUS:B:FLEXray:LOWTHRESHold + - BUS:B:FLEXray:LOWTHRESHold? + - BUS:B:FLEXray:SIGnal {BDIFFBP|BM|TXRX} + - BUS:B:FLEXray:SIGnal? + - BUS:B:FLEXray:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:FLEXray:SOUrce:TXRX {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:FLEXray:SOUrce:TXRX? + - BUS:B:FLEXray:SOUrce? + - BUS:B:FLEXray:THRESHold + - BUS:B:FLEXray:THRESHold? + - BUS:B:FLEXray:TXRXTHRESHold + - BUS:B:FLEXray:TXRXTHRESHold? + - BUS:B:I2C:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I2C:CLOCk:SOUrce? + - BUS:B:I2C:CLOCk:THReshold + - BUS:B:I2C:CLOCk:THReshold? + - BUS:B:I2C:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I2C:DATa:SOUrce? + - BUS:B:I2C:DATa:THReshold + - BUS:B:I2C:DATa:THReshold? + - BUS:B:I2C:RWINADDR {0|1} + - BUS:B:I2C:RWINADDR? + - BUS:B:I3C:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:CLOCk:SOUrce? + - BUS:B:I3C:CLOCk:THReshold + - BUS:B:I3C:CLOCk:THReshold? + - BUS:B:I3C:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:DATa:SOUrce? + - BUS:B:I3C:DATa:THReshold {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:DATa:THReshold? + - BUS:B:LABel:COLor + - BUS:B:LABel:COLor? + - BUS:B:LABel:FONT:BOLD {ON|OFF|1|0} + - BUS:B:LABel:FONT:BOLD? + - BUS:B:LABel:FONT:ITALic {ON|OFF|1|0} + - BUS:B:LABel:FONT:ITALic? + - BUS:B:LABel:FONT:SIZE + - BUS:B:LABel:FONT:SIZE? + - BUS:B:LABel:FONT:TYPE + - BUS:B:LABel:FONT:TYPE? + - BUS:B:LABel:FONT:UNDERline {ON|OFF|1|0} + - BUS:B:LABel:FONT:UNDERline? + - BUS:B:LABel:XPOS + - BUS:B:LABel:XPOS? + - BUS:B:LABel:YPOS + - BUS:B:LABel:YPOS? + - BUS:B:LABel:name + - BUS:B:LABel:name? + - BUS:B:LIN:BITRate {RATE10K|RATE1K|RATE19K|RATE2K|RATE4K|RATE9K|CUSTom} + - BUS:B:LIN:BITRate:CUSTom + - BUS:B:LIN:BITRate:CUSTom? + - BUS:B:LIN:BITRate? + - BUS:B:LIN:IDFORmat {NOPARity|PARity} + - BUS:B:LIN:IDFORmat? + - BUS:B:LIN:POLarity {INVerted|NORmal} + - BUS:B:LIN:POLarity? + - BUS:B:LIN:SAMPLEpoint + - BUS:B:LIN:SAMPLEpoint? + - BUS:B:LIN:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:LIN:SOUrce:THReshold + - BUS:B:LIN:SOUrce:THReshold? + - BUS:B:LIN:SOUrce? + - BUS:B:LIN:STANDard {MIXed|V1X|V2X} + - BUS:B:LIN:STANDard? + - BUS:B:MANChester:BITORDer {LSB|MSB} + - BUS:B:MANChester:BITORDer? + - BUS:B:MANChester:BITRate + - BUS:B:MANChester:BITRate? + - BUS:B:MANChester:DISplaymode {BITS|PACKET} + - BUS:B:MANChester:DISplaymode? + - BUS:B:MANChester:HEADer:LENGth + - BUS:B:MANChester:HEADer:LENGth? + - BUS:B:MANChester:IDLE:BITS + - BUS:B:MANChester:IDLE:BITS? + - BUS:B:MANChester:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MANChester:SOUrce? + - BUS:B:MANChester:START:INDex + - BUS:B:MANChester:START:INDex? + - BUS:B:MANChester:SYNC:SIZe + - BUS:B:MANChester:SYNC:SIZe? + - BUS:B:MANChester:THReshold + - BUS:B:MANChester:THReshold? + - BUS:B:MANChester:TOLerance + - BUS:B:MANChester:TOLerance? + - BUS:B:MANChester:TRANstion:ZERo {FALLing|RISing} + - BUS:B:MANChester:TRANstion:ZERo? + - BUS:B:MANChester:TRAiler:LENGth + - BUS:B:MANChester:TRAiler:LENGth? + - BUS:B:MANChester:WORD:COUNt + - BUS:B:MANChester:WORD:COUNt? + - BUS:B:MANChester:WORDSIZe + - BUS:B:MANChester:WORDSIZe? + - BUS:B:MANChester:parity {ODD|EVEN|NONE} + - BUS:B:MANChester:parity? + - BUS:B:MDIO:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MDIO:CLOCk:SOUrce? + - BUS:B:MDIO:CLOCk:THReshold + - BUS:B:MDIO:CLOCk:THReshold? + - BUS:B:MDIO:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MDIO:DATA:SOUrce? + - BUS:B:MDIO:DATA:THReshold + - BUS:B:MDIO:DATA:THReshold? + - BUS:B:MIL1553B:LOWTHRESHold + - BUS:B:MIL1553B:LOWTHRESHold? + - BUS:B:MIL1553B:POLarity {NORMal|INVERTed} + - BUS:B:MIL1553B:POLarity? + - BUS:B:MIL1553B:RESPonsetime:MAXimum + - BUS:B:MIL1553B:RESPonsetime:MAXimum? + - BUS:B:MIL1553B:RESPonsetime:MINimum + - BUS:B:MIL1553B:RESPonsetime:MINimum? + - BUS:B:MIL1553B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MIL1553B:SOUrce? + - BUS:B:MIL1553B:THRESHold + - BUS:B:MIL1553B:THRESHold? + - BUS:B:NRZ:BITOrder {LSB|MSB} + - BUS:B:NRZ:BITOrder? + - BUS:B:NRZ:BITRate + - BUS:B:NRZ:BITRate? + - BUS:B:NRZ:POLarity {INVerted|NORmal} + - BUS:B:NRZ:POLarity? + - BUS:B:NRZ:SOUrce {S_Ch|CH|MATH|REF] + - BUS:B:NRZ:SOUrce? + - BUS:B:NRZ:SPMI:VERsion {v} + - BUS:B:NRZ:SPMI:VERsion? + - BUS:B:NRZ:THReshold + - BUS:B:NRZ:THReshold? + - BUS:B:ONEWIRe:DATA:SOUrce {S_Ch|CH|MATH|REF] + - BUS:B:ONEWIRe:DATA:SOUrce? + - BUS:B:ONEWIRe:DATA:THReshold + - BUS:B:ONEWIRe:DATA:THReshold? + - BUS:B:ONEWIRe:MODe {STAndard|OVErdrive} + - BUS:B:ONEWIRe:MODe? + - BUS:B:PARallel:ALLTHResholds + - BUS:B:PARallel:ALLTHResholds:APPly + - BUS:B:PARallel:BITSOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D|NONE} + - BUS:B:PARallel:BITSOUrce:THReshold + - BUS:B:PARallel:CLOCk:EDGE {FALLING|RISING|EITHER} + - BUS:B:PARallel:CLOCk:EDGE? + - BUS:B:PARallel:CLOCk:ISCLOCKED {OFF|ON|NR1> + - BUS:B:PARallel:CLOCk:ISCLOCKED? + - BUS:B:PARallel:CLOCkSOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D|NONE} + - BUS:B:PARallel:CLOCkSOUrce:THReshold + - BUS:B:PARallel:CLOCkSOUrce:THReshold? + - BUS:B:PARallel:CLOCkSOUrce? + - BUS:B:PSIFIVe:BITPERiod + - BUS:B:PSIFIVe:BITPERiod? + - BUS:B:PSIFIVe:BITRate {RATE125K|RATE189K|RATE83K} + - BUS:B:PSIFIVe:BITRate? + - BUS:B:PSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} + - BUS:B:PSIFIVe:COMM:DIRection? + - BUS:B:PSIFIVe:DATAA + - BUS:B:PSIFIVe:DATAA? + - BUS:B:PSIFIVe:DATAB + - BUS:B:PSIFIVe:DATAB? + - BUS:B:PSIFIVe:DATAFORMat {NIBBLe|BYTe} + - BUS:B:PSIFIVe:DATAFORMat? + - BUS:B:PSIFIVe:ECUSOURce {S_Ch|CH|MATH|REF} + - BUS:B:PSIFIVe:ECUSOURce? + - BUS:B:PSIFIVe:FRAMECONTrol + - BUS:B:PSIFIVe:FRAMECONTrol? + - BUS:B:PSIFIVe:MESSaging {OFF|ON} + - BUS:B:PSIFIVe:MESSaging? + - BUS:B:PSIFIVe:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:PSIFIVe:SOUrce? + - BUS:B:PSIFIVe:STATus + - BUS:B:PSIFIVe:STATus? + - BUS:B:PSIFIVe:SYNCMODe {PULSEWIDTh|TOOTHGAP} + - BUS:B:PSIFIVe:SYNCMODe? + - BUS:B:PSIFIVe:SYNCTHRESHold + - BUS:B:PSIFIVe:SYNCTHRESHold? + - BUS:B:PSIFIVe:THRESHold + - BUS:B:PSIFIVe:THRESHold? + - BUS:B:RS232C:BITRate {CUSTOM|RATE300|RATE1K|RATE2K|RATE9K|RATE19K|RATE38K|RATE115K|RATE921K} + - BUS:B:RS232C:BITRate:CUSTom + - BUS:B:RS232C:BITRate:CUSTom? + - BUS:B:RS232C:BITRate? + - BUS:B:RS232C:DATABits {7|8|9} + - BUS:B:RS232C:DATABits? + - BUS:B:RS232C:DELIMiter {NULl|CR|LF|SPace|XFF} + - BUS:B:RS232C:DELIMiter? + - BUS:B:RS232C:DISplaymode {FRame|PACKET} + - BUS:B:RS232C:DISplaymode? + - BUS:B:RS232C:PARity {NONe|EVEN|ODD} + - BUS:B:RS232C:PARity? + - BUS:B:RS232C:POLarity {NORmal|INVERTed} + - BUS:B:RS232C:POLarity? + - BUS:B:RS232C:SOUrce {S_Ch_D|CH|CH_D|REF|MATH|REF_D} + - BUS:B:RS232C:SOUrce:THReshold + - BUS:B:RS232C:SOUrce:THReshold? + - BUS:B:RS232C:SOUrce? + - BUS:B:S8B10B:BITRate + - BUS:B:S8B10B:BITRate? + - BUS:B:S8B10B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:S8B10B:SOUrce? + - BUS:B:S8B10B:THReshold + - BUS:B:S8B10B:THReshold? + - BUS:B:SDLC:BITRate + - BUS:B:SDLC:BITRate? + - BUS:B:SDLC:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SDLC:DATA:SOUrce? + - BUS:B:SDLC:DATA:THReshold + - BUS:B:SDLC:DATA:THReshold? + - BUS:B:SDLC:ENCoding {DISCrete|INVert} + - BUS:B:SDLC:ENCoding? + - BUS:B:SDLC:MODulo {8|128} + - BUS:B:SDLC:MODulo? + - BUS:B:SENT:CHANWidth {TWELVEtwelve|FOURTEENten|SIXTEENeight} + - BUS:B:SENT:CHANWidth? + - BUS:B:SENT:NIBBLECount {THREE|FOUR|SIX} + - BUS:B:SENT:NIBBLECount? + - BUS:B:SENT:NUMCHANnel {ONE|TWO} + - BUS:B:SENT:NUMCHANnel? + - BUS:B:SENT:PAUSEPULSe {NO|YES} + - BUS:B:SENT:PAUSEPULSe? + - BUS:B:SENT:POLARITY {INVerted|NORmal} + - BUS:B:SENT:POLARITY? + - BUS:B:SENT:SLOW {NOne|ENHANCED4|ENHANCED8|SHOrt} + - BUS:B:SENT:SLOW? + - BUS:B:SENT:SOUrce {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - BUS:B:SENT:SOUrce? + - BUS:B:SENT:THRESHold + - BUS:B:SENT:THRESHold? + - BUS:B:SENT:TICKTIME + - BUS:B:SENT:TICKTIME? + - BUS:B:SENT:TICKTOLerance + - BUS:B:SENT:TICKTOLerance? + - BUS:B:SMBUS:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SMBUS:CLOCk:SOUrce? + - BUS:B:SMBUS:CLOCk:THReshold + - BUS:B:SMBUS:CLOCk:THReshold? + - BUS:B:SMBUS:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SMBUS:DATA:SOUrce? + - BUS:B:SMBUS:DATA:THReshold + - BUS:B:SMBUS:DATA:THReshold? + - BUS:B:SMBUS:PEC:VALUe {TRUe|FALSe} + - BUS:B:SMBUS:PEC:VALUe? + - BUS:B:SPACEWIRe:BITRate + - BUS:B:SPACEWIRe:BITRate? + - BUS:B:SPACEWIRe:DATa:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SPACEWIRe:DATa:SOUrce? + - BUS:B:SPACEWIRe:DATa:THReshold + - BUS:B:SPACEWIRe:DATa:THReshold? + - BUS:B:SPACEWIRe:DECode:TYPe {STRObe|DATARate} + - BUS:B:SPACEWIRe:DECode:TYPe? + - BUS:B:SPACEWIRe:STRobe:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SPACEWIRe:STRobe:SOUrce? + - BUS:B:SPACEWIRe:STRobe:THReshold + - BUS:B:SPACEWIRe:STRobe:THReshold? + - BUS:B:SPACEWIRe:SYNC {DATA|NULL|AUTO|CUSTom} + - BUS:B:SPACEWIRe:SYNC:COUnt + - BUS:B:SPACEWIRe:SYNC:COUnt? + - BUS:B:SPACEWIRe:SYNC:PATTern + - BUS:B:SPACEWIRe:SYNC:PATTern? + - BUS:B:SPACEWIRe:SYNC:VALUe + - BUS:B:SPACEWIRe:SYNC:VALUe? + - BUS:B:SPACEWIRe:SYNC? + - BUS:B:SPI:BITOrder {LSB|MSB} + - BUS:B:SPI:BITOrder? + - BUS:B:SPI:CLOCk:POLarity {FALL|RISE} + - BUS:B:SPI:CLOCk:POLarity? + - BUS:B:SPI:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:CLOCk:SOUrce? + - BUS:B:SPI:CLOCk:THReshold + - BUS:B:SPI:CLOCk:THReshold? + - BUS:B:SPI:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:DATa:POLarity? + - BUS:B:SPI:DATa:SIZe + - BUS:B:SPI:DATa:SIZe? + - BUS:B:SPI:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:DATa:SOUrce? + - BUS:B:SPI:DATa:THReshold + - BUS:B:SPI:DATa:THReshold? + - BUS:B:SPI:FRAMING {IDLE|SS} + - BUS:B:SPI:FRAMING? + - BUS:B:SPI:IDLETime + - BUS:B:SPI:IDLETime? + - BUS:B:SPI:MISo:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:MISo:DATa:POLarity? + - BUS:B:SPI:MISo:INPut {S_Ch|CH|MATH|REF} + - BUS:B:SPI:MISo:INPut? + - BUS:B:SPI:MISo:THReshold + - BUS:B:SPI:MISo:THReshold? + - BUS:B:SPI:MOSi:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:MOSi:DATa:POLarity? + - BUS:B:SPI:MOSi:INPut {S_Ch|CH|MATH|REF} + - BUS:B:SPI:MOSi:INPut? + - BUS:B:SPI:MOSi:THReshold + - BUS:B:SPI:MOSi:THReshold? + - BUS:B:SPI:NUMBer:INputs {ONE|TWO} + - BUS:B:SPI:NUMBer:INputs? + - BUS:B:SPI:SELect:POLarity {LOW|HIGH} + - BUS:B:SPI:SELect:POLarity? + - BUS:B:SPI:SELect:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:SELect:SOUrce? + - BUS:B:SPI:SELect:THReshold + - BUS:B:SPI:SELect:THReshold? + - BUS:B:SPMI:SCLk:SOUrce {CH|CH_Dx>|Math|REF|REF_D} + - BUS:B:SPMI:SCLk:SOUrce? + - BUS:B:SPMI:SCLk:THReshold + - BUS:B:SPMI:SCLk:THReshold? + - BUS:B:SPMI:SDATa:SOUrce {CH|CH_Dx>|Math|REF|REF_D} + - BUS:B:SPMI:SDATa:SOUrce? + - BUS:B:SPMI:SDATa:THReshold + - BUS:B:SPMI:SDATa:THReshold? + - BUS:B:SVID:ALERT:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:ALERT:SOUrce? + - BUS:B:SVID:ALERT:THReshold + - BUS:B:SVID:ALERT:THReshold? + - BUS:B:SVID:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:CLOCk:SOUrce? + - BUS:B:SVID:CLOCk:THReshold + - BUS:B:SVID:CLOCk:THReshold? + - BUS:B:SVID:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:DATA:SOUrce? + - BUS:B:SVID:DATA:THReshold + - BUS:B:SVID:DATA:THReshold? + - BUS:B:TYPe {ARINC429|AUDio|CAN|ETHernet|EUSB|FLEXRAY|I2C|I3C|LIN|MDIO|MIL1553B|PARallel|RS232C|SENT|SPI|SPMI|SVID|USB} + - BUS:B:TYPe? + - BUS:B:USB:BITRate {FULL|HIGH|LOW} + - BUS:B:USB:BITRate? + - BUS:B:USB:DATAMINUSTHRESHold + - BUS:B:USB:DATAMINUSTHRESHold? + - BUS:B:USB:DATAPLUSTHRESHold + - BUS:B:USB:DATAPLUSTHRESHold? + - BUS:B:USB:LOWTHRESHold + - BUS:B:USB:LOWTHRESHold? + - BUS:B:USB:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:USB:SIGNALTYpe? + - BUS:B:USB:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:USB:SOUrce:DMINus {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:USB:SOUrce:DMINus? + - BUS:B:USB:SOUrce:DPLUs {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:USB:SOUrce:DPLUs? + - BUS:B:USB:SOUrce? + - BUS:B:USB:THRESHold + - BUS:B:USB:THRESHold? + - BUS:DELete + - BUS:LIST? + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class BusList(SCPICmdRead): + """The ``BUS:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined buses. + + Usage: + - Using the ``.query()`` method will send the ``BUS:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - BUS:LIST? + ``` + """ + + +class BusDelete(SCPICmdWrite): + """The ``BUS:DELete`` command. + + Description: + - This command deletes the specified bus. + + Usage: + - Using the ``.write(value)`` method will send the ``BUS:DELete value`` command. + + SCPI Syntax: + ``` + - BUS:DELete + ``` + + Info: + - ```` specifies the bus to delete and is of the form 'B', where is ≥1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class BusBItemUsbThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:THRESHold`` command. + + Description: + - This command sets or queries the USB DATA source High threshold for the specified bus when + the signal source is differential. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:THRESHold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:USB:THRESHold + - BUS:B:USB:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the USB DATA source High threshold for the specified bus. + """ + + +class BusBItemUsbSourceDplus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the USB dataPlus (SDATAPLUS) source for the specified bus + when the signal type is single ended. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SOUrce:DPLUs?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SOUrce:DPLUs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SOUrce:DPLUs {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:USB:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the D+ source for the specified USB bus. + - ``CH_D`` specifies a digital channel as the D+ source for the specified USB bus. + - ``MATH`` specifies a math channel as the D+ source for the specified USB bus. + - ``REF`` specifies a reference waveform as the source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified USB bus. + """ + + +class BusBItemUsbSourceDminus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the USB D- (SDATAMINUS) source for bus when the signal + type is single ended. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SOUrce:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SOUrce:DMINus?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SOUrce:DMINus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SOUrce:DMINus {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:USB:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the D- source for the specified USB bus. + - ``CH_D`` specifies a digital channel as the D- source for the specified USB bus. + - ``MATH`` specifies a math channel as the D- source for the specified USB bus. + - ``REF`` specifies a reference waveform as the source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified USB bus. + """ + + +class BusBItemUsbSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:SOUrce`` command. + + Description: + - This command sets or queries the USB data source when the signal type is differential for + bus . The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:USB:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:USB:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the data source for the specified USB bus. + - ``MATH`` specifies a math channel as the data source for the specified USB bus. + - ``REF`` specifies a reference waveform as the data source. + + Properties: + - ``.dminus``: The ``BUS:B:USB:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:USB:SOUrce:DPLUs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dminus = BusBItemUsbSourceDminus(device, f"{self._cmd_syntax}:DMINus") + self._dplus = BusBItemUsbSourceDplus(device, f"{self._cmd_syntax}:DPLUs") + + @property + def dminus(self) -> BusBItemUsbSourceDminus: + """Return the ``BUS:B:USB:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the USB D- (SDATAMINUS) source for bus when the + signal type is single ended. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SOUrce:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SOUrce:DMINus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SOUrce:DMINus {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:USB:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the D- source for the specified USB bus. + - ``CH_D`` specifies a digital channel as the D- source for the specified USB bus. + - ``MATH`` specifies a math channel as the D- source for the specified USB bus. + - ``REF`` specifies a reference waveform as the source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified USB bus. + """ # noqa: E501 + return self._dminus + + @property + def dplus(self) -> BusBItemUsbSourceDplus: + """Return the ``BUS:B:USB:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the USB dataPlus (SDATAPLUS) source for the specified bus + when the signal type is single ended. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SOUrce:DPLUs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SOUrce:DPLUs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SOUrce:DPLUs {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:USB:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the D+ source for the specified USB bus. + - ``CH_D`` specifies a digital channel as the D+ source for the specified USB bus. + - ``MATH`` specifies a math channel as the D+ source for the specified USB bus. + - ``REF`` specifies a reference waveform as the source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified USB bus. + """ # noqa: E501 + return self._dplus + + +class BusBItemUsbSignaltype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:SIGNALTYpe`` command. + + Description: + - This command sets or queries the USB signal type for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SIGNALTYpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:USB:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + + +class BusBItemUsbLowthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:LOWTHRESHold`` command. + + Description: + - This command sets or queries the USB data source threshold for the specified bus when the + signal type is differential. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:LOWTHRESHold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:LOWTHRESHold + - BUS:B:USB:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the Low threshold. + """ + + +class BusBItemUsbDataplusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the USB D+ source threshold for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:DATAPLUSTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:DATAPLUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:DATAPLUSTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:DATAPLUSTHRESHold + - BUS:B:USB:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the Plus threshold. + """ + + +class BusBItemUsbDataminusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the USB D- source threshold for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:DATAMINUSTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:DATAMINUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:DATAMINUSTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:DATAMINUSTHRESHold + - BUS:B:USB:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the Minus threshold. + """ + + +class BusBItemUsbBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:USB:BITRate`` command. + + Description: + - This command sets or queries the USB data rate for bus , where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:USB:BITRate {FULL|HIGH|LOW} + - BUS:B:USB:BITRate? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``FULL`` indicates the bit rate is 12 Mbps. + - ``HIGH`` indicates the bit rate is 480 Mbps. + - ``LOW`` indicates the bit rate is 1.5 Mbps. + """ + + +class BusBItemUsb(SCPICmdRead): + """The ``BUS:B:USB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.bitrate``: The ``BUS:B:USB:BITRate`` command. + - ``.dataminusthreshold``: The ``BUS:B:USB:DATAMINUSTHRESHold`` command. + - ``.dataplusthreshold``: The ``BUS:B:USB:DATAPLUSTHRESHold`` command. + - ``.lowthreshold``: The ``BUS:B:USB:LOWTHRESHold`` command. + - ``.signaltype``: The ``BUS:B:USB:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:USB:SOUrce`` command. + - ``.threshold``: The ``BUS:B:USB:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemUsbBitrate(device, f"{self._cmd_syntax}:BITRate") + self._dataminusthreshold = BusBItemUsbDataminusthreshold( + device, f"{self._cmd_syntax}:DATAMINUSTHRESHold" + ) + self._dataplusthreshold = BusBItemUsbDataplusthreshold( + device, f"{self._cmd_syntax}:DATAPLUSTHRESHold" + ) + self._lowthreshold = BusBItemUsbLowthreshold(device, f"{self._cmd_syntax}:LOWTHRESHold") + self._signaltype = BusBItemUsbSignaltype(device, f"{self._cmd_syntax}:SIGNALTYpe") + self._source = BusBItemUsbSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemUsbThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def bitrate(self) -> BusBItemUsbBitrate: + """Return the ``BUS:B:USB:BITRate`` command. + + Description: + - This command sets or queries the USB data rate for bus , where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:BITRate {FULL|HIGH|LOW} + - BUS:B:USB:BITRate? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``FULL`` indicates the bit rate is 12 Mbps. + - ``HIGH`` indicates the bit rate is 480 Mbps. + - ``LOW`` indicates the bit rate is 1.5 Mbps. + """ + return self._bitrate + + @property + def dataminusthreshold(self) -> BusBItemUsbDataminusthreshold: + """Return the ``BUS:B:USB:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the USB D- source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:DATAMINUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:DATAMINUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:USB:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:USB:DATAMINUSTHRESHold + - BUS:B:USB:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the Minus threshold. + """ + return self._dataminusthreshold + + @property + def dataplusthreshold(self) -> BusBItemUsbDataplusthreshold: + """Return the ``BUS:B:USB:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the USB D+ source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:DATAPLUSTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:DATAPLUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:USB:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:USB:DATAPLUSTHRESHold + - BUS:B:USB:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the Plus threshold. + """ + return self._dataplusthreshold + + @property + def lowthreshold(self) -> BusBItemUsbLowthreshold: + """Return the ``BUS:B:USB:LOWTHRESHold`` command. + + Description: + - This command sets or queries the USB data source threshold for the specified bus when + the signal type is differential. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:LOWTHRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:LOWTHRESHold + - BUS:B:USB:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the Low threshold. + """ + return self._lowthreshold + + @property + def signaltype(self) -> BusBItemUsbSignaltype: + """Return the ``BUS:B:USB:SIGNALTYpe`` command. + + Description: + - This command sets or queries the USB signal type for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SIGNALTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:USB:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + return self._signaltype + + @property + def source(self) -> BusBItemUsbSource: + """Return the ``BUS:B:USB:SOUrce`` command. + + Description: + - This command sets or queries the USB data source when the signal type is differential + for bus . The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:USB:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the data source for the specified USB bus. + - ``MATH`` specifies a math channel as the data source for the specified USB bus. + - ``REF`` specifies a reference waveform as the data source. + + Sub-properties: + - ``.dminus``: The ``BUS:B:USB:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:USB:SOUrce:DPLUs`` command. + """ + return self._source + + @property + def threshold(self) -> BusBItemUsbThreshold: + """Return the ``BUS:B:USB:THRESHold`` command. + + Description: + - This command sets or queries the USB DATA source High threshold for the specified bus + when the signal source is differential. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:USB:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:USB:THRESHold + - BUS:B:USB:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the USB DATA source High threshold for the specified bus. + """ + return self._threshold + + +class BusBItemType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:TYPe`` command. + + Description: + - This command sets or queries the bus type or standard for the specified bus. The bus is + specified by x. Arguments for a bus type are only available then the required serial bus + option is installed. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:TYPe value`` command. + + SCPI Syntax: + ``` + - BUS:B:TYPe {ARINC429|AUDio|CAN|ETHernet|EUSB|FLEXRAY|I2C|I3C|LIN|MDIO|MIL1553B|PARallel|RS232C|SENT|SPI|SPMI|SVID|USB} + - BUS:B:TYPe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``ARINC429`` specifies the ARINC 429 avionics serial bus. + - ``AUDio`` specifies an audio bus. + - ``CAN`` specifies a Controller Area Network bus. + - ``ETHernet`` specifies the Ethernet bus. + - ``EUSB`` specifies a eUSB bus. Requires option SR-EUSB2. + - ``FLEXRAY`` specifies a FlexRay bus. + - ``I2C`` specifies the Inter-IC bus. + - ``I3C`` specifies the MIPI Improved Inter Integrated Circuit (I3C) bus. + - ``LIN`` specifies a Local Interconnect Network bus. + - ``MDIO`` specifies a MDIO bus. + - ``MIL1553B`` specifies the MIL-STD-1553 avionics serial bus. + - ``PARallel`` specifies a parallel bus. + - ``RS232C`` specifies the RS-232 Serial bus. + - ``SENT`` specifies the Single Edge Nibble Transmission (SENT) automotive serial bus. + - ``SPI`` specifies the Serial Peripheral Interface bus. + - ``SPMI`` Specifies a System Power Management Interface bus. + - ``SVID`` Specifies a Serial VID bus. + - ``USB`` specifies the Universal Serial bus. + """ # noqa: E501 + + +class BusBItemSvidDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SVID:DATA:THReshold`` command. + + Description: + - This command sets or queries the data threshold for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:DATA:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:DATA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:DATA:THReshold + - BUS:B:SVID:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SVID Strobe threshold for the specified bus. The argument range is -8V to + +8V. + """ + + +class BusBItemSvidDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SVID:DATA:SOUrce`` command. + + Description: + - This command sets or queries data source channel for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:DATA:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemSvidData(SCPICmdRead): + """The ``BUS:B:SVID:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:DATA?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.source``: The ``BUS:B:SVID:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SVID:DATA:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSvidDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSvidDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSvidDataSource: + """Return the ``BUS:B:SVID:DATA:SOUrce`` command. + + Description: + - This command sets or queries data source channel for the specified SVID bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:DATA:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemSvidDataThreshold: + """Return the ``BUS:B:SVID:DATA:THReshold`` command. + + Description: + - This command sets or queries the data threshold for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SVID:DATA:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SVID:DATA:THReshold + - BUS:B:SVID:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SVID Strobe threshold for the specified bus. The argument range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemSvidClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SVID:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the clock threshold for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:CLOCk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:CLOCk:THReshold + - BUS:B:SVID:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SVID Strobe threshold for the specified bus. The argument range is -8V to + +8V. + """ + + +class BusBItemSvidClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SVID:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries clock source channel for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemSvidClock(SCPICmdRead): + """The ``BUS:B:SVID:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.source``: The ``BUS:B:SVID:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SVID:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSvidClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSvidClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSvidClockSource: + """Return the ``BUS:B:SVID:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries clock source channel for the specified SVID bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemSvidClockThreshold: + """Return the ``BUS:B:SVID:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the clock threshold for the specified SVID bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SVID:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SVID:CLOCk:THReshold + - BUS:B:SVID:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SVID Strobe threshold for the specified bus. The argument range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemSvidAlertThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SVID:ALERT:THReshold`` command. + + Description: + - This command sets or queries the alert threshold for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:ALERT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:ALERT:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:ALERT:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:ALERT:THReshold + - BUS:B:SVID:ALERT:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SVID Strobe threshold for the specified bus. The argument range is -8V to + +8V. + """ + + +class BusBItemSvidAlertSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SVID:ALERT:SOUrce`` command. + + Description: + - This command sets or queries alert source channel for the specified SVID bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:ALERT:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:ALERT:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:ALERT:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:ALERT:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:ALERT:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the data source. + - ``MATH`` specifies a math channel as the data source. + - ``REF`` specifies a digital reference waveform as the data source. + """ + + +class BusBItemSvidAlert(SCPICmdRead): + """The ``BUS:B:SVID:ALERT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:ALERT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:ALERT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.source``: The ``BUS:B:SVID:ALERT:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SVID:ALERT:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSvidAlertSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSvidAlertThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSvidAlertSource: + """Return the ``BUS:B:SVID:ALERT:SOUrce`` command. + + Description: + - This command sets or queries alert source channel for the specified SVID bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:ALERT:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:ALERT:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SVID:ALERT:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SVID:ALERT:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SVID:ALERT:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the data source. + - ``MATH`` specifies a math channel as the data source. + - ``REF`` specifies a digital reference waveform as the data source. + """ + return self._source + + @property + def threshold(self) -> BusBItemSvidAlertThreshold: + """Return the ``BUS:B:SVID:ALERT:THReshold`` command. + + Description: + - This command sets or queries the alert threshold for the specified SVID bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:ALERT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:ALERT:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SVID:ALERT:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SVID:ALERT:THReshold + - BUS:B:SVID:ALERT:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SVID Strobe threshold for the specified bus. The argument range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemSvid(SCPICmdRead): + """The ``BUS:B:SVID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.alert``: The ``BUS:B:SVID:ALERT`` command tree. + - ``.clock``: The ``BUS:B:SVID:CLOCk`` command tree. + - ``.data``: The ``BUS:B:SVID:DATA`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._alert = BusBItemSvidAlert(device, f"{self._cmd_syntax}:ALERT") + self._clock = BusBItemSvidClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemSvidData(device, f"{self._cmd_syntax}:DATA") + + @property + def alert(self) -> BusBItemSvidAlert: + """Return the ``BUS:B:SVID:ALERT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:ALERT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:ALERT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.source``: The ``BUS:B:SVID:ALERT:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SVID:ALERT:THReshold`` command. + """ + return self._alert + + @property + def clock(self) -> BusBItemSvidClock: + """Return the ``BUS:B:SVID:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.source``: The ``BUS:B:SVID:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SVID:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemSvidData: + """Return the ``BUS:B:SVID:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.source``: The ``BUS:B:SVID:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SVID:DATA:THReshold`` command. + """ + return self._data + + +class BusBItemSpmiSdataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPMI:SDATa:THReshold`` command. + + Description: + - This command sets or queries the SPMI Data (SDATA) source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SDATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SDATa:THReshold + - BUS:B:SPMI:SDATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the data (SDATA) source threshold value for the specified SPMI bus. + """ + + +class BusBItemSpmiSdataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPMI:SDATa:SOUrce`` command. + + Description: + - This command sets or queries the SPMI Data (SDATA) source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SDATa:SOUrce {CH|CH_Dx>|Math|REF|REF_D} + - BUS:B:SPMI:SDATa:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``CH`` specifies an analog channel as the data source waveform for the SPMI bus. + - ``CH_Dx>`` specifies a digital channel and bit as the data source waveform for the + specified SPMI bus. + - ``Math`` specifies a math waveform as the data source waveform for the specified SPMI + bus. + - ``REF`` specifies a reference waveform as the data source waveform for the specified + SPMI bus. + - ``REF_D`` specifies a digital reference waveform and bit as the data source waveform + for the specified SPMI bus. + """ + + +class BusBItemSpmiSdata(SCPICmdRead): + """The ``BUS:B:SPMI:SDATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.source``: The ``BUS:B:SPMI:SDATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPMI:SDATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSpmiSdataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpmiSdataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSpmiSdataSource: + """Return the ``BUS:B:SPMI:SDATa:SOUrce`` command. + + Description: + - This command sets or queries the SPMI Data (SDATA) source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SDATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SDATa:SOUrce {CH|CH_Dx>|Math|REF|REF_D} + - BUS:B:SPMI:SDATa:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``CH`` specifies an analog channel as the data source waveform for the SPMI bus. + - ``CH_Dx>`` specifies a digital channel and bit as the data source waveform for the + specified SPMI bus. + - ``Math`` specifies a math waveform as the data source waveform for the specified + SPMI bus. + - ``REF`` specifies a reference waveform as the data source waveform for the + specified SPMI bus. + - ``REF_D`` specifies a digital reference waveform and bit as the data source + waveform for the specified SPMI bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemSpmiSdataThreshold: + """Return the ``BUS:B:SPMI:SDATa:THReshold`` command. + + Description: + - This command sets or queries the SPMI Data (SDATA) source threshold for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPMI:SDATa:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SDATa:THReshold + - BUS:B:SPMI:SDATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the data (SDATA) source threshold value for the specified SPMI bus. + """ + return self._threshold + + +class BusBItemSpmiSclkThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPMI:SCLk:THReshold`` command. + + Description: + - This command sets or queries the SPMI Clock (SCLK) source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SCLk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SCLk:THReshold + - BUS:B:SPMI:SCLk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the clock (SCLK) source threshold value for the specified SPMI bus. + """ + + +class BusBItemSpmiSclkSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPMI:SCLk:SOUrce`` command. + + Description: + - This command sets or queries the SPMI Clock (SCLK) source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SCLk:SOUrce {CH|CH_Dx>|Math|REF|REF_D} + - BUS:B:SPMI:SCLk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``CH`` specifies an analog channel as the clock source waveform for the SPMI bus. + - ``CH_Dx>`` specifies a digital channel and bit as the clock source waveform for the + specified SPMI bus. + - ``Math`` specifies a math waveform as the clock source waveform for the specified SPMI + bus. + - ``REF`` specifies a reference waveform as the clock source waveform for the specified + SPMI bus. + - ``REF_D`` specifies a digital reference waveform and bit as the clock source + waveform for the specified SPMI bus. + """ + + +class BusBItemSpmiSclk(SCPICmdRead): + """The ``BUS:B:SPMI:SCLk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.source``: The ``BUS:B:SPMI:SCLk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPMI:SCLk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSpmiSclkSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpmiSclkThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSpmiSclkSource: + """Return the ``BUS:B:SPMI:SCLk:SOUrce`` command. + + Description: + - This command sets or queries the SPMI Clock (SCLK) source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPMI:SCLk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SCLk:SOUrce {CH|CH_Dx>|Math|REF|REF_D} + - BUS:B:SPMI:SCLk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``CH`` specifies an analog channel as the clock source waveform for the SPMI bus. + - ``CH_Dx>`` specifies a digital channel and bit as the clock source waveform for the + specified SPMI bus. + - ``Math`` specifies a math waveform as the clock source waveform for the specified + SPMI bus. + - ``REF`` specifies a reference waveform as the clock source waveform for the + specified SPMI bus. + - ``REF_D`` specifies a digital reference waveform and bit as the clock source + waveform for the specified SPMI bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemSpmiSclkThreshold: + """Return the ``BUS:B:SPMI:SCLk:THReshold`` command. + + Description: + - This command sets or queries the SPMI Clock (SCLK) source threshold for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPMI:SCLk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPMI:SCLk:THReshold + - BUS:B:SPMI:SCLk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the clock (SCLK) source threshold value for the specified SPMI bus. + """ + return self._threshold + + +class BusBItemSpmi(SCPICmdRead): + """The ``BUS:B:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.sclk``: The ``BUS:B:SPMI:SCLk`` command tree. + - ``.sdata``: The ``BUS:B:SPMI:SDATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sclk = BusBItemSpmiSclk(device, f"{self._cmd_syntax}:SCLk") + self._sdata = BusBItemSpmiSdata(device, f"{self._cmd_syntax}:SDATa") + + @property + def sclk(self) -> BusBItemSpmiSclk: + """Return the ``BUS:B:SPMI:SCLk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SCLk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SCLk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.source``: The ``BUS:B:SPMI:SCLk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPMI:SCLk:THReshold`` command. + """ + return self._sclk + + @property + def sdata(self) -> BusBItemSpmiSdata: + """Return the ``BUS:B:SPMI:SDATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI:SDATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI:SDATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.source``: The ``BUS:B:SPMI:SDATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPMI:SDATa:THReshold`` command. + """ + return self._sdata + + +class BusBItemSpiSelectThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:SELect:THReshold`` command. + + Description: + - This command sets or queries the SPI Select (SS) source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:SELect:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:SELect:THReshold + - BUS:B:SPI:SELect:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI Select (SS) source threshold for the specified bus. + """ + + +class BusBItemSpiSelectSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:SELect:SOUrce`` command. + + Description: + - This command sets or queries the SPI Slave Select (SS) source for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:SELect:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:SELect:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:SELect:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` designates an analog channel as the buses' SPI Slave Select source. + - ``CH_D`` designates a digital channel as the buses' SPI Slave Select source. + - ``MATH`` designates a math waveform as the Slave Select source. + - ``REF`` designates a reference waveform as the Slave Select source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified SPI bus. + """ + + +class BusBItemSpiSelectPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:SELect:POLarity`` command. + + Description: + - This command sets or queries the SPI Slave Select (SS) polarity for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:SELect:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:SELect:POLarity {LOW|HIGH} + - BUS:B:SPI:SELect:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``LOW`` sets an active low polarity. + - ``HIGH`` sets an active high polarity. + """ + + +class BusBItemSpiSelect(SCPICmdRead): + """The ``BUS:B:SPI:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.polarity``: The ``BUS:B:SPI:SELect:POLarity`` command. + - ``.source``: The ``BUS:B:SPI:SELect:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPI:SELect:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemSpiSelectPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemSpiSelectSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpiSelectThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemSpiSelectPolarity: + """Return the ``BUS:B:SPI:SELect:POLarity`` command. + + Description: + - This command sets or queries the SPI Slave Select (SS) polarity for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPI:SELect:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:SELect:POLarity {LOW|HIGH} + - BUS:B:SPI:SELect:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``LOW`` sets an active low polarity. + - ``HIGH`` sets an active high polarity. + """ + return self._polarity + + @property + def source(self) -> BusBItemSpiSelectSource: + """Return the ``BUS:B:SPI:SELect:SOUrce`` command. + + Description: + - This command sets or queries the SPI Slave Select (SS) source for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:SELect:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:SELect:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:SELect:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` designates an analog channel as the buses' SPI Slave Select source. + - ``CH_D`` designates a digital channel as the buses' SPI Slave Select source. + - ``MATH`` designates a math waveform as the Slave Select source. + - ``REF`` designates a reference waveform as the Slave Select source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified SPI bus. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemSpiSelectThreshold: + """Return the ``BUS:B:SPI:SELect:THReshold`` command. + + Description: + - This command sets or queries the SPI Select (SS) source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPI:SELect:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:SELect:THReshold + - BUS:B:SPI:SELect:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI Select (SS) source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemSpiNumberInputs(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:NUMBer:INputs`` command. + + Description: + - This command sets or queries the number of inputs for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:NUMBer:INputs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:NUMBer:INputs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:NUMBer:INputs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:NUMBer:INputs {ONE|TWO} + - BUS:B:SPI:NUMBer:INputs? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``ONE`` sets the Data Inputs as one. + - ``TWO`` sets the Data Inputs as two. + """ + + +class BusBItemSpiNumber(SCPICmdRead): + """The ``BUS:B:SPI:NUMBer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:NUMBer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:NUMBer?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.inputs``: The ``BUS:B:SPI:NUMBer:INputs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputs = BusBItemSpiNumberInputs(device, f"{self._cmd_syntax}:INputs") + + @property + def inputs(self) -> BusBItemSpiNumberInputs: + """Return the ``BUS:B:SPI:NUMBer:INputs`` command. + + Description: + - This command sets or queries the number of inputs for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:NUMBer:INputs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:NUMBer:INputs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:NUMBer:INputs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:NUMBer:INputs {ONE|TWO} + - BUS:B:SPI:NUMBer:INputs? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``ONE`` sets the Data Inputs as one. + - ``TWO`` sets the Data Inputs as two. + """ + return self._inputs + + +class BusBItemSpiMosiThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:MOSi:THReshold`` command. + + Description: + - This command sets or queries the SPI MOSI source thresold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MOSi:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MOSi:THReshold + - BUS:B:SPI:MOSi:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI MOSI Data source threshold for the specified bus. + """ + + +class BusBItemSpiMosiInput(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:MOSi:INPut`` command. + + Description: + - This command sets or queries the SPI MOSI source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:INPut?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MOSi:INPut value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MOSi:INPut {S_Ch|CH|MATH|REF} + - BUS:B:SPI:MOSi:INPut? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` designates an analog channel as the source. + - ``MATH`` designates a math waveform as the source. + - ``REF`` designates a reference waveform as the source. + """ + + +class BusBItemSpiMosiDataPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:MOSi:DATa:POLarity`` command. + + Description: + - This command sets or queries the SPI MOSI source polarity for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:DATa:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:DATa:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MOSi:DATa:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MOSi:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:MOSi:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``HIGH`` sets the polarity to high. + - ``LOW`` sets the polarity to low. + """ + + +class BusBItemSpiMosiData(SCPICmdRead): + """The ``BUS:B:SPI:MOSi:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.polarity``: The ``BUS:B:SPI:MOSi:DATa:POLarity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemSpiMosiDataPolarity(device, f"{self._cmd_syntax}:POLarity") + + @property + def polarity(self) -> BusBItemSpiMosiDataPolarity: + """Return the ``BUS:B:SPI:MOSi:DATa:POLarity`` command. + + Description: + - This command sets or queries the SPI MOSI source polarity for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:DATa:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:DATa:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPI:MOSi:DATa:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MOSi:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:MOSi:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``HIGH`` sets the polarity to high. + - ``LOW`` sets the polarity to low. + """ + return self._polarity + + +class BusBItemSpiMosi(SCPICmdRead): + """The ``BUS:B:SPI:MOSi`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.data``: The ``BUS:B:SPI:MOSi:DATa`` command tree. + - ``.input``: The ``BUS:B:SPI:MOSi:INPut`` command. + - ``.threshold``: The ``BUS:B:SPI:MOSi:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemSpiMosiData(device, f"{self._cmd_syntax}:DATa") + self._input = BusBItemSpiMosiInput(device, f"{self._cmd_syntax}:INPut") + self._threshold = BusBItemSpiMosiThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def data(self) -> BusBItemSpiMosiData: + """Return the ``BUS:B:SPI:MOSi:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.polarity``: The ``BUS:B:SPI:MOSi:DATa:POLarity`` command. + """ + return self._data + + @property + def input(self) -> BusBItemSpiMosiInput: + """Return the ``BUS:B:SPI:MOSi:INPut`` command. + + Description: + - This command sets or queries the SPI MOSI source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:INPut?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MOSi:INPut value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MOSi:INPut {S_Ch|CH|MATH|REF} + - BUS:B:SPI:MOSi:INPut? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` designates an analog channel as the source. + - ``MATH`` designates a math waveform as the source. + - ``REF`` designates a reference waveform as the source. + """ + return self._input + + @property + def threshold(self) -> BusBItemSpiMosiThreshold: + """Return the ``BUS:B:SPI:MOSi:THReshold`` command. + + Description: + - This command sets or queries the SPI MOSI source thresold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MOSi:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MOSi:THReshold + - BUS:B:SPI:MOSi:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI MOSI Data source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemSpiMisoThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:MISo:THReshold`` command. + + Description: + - This command sets or queries the SPI MISo Data source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MISo:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MISo:THReshold + - BUS:B:SPI:MISo:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI MISo Data source threshold for the specified bus. + """ + + +class BusBItemSpiMisoInput(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:MISo:INPut`` command. + + Description: + - This command sets or queries the SPI MISo source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:INPut?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MISo:INPut value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MISo:INPut {S_Ch|CH|MATH|REF} + - BUS:B:SPI:MISo:INPut? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` designates an analog channel as the source. + - ``MATH`` designates a math waveform as the source. + - ``REF`` designates a reference waveform as the source. + """ + + +class BusBItemSpiMisoDataPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:MISo:DATa:POLarity`` command. + + Description: + - This command sets or queries the SPI MISo Data source polarity for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:DATa:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:DATa:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MISo:DATa:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MISo:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:MISo:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``HIGH`` sets the polarity to high. + - ``LOW`` sets the polarity to low. + """ + + +class BusBItemSpiMisoData(SCPICmdRead): + """The ``BUS:B:SPI:MISo:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.polarity``: The ``BUS:B:SPI:MISo:DATa:POLarity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemSpiMisoDataPolarity(device, f"{self._cmd_syntax}:POLarity") + + @property + def polarity(self) -> BusBItemSpiMisoDataPolarity: + """Return the ``BUS:B:SPI:MISo:DATa:POLarity`` command. + + Description: + - This command sets or queries the SPI MISo Data source polarity for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:DATa:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:DATa:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPI:MISo:DATa:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MISo:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:MISo:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``HIGH`` sets the polarity to high. + - ``LOW`` sets the polarity to low. + """ + return self._polarity + + +class BusBItemSpiMiso(SCPICmdRead): + """The ``BUS:B:SPI:MISo`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.data``: The ``BUS:B:SPI:MISo:DATa`` command tree. + - ``.input``: The ``BUS:B:SPI:MISo:INPut`` command. + - ``.threshold``: The ``BUS:B:SPI:MISo:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemSpiMisoData(device, f"{self._cmd_syntax}:DATa") + self._input = BusBItemSpiMisoInput(device, f"{self._cmd_syntax}:INPut") + self._threshold = BusBItemSpiMisoThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def data(self) -> BusBItemSpiMisoData: + """Return the ``BUS:B:SPI:MISo:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.polarity``: The ``BUS:B:SPI:MISo:DATa:POLarity`` command. + """ + return self._data + + @property + def input(self) -> BusBItemSpiMisoInput: + """Return the ``BUS:B:SPI:MISo:INPut`` command. + + Description: + - This command sets or queries the SPI MISo source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:INPut?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:INPut?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MISo:INPut value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MISo:INPut {S_Ch|CH|MATH|REF} + - BUS:B:SPI:MISo:INPut? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` designates an analog channel as the source. + - ``MATH`` designates a math waveform as the source. + - ``REF`` designates a reference waveform as the source. + """ + return self._input + + @property + def threshold(self) -> BusBItemSpiMisoThreshold: + """Return the ``BUS:B:SPI:MISo:THReshold`` command. + + Description: + - This command sets or queries the SPI MISo Data source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:MISo:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:MISo:THReshold + - BUS:B:SPI:MISo:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI MISo Data source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemSpiIdletime(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:IDLETime`` command. + + Description: + - This command sets or queries the SPI idle time for the specified bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:IDLETime?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:IDLETime?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:IDLETime value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:IDLETime + - BUS:B:SPI:IDLETime? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` specifies the SPI idle time. + """ + + +class BusBItemSpiFraming(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:FRAMING`` command. + + Description: + - This command sets or queries the SPI framing setting for the specified bus. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:FRAMING?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:FRAMING?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:FRAMING value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:FRAMING {IDLE|SS} + - BUS:B:SPI:FRAMING? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``IDLE`` specifies IDLE SPI framing. + - ``SS`` specifies SS SPI framing. + """ + + +class BusBItemSpiDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:DATa:THReshold`` command. + + Description: + - This command sets or queries the SPI Data (Data) source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:THReshold + - BUS:B:SPI:DATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI Data (SDA) source threshold for the specified bus. + """ + + +class BusBItemSpiDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:DATa:SOUrce`` command. + + Description: + - This command sets or queries the SPI Data (Data) source for the bus number specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:DATa:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` designates an analog channel as the data source for the specified SPI bus. + - ``CH_D`` designates an digital channel as the bus SPI clock source. + - ``MATH`` designates a math waveform as the data source. + - ``REF`` designates a reference waveform as the data source. + - ``REF_D`` specifies a digital reference waveform as the data source waveform for the + specified SPI bus. + """ + + +class BusBItemSpiDataSize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:DATa:SIZe`` command. + + Description: + - This command sets or queries the number of bits per word for the specified SPI bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:SIZe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:SIZe + - BUS:B:SPI:DATa:SIZe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the data size for the specified bus. The minimum value is 2 and maximum is + 32. + """ + + +class BusBItemSpiDataPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:DATa:POLarity`` command. + + Description: + - This command sets or queries the SPI Data (Data) source polarity for the bus number + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``HIGH`` sets the SPI data polarity to active high. + - ``LOW`` sets the SPI data polarity to active low. + """ + + +class BusBItemSpiData(SCPICmdRead): + """The ``BUS:B:SPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.polarity``: The ``BUS:B:SPI:DATa:POLarity`` command. + - ``.size``: The ``BUS:B:SPI:DATa:SIZe`` command. + - ``.source``: The ``BUS:B:SPI:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPI:DATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemSpiDataPolarity(device, f"{self._cmd_syntax}:POLarity") + self._size = BusBItemSpiDataSize(device, f"{self._cmd_syntax}:SIZe") + self._source = BusBItemSpiDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpiDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemSpiDataPolarity: + """Return the ``BUS:B:SPI:DATa:POLarity`` command. + + Description: + - This command sets or queries the SPI Data (Data) source polarity for the bus number + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:POLarity {HIGH|LOW} + - BUS:B:SPI:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``HIGH`` sets the SPI data polarity to active high. + - ``LOW`` sets the SPI data polarity to active low. + """ + return self._polarity + + @property + def size(self) -> BusBItemSpiDataSize: + """Return the ``BUS:B:SPI:DATa:SIZe`` command. + + Description: + - This command sets or queries the number of bits per word for the specified SPI bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:SIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:SIZe + - BUS:B:SPI:DATa:SIZe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the data size for the specified bus. The minimum value is 2 and maximum + is 32. + """ + return self._size + + @property + def source(self) -> BusBItemSpiDataSource: + """Return the ``BUS:B:SPI:DATa:SOUrce`` command. + + Description: + - This command sets or queries the SPI Data (Data) source for the bus number specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:DATa:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` designates an analog channel as the data source for the specified SPI bus. + - ``CH_D`` designates an digital channel as the bus SPI clock source. + - ``MATH`` designates a math waveform as the data source. + - ``REF`` designates a reference waveform as the data source. + - ``REF_D`` specifies a digital reference waveform as the data source waveform for + the specified SPI bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemSpiDataThreshold: + """Return the ``BUS:B:SPI:DATa:THReshold`` command. + + Description: + - This command sets or queries the SPI Data (Data) source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:DATa:THReshold + - BUS:B:SPI:DATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI Data (SDA) source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemSpiClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the SPI Clock (SCLK) source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:CLOCk:THReshold + - BUS:B:SPI:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI Clock (SCLK) source threshold for the specified bus. + """ + + +class BusBItemSpiClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the SPI clock (SCLK) source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` designates an analog channel as the bus SPI clock source. + - ``CH_D`` designates an digital channel as the bus SPI clock source. + - ``MATH`` designates a math waveform as the clock source. + - ``REF`` designates a reference waveform as the clock source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified SPI bus. + """ + + +class BusBItemSpiClockPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:CLOCk:POLarity`` command. + + Description: + - This command sets or queries the SPI clock (SCLK) source polarity for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:CLOCk:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:CLOCk:POLarity {FALL|RISE} + - BUS:B:SPI:CLOCk:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``FALL`` sets the clock to the falling edge of the signal. + - ``RISE`` sets the clock to the rising edge of the signal. + """ + + +class BusBItemSpiClock(SCPICmdRead): + """The ``BUS:B:SPI:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.polarity``: The ``BUS:B:SPI:CLOCk:POLarity`` command. + - ``.source``: The ``BUS:B:SPI:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPI:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemSpiClockPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemSpiClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpiClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemSpiClockPolarity: + """Return the ``BUS:B:SPI:CLOCk:POLarity`` command. + + Description: + - This command sets or queries the SPI clock (SCLK) source polarity for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:CLOCk:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:CLOCk:POLarity {FALL|RISE} + - BUS:B:SPI:CLOCk:POLarity? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``FALL`` sets the clock to the falling edge of the signal. + - ``RISE`` sets the clock to the rising edge of the signal. + """ + return self._polarity + + @property + def source(self) -> BusBItemSpiClockSource: + """Return the ``BUS:B:SPI:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the SPI clock (SCLK) source for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:SPI:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` designates an analog channel as the bus SPI clock source. + - ``CH_D`` designates an digital channel as the bus SPI clock source. + - ``MATH`` designates a math waveform as the clock source. + - ``REF`` designates a reference waveform as the clock source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified SPI bus. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemSpiClockThreshold: + """Return the ``BUS:B:SPI:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the SPI Clock (SCLK) source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPI:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:CLOCk:THReshold + - BUS:B:SPI:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SPI Clock (SCLK) source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemSpiBitorder(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPI:BITOrder`` command. + + Description: + - This command sets or queries the SPI bit order for the specified bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:BITOrder value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPI:BITOrder {LSB|MSB} + - BUS:B:SPI:BITOrder? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting + previously recovered bits one place to the left. The decoding happens right to left. + - ``MSB`` specifies that each successive bit from the bus's data line becomes the new MSB of + the recovered value, shifting any previously recovered bits one place to the right. The + decoding happens left to right. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemSpi(SCPICmdRead): + """The ``BUS:B:SPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.bitorder``: The ``BUS:B:SPI:BITOrder`` command. + - ``.clock``: The ``BUS:B:SPI:CLOCk`` command tree. + - ``.data``: The ``BUS:B:SPI:DATa`` command tree. + - ``.framing``: The ``BUS:B:SPI:FRAMING`` command. + - ``.idletime``: The ``BUS:B:SPI:IDLETime`` command. + - ``.miso``: The ``BUS:B:SPI:MISo`` command tree. + - ``.mosi``: The ``BUS:B:SPI:MOSi`` command tree. + - ``.number``: The ``BUS:B:SPI:NUMBer`` command tree. + - ``.select``: The ``BUS:B:SPI:SELect`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitorder = BusBItemSpiBitorder(device, f"{self._cmd_syntax}:BITOrder") + self._clock = BusBItemSpiClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemSpiData(device, f"{self._cmd_syntax}:DATa") + self._framing = BusBItemSpiFraming(device, f"{self._cmd_syntax}:FRAMING") + self._idletime = BusBItemSpiIdletime(device, f"{self._cmd_syntax}:IDLETime") + self._miso = BusBItemSpiMiso(device, f"{self._cmd_syntax}:MISo") + self._mosi = BusBItemSpiMosi(device, f"{self._cmd_syntax}:MOSi") + self._number = BusBItemSpiNumber(device, f"{self._cmd_syntax}:NUMBer") + self._select = BusBItemSpiSelect(device, f"{self._cmd_syntax}:SELect") + + @property + def bitorder(self) -> BusBItemSpiBitorder: + """Return the ``BUS:B:SPI:BITOrder`` command. + + Description: + - This command sets or queries the SPI bit order for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:BITOrder value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:BITOrder {LSB|MSB} + - BUS:B:SPI:BITOrder? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting + previously recovered bits one place to the left. The decoding happens right to left. + - ``MSB`` specifies that each successive bit from the bus's data line becomes the new + MSB of the recovered value, shifting any previously recovered bits one place to the + right. The decoding happens left to right. + """ + return self._bitorder + + @property + def clock(self) -> BusBItemSpiClock: + """Return the ``BUS:B:SPI:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.polarity``: The ``BUS:B:SPI:CLOCk:POLarity`` command. + - ``.source``: The ``BUS:B:SPI:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPI:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemSpiData: + """Return the ``BUS:B:SPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.polarity``: The ``BUS:B:SPI:DATa:POLarity`` command. + - ``.size``: The ``BUS:B:SPI:DATa:SIZe`` command. + - ``.source``: The ``BUS:B:SPI:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPI:DATa:THReshold`` command. + """ + return self._data + + @property + def framing(self) -> BusBItemSpiFraming: + """Return the ``BUS:B:SPI:FRAMING`` command. + + Description: + - This command sets or queries the SPI framing setting for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:FRAMING?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:FRAMING?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:FRAMING value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:FRAMING {IDLE|SS} + - BUS:B:SPI:FRAMING? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``IDLE`` specifies IDLE SPI framing. + - ``SS`` specifies SS SPI framing. + """ + return self._framing + + @property + def idletime(self) -> BusBItemSpiIdletime: + """Return the ``BUS:B:SPI:IDLETime`` command. + + Description: + - This command sets or queries the SPI idle time for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:IDLETime?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:IDLETime?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPI:IDLETime value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPI:IDLETime + - BUS:B:SPI:IDLETime? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` specifies the SPI idle time. + """ + return self._idletime + + @property + def miso(self) -> BusBItemSpiMiso: + """Return the ``BUS:B:SPI:MISo`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MISo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MISo?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.data``: The ``BUS:B:SPI:MISo:DATa`` command tree. + - ``.input``: The ``BUS:B:SPI:MISo:INPut`` command. + - ``.threshold``: The ``BUS:B:SPI:MISo:THReshold`` command. + """ + return self._miso + + @property + def mosi(self) -> BusBItemSpiMosi: + """Return the ``BUS:B:SPI:MOSi`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:MOSi?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:MOSi?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.data``: The ``BUS:B:SPI:MOSi:DATa`` command tree. + - ``.input``: The ``BUS:B:SPI:MOSi:INPut`` command. + - ``.threshold``: The ``BUS:B:SPI:MOSi:THReshold`` command. + """ + return self._mosi + + @property + def number(self) -> BusBItemSpiNumber: + """Return the ``BUS:B:SPI:NUMBer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:NUMBer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:NUMBer?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.inputs``: The ``BUS:B:SPI:NUMBer:INputs`` command. + """ + return self._number + + @property + def select(self) -> BusBItemSpiSelect: + """Return the ``BUS:B:SPI:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI:SELect?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.polarity``: The ``BUS:B:SPI:SELect:POLarity`` command. + - ``.source``: The ``BUS:B:SPI:SELect:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPI:SELect:THReshold`` command. + """ + return self._select + + +class BusBItemSpacewireSyncValue(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:SYNC:VALUe`` command. + + Description: + - This command sets or queries sync value for sync option data. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC:VALUe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:VALUe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:VALUe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC:VALUe + - BUS:B:SPACEWIRe:SYNC:VALUe? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the sync value for sync option data. + """ + + +class BusBItemSpacewireSyncPattern(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:SYNC:PATTern`` command. + + Description: + - This command sets or queries sync pattern for SpaceWire decoding. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC:PATTern?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:PATTern?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:PATTern value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC:PATTern + - BUS:B:SPACEWIRe:SYNC:PATTern? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the sync pattern. + """ + + +class BusBItemSpacewireSyncCount(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:SYNC:COUnt`` command. + + Description: + - This command sets or queries the length of the data string in bytes to be used for a + SpaceWire sync bytes. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC:COUnt?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:COUnt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:COUnt value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC:COUnt + - BUS:B:SPACEWIRe:SYNC:COUnt? + ``` + + Info: + - ``B`` is the bus number. + - ``NR1`` specifies the length of the data string in bytes. The mininum is 2 and the maximum + is 10. The default is 2 bytes. + """ + + +class BusBItemSpacewireSync(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:SYNC`` command. + + Description: + - This command sets or queries sync for SpaceWire decoding. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC {DATA|NULL|AUTO|CUSTom} + - BUS:B:SPACEWIRe:SYNC? + ``` + + Info: + - ``B`` is the bus number. + - ``DATA`` specifies sync as data. + - ``NULL`` specifies sync as null. + - ``AUTO`` specifies sync as auto. + - ``CUSTom`` specifies sync as custom. + + Properties: + - ``.count``: The ``BUS:B:SPACEWIRe:SYNC:COUnt`` command. + - ``.pattern``: The ``BUS:B:SPACEWIRe:SYNC:PATTern`` command. + - ``.value``: The ``BUS:B:SPACEWIRe:SYNC:VALUe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = BusBItemSpacewireSyncCount(device, f"{self._cmd_syntax}:COUnt") + self._pattern = BusBItemSpacewireSyncPattern(device, f"{self._cmd_syntax}:PATTern") + self._value = BusBItemSpacewireSyncValue(device, f"{self._cmd_syntax}:VALUe") + + @property + def count(self) -> BusBItemSpacewireSyncCount: + """Return the ``BUS:B:SPACEWIRe:SYNC:COUnt`` command. + + Description: + - This command sets or queries the length of the data string in bytes to be used for a + SpaceWire sync bytes. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC:COUnt?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:COUnt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:SYNC:COUnt value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC:COUnt + - BUS:B:SPACEWIRe:SYNC:COUnt? + ``` + + Info: + - ``B`` is the bus number. + - ``NR1`` specifies the length of the data string in bytes. The mininum is 2 and the + maximum is 10. The default is 2 bytes. + """ + return self._count + + @property + def pattern(self) -> BusBItemSpacewireSyncPattern: + """Return the ``BUS:B:SPACEWIRe:SYNC:PATTern`` command. + + Description: + - This command sets or queries sync pattern for SpaceWire decoding. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC:PATTern?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:PATTern?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:SYNC:PATTern value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC:PATTern + - BUS:B:SPACEWIRe:SYNC:PATTern? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the sync pattern. + """ + return self._pattern + + @property + def value(self) -> BusBItemSpacewireSyncValue: + """Return the ``BUS:B:SPACEWIRe:SYNC:VALUe`` command. + + Description: + - This command sets or queries sync value for sync option data. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC:VALUe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC:VALUe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:SYNC:VALUe value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC:VALUe + - BUS:B:SPACEWIRe:SYNC:VALUe? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the sync value for sync option data. + """ + return self._value + + +class BusBItemSpacewireStrobeThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:STRobe:THReshold`` command. + + Description: + - This command sets or queries the threshold level of the SpaceWire Strobe signal for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:STRobe:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:STRobe:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:STRobe:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:STRobe:THReshold + - BUS:B:SPACEWIRe:STRobe:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the SpaceWire Strobe signal threshold level for the specified bus, in + volts. + """ + + +class BusBItemSpacewireStrobeSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:STRobe:SOUrce`` command. + + Description: + - This command sets or queries the source of the SpaceWire Strobe signal for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:STRobe:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:STRobe:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:STRobe:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:STRobe:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SPACEWIRe:STRobe:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the strobe signal, where is + the channel number. + - ``MATH`` specifies a math channel as the source for the strobe signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the strobe signal, where + is the reference waveform number. + """ + + +class BusBItemSpacewireStrobe(SCPICmdRead): + """The ``BUS:B:SPACEWIRe:STRobe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:STRobe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:STRobe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.source``: The ``BUS:B:SPACEWIRe:STRobe:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPACEWIRe:STRobe:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSpacewireStrobeSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpacewireStrobeThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSpacewireStrobeSource: + """Return the ``BUS:B:SPACEWIRe:STRobe:SOUrce`` command. + + Description: + - This command sets or queries the source of the SpaceWire Strobe signal for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:STRobe:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:SPACEWIRe:STRobe:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:STRobe:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:STRobe:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SPACEWIRe:STRobe:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the strobe signal, where + is the channel number. + - ``MATH`` specifies a math channel as the source for the strobe signal, where is + the math waveform number. + - ``REF`` specifies a reference waveform as the source for the strobe signal, where + is the reference waveform number. + """ + return self._source + + @property + def threshold(self) -> BusBItemSpacewireStrobeThreshold: + """Return the ``BUS:B:SPACEWIRe:STRobe:THReshold`` command. + + Description: + - This command sets or queries the threshold level of the SpaceWire Strobe signal for + the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:STRobe:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:SPACEWIRe:STRobe:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:STRobe:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:STRobe:THReshold + - BUS:B:SPACEWIRe:STRobe:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the SpaceWire Strobe signal threshold level for the specified bus, + in volts. + """ + return self._threshold + + +class BusBItemSpacewireDecodeType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:DECode:TYPe`` command. + + Description: + - This command sets or queries the decode type for SpaceWire bus decode. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DECode:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DECode:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:DECode:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:DECode:TYPe {STRObe|DATARate} + - BUS:B:SPACEWIRe:DECode:TYPe? + ``` + + Info: + - ``B`` is the bus number. + - ``STRObe`` specifies the decode type as strobe. + - ``DATARate`` specifies the decode type as data rate. + """ + + +class BusBItemSpacewireDecode(SCPICmdRead): + """The ``BUS:B:SPACEWIRe:DECode`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DECode?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DECode?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.type``: The ``BUS:B:SPACEWIRe:DECode:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = BusBItemSpacewireDecodeType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> BusBItemSpacewireDecodeType: + """Return the ``BUS:B:SPACEWIRe:DECode:TYPe`` command. + + Description: + - This command sets or queries the decode type for SpaceWire bus decode. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DECode:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DECode:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:DECode:TYPe value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:DECode:TYPe {STRObe|DATARate} + - BUS:B:SPACEWIRe:DECode:TYPe? + ``` + + Info: + - ``B`` is the bus number. + - ``STRObe`` specifies the decode type as strobe. + - ``DATARate`` specifies the decode type as data rate. + """ + return self._type + + +class BusBItemSpacewireDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:DATa:THReshold`` command. + + Description: + - This command sets or queries the threshold of the SpaceWire Data signal for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DATa:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:DATa:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:DATa:THReshold + - BUS:B:SPACEWIRe:DATa:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the SpaceWire Data threshold level for the specified bus, in volts. + """ + + +class BusBItemSpacewireDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:DATa:SOUrce`` command. + + Description: + - This command sets or queries the source of the SpaceWire Data signal for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:DATa:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SPACEWIRe:DATa:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the data signal, where is the + channel number. + - ``MATH`` specifies a math channel as the source for the data signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the data signal, where is + the reference waveform number. + """ + + +class BusBItemSpacewireData(SCPICmdRead): + """The ``BUS:B:SPACEWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.source``: The ``BUS:B:SPACEWIRe:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPACEWIRe:DATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSpacewireDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSpacewireDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSpacewireDataSource: + """Return the ``BUS:B:SPACEWIRe:DATa:SOUrce`` command. + + Description: + - This command sets or queries the source of the SpaceWire Data signal for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:DATa:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:DATa:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SPACEWIRe:DATa:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the data signal, where is + the channel number. + - ``MATH`` specifies a math channel as the source for the data signal, where is + the math waveform number. + - ``REF`` specifies a reference waveform as the source for the data signal, where + is the reference waveform number. + """ + return self._source + + @property + def threshold(self) -> BusBItemSpacewireDataThreshold: + """Return the ``BUS:B:SPACEWIRe:DATa:THReshold`` command. + + Description: + - This command sets or queries the threshold of the SpaceWire Data signal for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DATa:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:SPACEWIRe:DATa:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SPACEWIRe:DATa:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:DATa:THReshold + - BUS:B:SPACEWIRe:DATa:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the SpaceWire Data threshold level for the specified bus, in volts. + """ + return self._threshold + + +class BusBItemSpacewireBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SPACEWIRe:BITRate`` command. + + Description: + - This command sets or queries the SpaceWire bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:BITRate + - BUS:B:SPACEWIRe:BITRate? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the SpaceWire bit rate for the specified bus. The valid bit rate range + is 2 Mbps to 200 Mbps. The default value is 10 Mbps. + """ + + +class BusBItemSpacewire(SCPICmdRead): + """The ``BUS:B:SPACEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.bitrate``: The ``BUS:B:SPACEWIRe:BITRate`` command. + - ``.data``: The ``BUS:B:SPACEWIRe:DATa`` command tree. + - ``.decode``: The ``BUS:B:SPACEWIRe:DECode`` command tree. + - ``.strobe``: The ``BUS:B:SPACEWIRe:STRobe`` command tree. + - ``.sync``: The ``BUS:B:SPACEWIRe:SYNC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemSpacewireBitrate(device, f"{self._cmd_syntax}:BITRate") + self._data = BusBItemSpacewireData(device, f"{self._cmd_syntax}:DATa") + self._decode = BusBItemSpacewireDecode(device, f"{self._cmd_syntax}:DECode") + self._strobe = BusBItemSpacewireStrobe(device, f"{self._cmd_syntax}:STRobe") + self._sync = BusBItemSpacewireSync(device, f"{self._cmd_syntax}:SYNC") + + @property + def bitrate(self) -> BusBItemSpacewireBitrate: + """Return the ``BUS:B:SPACEWIRe:BITRate`` command. + + Description: + - This command sets or queries the SpaceWire bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:BITRate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:BITRate + - BUS:B:SPACEWIRe:BITRate? + ``` + + Info: + - ``B`` is the bus number. + - ``NR3`` specifies the SpaceWire bit rate for the specified bus. The valid bit rate + range is 2 Mbps to 200 Mbps. The default value is 10 Mbps. + """ + return self._bitrate + + @property + def data(self) -> BusBItemSpacewireData: + """Return the ``BUS:B:SPACEWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.source``: The ``BUS:B:SPACEWIRe:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPACEWIRe:DATa:THReshold`` command. + """ + return self._data + + @property + def decode(self) -> BusBItemSpacewireDecode: + """Return the ``BUS:B:SPACEWIRe:DECode`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:DECode?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:DECode?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.type``: The ``BUS:B:SPACEWIRe:DECode:TYPe`` command. + """ + return self._decode + + @property + def strobe(self) -> BusBItemSpacewireStrobe: + """Return the ``BUS:B:SPACEWIRe:STRobe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:STRobe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:STRobe?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.source``: The ``BUS:B:SPACEWIRe:STRobe:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SPACEWIRe:STRobe:THReshold`` command. + """ + return self._strobe + + @property + def sync(self) -> BusBItemSpacewireSync: + """Return the ``BUS:B:SPACEWIRe:SYNC`` command. + + Description: + - This command sets or queries sync for SpaceWire decoding. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe:SYNC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SPACEWIRe:SYNC value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SPACEWIRe:SYNC {DATA|NULL|AUTO|CUSTom} + - BUS:B:SPACEWIRe:SYNC? + ``` + + Info: + - ``B`` is the bus number. + - ``DATA`` specifies sync as data. + - ``NULL`` specifies sync as null. + - ``AUTO`` specifies sync as auto. + - ``CUSTom`` specifies sync as custom. + + Sub-properties: + - ``.count``: The ``BUS:B:SPACEWIRe:SYNC:COUnt`` command. + - ``.pattern``: The ``BUS:B:SPACEWIRe:SYNC:PATTern`` command. + - ``.value``: The ``BUS:B:SPACEWIRe:SYNC:VALUe`` command. + """ + return self._sync + + +class BusBItemSmbusPecValue(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SMBUS:PEC:VALUe`` command. + + Description: + - This command sets or queries the SMBus PEC selection for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:PEC:VALUe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:PEC:VALUe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:PEC:VALUe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:PEC:VALUe {TRUe|FALSe} + - BUS:B:SMBUS:PEC:VALUe? + ``` + + Info: + - ``B`` is the bus number. + - ``TRUe`` specifies the SMBus PEC selection as true. + - ``FALSe`` specifies the SMBus PEC selection as false. + """ + + +class BusBItemSmbusPec(SCPICmdRead): + """The ``BUS:B:SMBUS:PEC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:PEC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:PEC?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.value``: The ``BUS:B:SMBUS:PEC:VALUe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = BusBItemSmbusPecValue(device, f"{self._cmd_syntax}:VALUe") + + @property + def value(self) -> BusBItemSmbusPecValue: + """Return the ``BUS:B:SMBUS:PEC:VALUe`` command. + + Description: + - This command sets or queries the SMBus PEC selection for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:PEC:VALUe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:PEC:VALUe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:PEC:VALUe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:PEC:VALUe {TRUe|FALSe} + - BUS:B:SMBUS:PEC:VALUe? + ``` + + Info: + - ``B`` is the bus number. + - ``TRUe`` specifies the SMBus PEC selection as true. + - ``FALSe`` specifies the SMBus PEC selection as false. + """ + return self._value + + +class BusBItemSmbusDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SMBUS:DATA:THReshold`` command. + + Description: + - This command sets or queries the SMBUS data source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:DATA:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:DATA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:DATA:THReshold + - BUS:B:SMBUS:DATA:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ```` specifies the SMBUS data threshold for the specified bus. The valid range is -8V + to +8V. + """ + + +class BusBItemSmbusDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SMBUS:DATA:SOUrce`` command. + + Description: + - This command sets or queries the data source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:DATA:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SMBUS:DATA:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the data signal, where is the + channel number. + - ``MATH`` specifies a math channel as the source for the data signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the data signal, where is + the reference waveform number. + """ + + +class BusBItemSmbusData(SCPICmdRead): + """The ``BUS:B:SMBUS:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:DATA?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.source``: The ``BUS:B:SMBUS:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SMBUS:DATA:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSmbusDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSmbusDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSmbusDataSource: + """Return the ``BUS:B:SMBUS:DATA:SOUrce`` command. + + Description: + - This command sets or queries the data source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:DATA:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SMBUS:DATA:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the data signal, where is + the channel number. + - ``MATH`` specifies a math channel as the source for the data signal, where is + the math waveform number. + - ``REF`` specifies a reference waveform as the source for the data signal, where + is the reference waveform number. + """ + return self._source + + @property + def threshold(self) -> BusBItemSmbusDataThreshold: + """Return the ``BUS:B:SMBUS:DATA:THReshold`` command. + + Description: + - This command sets or queries the SMBUS data source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SMBUS:DATA:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:DATA:THReshold + - BUS:B:SMBUS:DATA:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ```` specifies the SMBUS data threshold for the specified bus. The valid range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemSmbusClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SMBUS:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the SMBUS clock source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:CLOCk:THReshold + - BUS:B:SMBUS:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ```` specifies the SMBUS clock threshold for the specified bus. The valid range is + -8V to +8V. + """ + + +class BusBItemSmbusClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SMBUS:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the clock source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SMBUS:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the data signal, where is the + channel number. + - ``MATH`` specifies a math channel as the source for the data signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the data signal, where is + the reference waveform number. + """ + + +class BusBItemSmbusClock(SCPICmdRead): + """The ``BUS:B:SMBUS:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.source``: The ``BUS:B:SMBUS:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SMBUS:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSmbusClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSmbusClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSmbusClockSource: + """Return the ``BUS:B:SMBUS:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the clock source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SMBUS:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SMBUS:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the data signal, where is + the channel number. + - ``MATH`` specifies a math channel as the source for the data signal, where is + the math waveform number. + - ``REF`` specifies a reference waveform as the source for the data signal, where + is the reference waveform number. + """ + return self._source + + @property + def threshold(self) -> BusBItemSmbusClockThreshold: + """Return the ``BUS:B:SMBUS:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the SMBUS clock source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SMBUS:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SMBUS:CLOCk:THReshold + - BUS:B:SMBUS:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the bus number. + - ```` specifies the SMBUS clock threshold for the specified bus. The valid range + is -8V to +8V. + """ + return self._threshold + + +class BusBItemSmbus(SCPICmdRead): + """The ``BUS:B:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Properties: + - ``.clock``: The ``BUS:B:SMBUS:CLOCk`` command tree. + - ``.data``: The ``BUS:B:SMBUS:DATA`` command tree. + - ``.pec``: The ``BUS:B:SMBUS:PEC`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = BusBItemSmbusClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemSmbusData(device, f"{self._cmd_syntax}:DATA") + self._pec = BusBItemSmbusPec(device, f"{self._cmd_syntax}:PEC") + + @property + def clock(self) -> BusBItemSmbusClock: + """Return the ``BUS:B:SMBUS:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.source``: The ``BUS:B:SMBUS:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SMBUS:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemSmbusData: + """Return the ``BUS:B:SMBUS:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.source``: The ``BUS:B:SMBUS:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SMBUS:DATA:THReshold`` command. + """ + return self._data + + @property + def pec(self) -> BusBItemSmbusPec: + """Return the ``BUS:B:SMBUS:PEC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS:PEC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS:PEC?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.value``: The ``BUS:B:SMBUS:PEC:VALUe`` command. + """ + return self._pec + + +class BusBItemSentTicktolerance(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:TICKTOLerance`` command. + + Description: + - This command sets or queries the SENT bus Tick Tolerance percent parameter for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:TICKTOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:TICKTOLerance?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:TICKTOLerance value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:TICKTOLerance + - BUS:B:SENT:TICKTOLerance? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the tick tolerance percentage. + """ + + +class BusBItemSentTicktime(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:TICKTIME`` command. + + Description: + - This command sets or queries the SENT bus Clock Tick parameter for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:TICKTIME?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:TICKTIME?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:TICKTIME value`` command. + + SCPI Syntax: + ``` + - BUS:B:SENT:TICKTIME + - BUS:B:SENT:TICKTIME? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SENT clock tick time, in seconds. + """ + + +class BusBItemSentThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:THRESHold`` command. + + Description: + - This command sets or queries the SENT DATA source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:THRESHold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:THRESHold + - BUS:B:SENT:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` sets the data source threshold value in volts. + """ + + +class BusBItemSentSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:SOUrce`` command. + + Description: + - This command sets or queries the SENT DATA source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:SENT:SOUrce {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - BUS:B:SENT:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the clock source waveform for the audio bus. + - ``CH_D`` specifies a digital channel as the clock source waveform for the specified + audio bus. + - ``Math`` specifies a math waveform as the clock source waveform for the audio bus. + - ``REF`` specifies a reference waveform as the clock source waveform for the audio bus. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified audio bus. + """ + + +class BusBItemSentSlow(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:SLOW`` command. + + Description: + - This command sets or queries the SENT slow channel configuration for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:SLOW?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:SLOW?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:SLOW value`` command. + + SCPI Syntax: + ``` + - BUS:B:SENT:SLOW {NOne|ENHANCED4|ENHANCED8|SHOrt} + - BUS:B:SENT:SLOW? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``NOne`` specifies no slow channel configured. + - ``ENHANCED4`` specifies Enhanced 4 slow channel configuration. + - ``ENHANCED8`` specifies Enhanced 8 slow channel configuration. + - ``SHOrt`` specifies short slow channel configuration. + """ + + +class BusBItemSentPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:POLARITY`` command. + + Description: + - This command sets or queries SENT Idle State signal polarity for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:POLARITY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:POLARITY?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:POLARITY value`` command. + + SCPI Syntax: + ``` + - BUS:B:SENT:POLARITY {INVerted|NORmal} + - BUS:B:SENT:POLARITY? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``INVerted`` specifies inverted polarity. + - ``NORmal`` specifies normal polarity. + """ + + +class BusBItemSentPausepulse(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:PAUSEPULSe`` command. + + Description: + - This command sets or queries SENT pause pulse for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:PAUSEPULSe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:PAUSEPULSe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:PAUSEPULSe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:PAUSEPULSe {NO|YES} + - BUS:B:SENT:PAUSEPULSe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``NO`` specifies no pause pulse. + - ``YES`` specifies a pause pulse is used. + """ + + +class BusBItemSentNumchannel(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:NUMCHANnel`` command. + + Description: + - This command sets or queries SENT fast data channels for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:NUMCHANnel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:NUMCHANnel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:NUMCHANnel value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:NUMCHANnel {ONE|TWO} + - BUS:B:SENT:NUMCHANnel? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``ONE`` specifies a SENT bus with one fast channel. + - ``TWO`` specifies a SENT bus with two fast channels. + """ + + +class BusBItemSentNibblecount(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:NIBBLECount`` command. + + Description: + - This command sets or queries SENT data nibbles for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:NIBBLECount?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:NIBBLECount?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:NIBBLECount value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:NIBBLECount {THREE|FOUR|SIX} + - BUS:B:SENT:NIBBLECount? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``THREE`` specifies regular data with 3 nibbles. + - ``FOUR`` specifies regular data with 4nibbles. + - ``SIX`` specifies regular data with 6nibbles. + """ + + +class BusBItemSentChanwidth(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SENT:CHANWidth`` command. + + Description: + - This command sets or queries SENT fast channel bit widths for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:CHANWidth?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:CHANWidth?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:CHANWidth value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:CHANWidth {TWELVEtwelve|FOURTEENten|SIXTEENeight} + - BUS:B:SENT:CHANWidth? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``TWELVEtwelve`` sets both Fast Channel 1 and Fast Channel 2 to12 bits wide. + - ``FOURTEENten`` sets Fast Channel 1 to 14 bits and Fast Channel 2 to 10 bits. + - ``SIXTEENeight`` sets Fast Channel 1 to 16 bits and Fast Channel 2 to eight bits. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemSent(SCPICmdRead): + """The ``BUS:B:SENT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Properties: + - ``.chanwidth``: The ``BUS:B:SENT:CHANWidth`` command. + - ``.nibblecount``: The ``BUS:B:SENT:NIBBLECount`` command. + - ``.numchannel``: The ``BUS:B:SENT:NUMCHANnel`` command. + - ``.pausepulse``: The ``BUS:B:SENT:PAUSEPULSe`` command. + - ``.polarity``: The ``BUS:B:SENT:POLARITY`` command. + - ``.slow``: The ``BUS:B:SENT:SLOW`` command. + - ``.source``: The ``BUS:B:SENT:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SENT:THRESHold`` command. + - ``.ticktime``: The ``BUS:B:SENT:TICKTIME`` command. + - ``.ticktolerance``: The ``BUS:B:SENT:TICKTOLerance`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._chanwidth = BusBItemSentChanwidth(device, f"{self._cmd_syntax}:CHANWidth") + self._nibblecount = BusBItemSentNibblecount(device, f"{self._cmd_syntax}:NIBBLECount") + self._numchannel = BusBItemSentNumchannel(device, f"{self._cmd_syntax}:NUMCHANnel") + self._pausepulse = BusBItemSentPausepulse(device, f"{self._cmd_syntax}:PAUSEPULSe") + self._polarity = BusBItemSentPolarity(device, f"{self._cmd_syntax}:POLARITY") + self._slow = BusBItemSentSlow(device, f"{self._cmd_syntax}:SLOW") + self._source = BusBItemSentSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSentThreshold(device, f"{self._cmd_syntax}:THRESHold") + self._ticktime = BusBItemSentTicktime(device, f"{self._cmd_syntax}:TICKTIME") + self._ticktolerance = BusBItemSentTicktolerance(device, f"{self._cmd_syntax}:TICKTOLerance") + + @property + def chanwidth(self) -> BusBItemSentChanwidth: + """Return the ``BUS:B:SENT:CHANWidth`` command. + + Description: + - This command sets or queries SENT fast channel bit widths for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:CHANWidth?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:CHANWidth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:CHANWidth value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:CHANWidth {TWELVEtwelve|FOURTEENten|SIXTEENeight} + - BUS:B:SENT:CHANWidth? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``TWELVEtwelve`` sets both Fast Channel 1 and Fast Channel 2 to12 bits wide. + - ``FOURTEENten`` sets Fast Channel 1 to 14 bits and Fast Channel 2 to 10 bits. + - ``SIXTEENeight`` sets Fast Channel 1 to 16 bits and Fast Channel 2 to eight bits. + """ + return self._chanwidth + + @property + def nibblecount(self) -> BusBItemSentNibblecount: + """Return the ``BUS:B:SENT:NIBBLECount`` command. + + Description: + - This command sets or queries SENT data nibbles for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:NIBBLECount?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:NIBBLECount?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:NIBBLECount value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:NIBBLECount {THREE|FOUR|SIX} + - BUS:B:SENT:NIBBLECount? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``THREE`` specifies regular data with 3 nibbles. + - ``FOUR`` specifies regular data with 4nibbles. + - ``SIX`` specifies regular data with 6nibbles. + """ + return self._nibblecount + + @property + def numchannel(self) -> BusBItemSentNumchannel: + """Return the ``BUS:B:SENT:NUMCHANnel`` command. + + Description: + - This command sets or queries SENT fast data channels for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:NUMCHANnel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:NUMCHANnel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:NUMCHANnel value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:NUMCHANnel {ONE|TWO} + - BUS:B:SENT:NUMCHANnel? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``ONE`` specifies a SENT bus with one fast channel. + - ``TWO`` specifies a SENT bus with two fast channels. + """ + return self._numchannel + + @property + def pausepulse(self) -> BusBItemSentPausepulse: + """Return the ``BUS:B:SENT:PAUSEPULSe`` command. + + Description: + - This command sets or queries SENT pause pulse for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:PAUSEPULSe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:PAUSEPULSe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:PAUSEPULSe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:PAUSEPULSe {NO|YES} + - BUS:B:SENT:PAUSEPULSe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``NO`` specifies no pause pulse. + - ``YES`` specifies a pause pulse is used. + """ + return self._pausepulse + + @property + def polarity(self) -> BusBItemSentPolarity: + """Return the ``BUS:B:SENT:POLARITY`` command. + + Description: + - This command sets or queries SENT Idle State signal polarity for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:POLARITY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:POLARITY?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:POLARITY value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:POLARITY {INVerted|NORmal} + - BUS:B:SENT:POLARITY? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``INVerted`` specifies inverted polarity. + - ``NORmal`` specifies normal polarity. + """ + return self._polarity + + @property + def slow(self) -> BusBItemSentSlow: + """Return the ``BUS:B:SENT:SLOW`` command. + + Description: + - This command sets or queries the SENT slow channel configuration for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:SLOW?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:SLOW?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:SLOW value`` command. + + SCPI Syntax: + ``` + - BUS:B:SENT:SLOW {NOne|ENHANCED4|ENHANCED8|SHOrt} + - BUS:B:SENT:SLOW? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``NOne`` specifies no slow channel configured. + - ``ENHANCED4`` specifies Enhanced 4 slow channel configuration. + - ``ENHANCED8`` specifies Enhanced 8 slow channel configuration. + - ``SHOrt`` specifies short slow channel configuration. + """ + return self._slow + + @property + def source(self) -> BusBItemSentSource: + """Return the ``BUS:B:SENT:SOUrce`` command. + + Description: + - This command sets or queries the SENT DATA source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:SOUrce {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - BUS:B:SENT:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the clock source waveform for the audio bus. + - ``CH_D`` specifies a digital channel as the clock source waveform for the + specified audio bus. + - ``Math`` specifies a math waveform as the clock source waveform for the audio bus. + - ``REF`` specifies a reference waveform as the clock source waveform for the audio + bus. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified audio bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemSentThreshold: + """Return the ``BUS:B:SENT:THRESHold`` command. + + Description: + - This command sets or queries the SENT DATA source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:THRESHold + - BUS:B:SENT:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` sets the data source threshold value in volts. + """ + return self._threshold + + @property + def ticktime(self) -> BusBItemSentTicktime: + """Return the ``BUS:B:SENT:TICKTIME`` command. + + Description: + - This command sets or queries the SENT bus Clock Tick parameter for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:TICKTIME?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:TICKTIME?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:TICKTIME value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:TICKTIME + - BUS:B:SENT:TICKTIME? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the SENT clock tick time, in seconds. + """ + return self._ticktime + + @property + def ticktolerance(self) -> BusBItemSentTicktolerance: + """Return the ``BUS:B:SENT:TICKTOLerance`` command. + + Description: + - This command sets or queries the SENT bus Tick Tolerance percent parameter for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT:TICKTOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT:TICKTOLerance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SENT:TICKTOLerance value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SENT:TICKTOLerance + - BUS:B:SENT:TICKTOLerance? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ```` is the tick tolerance percentage. + """ + return self._ticktolerance + + +class BusBItemSdlcModulo(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SDLC:MODulo`` command. + + Description: + - This command sets or queries the SDLC Bus Modulo. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:MODulo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:MODulo?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:MODulo value`` command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:MODulo {8|128} + - BUS:B:SDLC:MODulo? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``8`` specifies the C-Field size is 8 bit in SDLC frame. + - ``128`` specifies the C-Field size is 16 bit in SDLC frame. + """ + + +class BusBItemSdlcEncoding(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SDLC:ENCoding`` command. + + Description: + - This command sets or queries the SDLC Bus Encoding. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:ENCoding?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:ENCoding?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:ENCoding value`` command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:ENCoding {DISCrete|INVert} + - BUS:B:SDLC:ENCoding? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``DISCrete`` specifies the encoding mechanism is Discrete Transmission (NRZ). + - ``INVert`` specifies that encoding mechanism is Invert On Zero i.e. NRZI. + """ + + +class BusBItemSdlcDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SDLC:DATA:THReshold`` command. + + Description: + - This command sets or queries the SDLC data source threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:DATA:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:DATA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:DATA:THReshold + - BUS:B:SDLC:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the SDLC Strobe threshold for the specified bus. The valid range is -8V to + +8V. + """ + + +class BusBItemSdlcDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SDLC:DATA:SOUrce`` command. + + Description: + - This command sets or queries the source for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:DATA:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SDLC:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemSdlcData(SCPICmdRead): + """The ``BUS:B:SDLC:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:DATA?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:SDLC:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SDLC:DATA:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemSdlcDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemSdlcDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemSdlcDataSource: + """Return the ``BUS:B:SDLC:DATA:SOUrce`` command. + + Description: + - This command sets or queries the source for the specified bus. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:DATA:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:SDLC:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemSdlcDataThreshold: + """Return the ``BUS:B:SDLC:DATA:THReshold`` command. + + Description: + - This command sets or queries the SDLC data source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:SDLC:DATA:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:DATA:THReshold + - BUS:B:SDLC:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the SDLC Strobe threshold for the specified bus. The valid range is -8V + to +8V. + """ + return self._threshold + + +class BusBItemSdlcBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:SDLC:BITRate`` command. + + Description: + - This command sets or queries the bit rate for the specified SDLC bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:BITRate + - BUS:B:SDLC:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the bit rate. The default bit rate is 10 kbs and varies 300 ~ + 1000000000. + """ + + +class BusBItemSdlc(SCPICmdRead): + """The ``BUS:B:SDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:SDLC:BITRate`` command. + - ``.data``: The ``BUS:B:SDLC:DATA`` command tree. + - ``.encoding``: The ``BUS:B:SDLC:ENCoding`` command. + - ``.modulo``: The ``BUS:B:SDLC:MODulo`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemSdlcBitrate(device, f"{self._cmd_syntax}:BITRate") + self._data = BusBItemSdlcData(device, f"{self._cmd_syntax}:DATA") + self._encoding = BusBItemSdlcEncoding(device, f"{self._cmd_syntax}:ENCoding") + self._modulo = BusBItemSdlcModulo(device, f"{self._cmd_syntax}:MODulo") + + @property + def bitrate(self) -> BusBItemSdlcBitrate: + """Return the ``BUS:B:SDLC:BITRate`` command. + + Description: + - This command sets or queries the bit rate for the specified SDLC bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:BITRate + - BUS:B:SDLC:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the bit rate. The default bit rate is 10 kbs and varies 300 ~ + 1000000000. + """ + return self._bitrate + + @property + def data(self) -> BusBItemSdlcData: + """Return the ``BUS:B:SDLC:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:SDLC:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SDLC:DATA:THReshold`` command. + """ + return self._data + + @property + def encoding(self) -> BusBItemSdlcEncoding: + """Return the ``BUS:B:SDLC:ENCoding`` command. + + Description: + - This command sets or queries the SDLC Bus Encoding. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:ENCoding?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:ENCoding?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:ENCoding value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:ENCoding {DISCrete|INVert} + - BUS:B:SDLC:ENCoding? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``DISCrete`` specifies the encoding mechanism is Discrete Transmission (NRZ). + - ``INVert`` specifies that encoding mechanism is Invert On Zero i.e. NRZI. + """ + return self._encoding + + @property + def modulo(self) -> BusBItemSdlcModulo: + """Return the ``BUS:B:SDLC:MODulo`` command. + + Description: + - This command sets or queries the SDLC Bus Modulo. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC:MODulo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC:MODulo?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:SDLC:MODulo value`` + command. + + SCPI Syntax: + ``` + - BUS:B:SDLC:MODulo {8|128} + - BUS:B:SDLC:MODulo? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``8`` specifies the C-Field size is 8 bit in SDLC frame. + - ``128`` specifies the C-Field size is 16 bit in SDLC frame. + """ + return self._modulo + + +class BusBItemS8b10bThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:S8B10B:THReshold`` command. + + Description: + - This command sets or queries the 8B10b threshold for the specified bus, where the bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:S8B10B:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:S8B10B:THReshold + - BUS:B:S8B10B:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the 8B10b Strobe threshold for the specified bus in volts. The valid range is + -8V to +8V. + """ + + +class BusBItemS8b10bSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:S8B10B:SOUrce`` command. + + Description: + - This command sets or queries the 8B10b source for the specified bus, where the bus is + specified by x. This command specifies the source channel. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:S8B10B:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:S8B10B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:S8B10B:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemS8b10bBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:S8B10B:BITRate`` command. + + Description: + - This command sets or queries the 8B10b bit rate for the specified bus, where the bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:S8B10B:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:S8B10B:BITRate + - BUS:B:S8B10B:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the bit rate for the specified bus. Arguments are the available bit rates + up to 1 Tbps. + """ + + +class BusBItemS8b10b(SCPICmdRead): + """The ``BUS:B:S8B10B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:S8B10B:BITRate`` command. + - ``.source``: The ``BUS:B:S8B10B:SOUrce`` command. + - ``.threshold``: The ``BUS:B:S8B10B:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemS8b10bBitrate(device, f"{self._cmd_syntax}:BITRate") + self._source = BusBItemS8b10bSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemS8b10bThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def bitrate(self) -> BusBItemS8b10bBitrate: + """Return the ``BUS:B:S8B10B:BITRate`` command. + + Description: + - This command sets or queries the 8B10b bit rate for the specified bus, where the bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:S8B10B:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:S8B10B:BITRate + - BUS:B:S8B10B:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the bit rate for the specified bus. Arguments are the available bit + rates up to 1 Tbps. + """ + return self._bitrate + + @property + def source(self) -> BusBItemS8b10bSource: + """Return the ``BUS:B:S8B10B:SOUrce`` command. + + Description: + - This command sets or queries the 8B10b source for the specified bus, where the bus is + specified by x. This command specifies the source channel. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:S8B10B:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:S8B10B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:S8B10B:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemS8b10bThreshold: + """Return the ``BUS:B:S8B10B:THReshold`` command. + + Description: + - This command sets or queries the 8B10b threshold for the specified bus, where the bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:S8B10B:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:S8B10B:THReshold + - BUS:B:S8B10B:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the 8B10b Strobe threshold for the specified bus in volts. The valid + range is -8V to +8V. + """ + return self._threshold + + +class BusBItemRs232cSourceThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:SOUrce:THReshold`` command. + + Description: + - This command sets or queries the RS-232C source threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:SOUrce:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:SOUrce:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:RS232C:SOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:SOUrce:THReshold + - BUS:B:RS232C:SOUrce:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the RS-232C source threshold for the specified bus. + """ + + +class BusBItemRs232cSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:SOUrce`` command. + + Description: + - This command sets or queries the RS-232C source for bus , where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:SOUrce {S_Ch_D|CH|CH_D|REF|MATH|REF_D} + - BUS:B:RS232C:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the digital + channel as the source. + - ``CH`` specifies an analog channel to use as the RS-232C source. + - ``CH_D`` specifies a digital channel of a specified FlexChannel to use for the + RS-232C source. + - ``MATH`` specifies a math channel to use for the RS-232C source. + - ``REF`` specifies a reference channel to use for the RS-232C source. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified RS-232C bus. + + Properties: + - ``.threshold``: The ``BUS:B:RS232C:SOUrce:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemRs232cSourceThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def threshold(self) -> BusBItemRs232cSourceThreshold: + """Return the ``BUS:B:RS232C:SOUrce:THReshold`` command. + + Description: + - This command sets or queries the RS-232C source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:SOUrce:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:RS232C:SOUrce:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:RS232C:SOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:SOUrce:THReshold + - BUS:B:RS232C:SOUrce:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the RS-232C source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemRs232cPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:POLarity`` command. + + Description: + - This command sets or queries the RS-232C source polarity for bus , where the bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:POLarity {NORmal|INVERTed} + - BUS:B:RS232C:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORmal`` sets the RS-232C bus polarity to positive. + - ``INVERTed`` sets the RS-232C bus polarity to negative. + """ + + +class BusBItemRs232cParity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:PARity`` command. + + Description: + - This command sets or queries the RS-232C parity for bus , where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:PARity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:PARity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:PARity value`` command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:PARity {NONe|EVEN|ODD} + - BUS:B:RS232C:PARity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NONe`` specifies no parity. + - ``EVEN`` specifies even parity. + - ``ODD`` specifies odd parity. + """ + + +class BusBItemRs232cDisplaymode(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:DISplaymode`` command. + + Description: + - This command sets or queries the RS-232C display mode for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:DISplaymode?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:DISplaymode?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:DISplaymode value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:DISplaymode {FRame|PACKET} + - BUS:B:RS232C:DISplaymode? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FRame`` displays each frame as a single entity. + - ``PACKET`` displays a group of frames terminated with a single frame defined by the + ``BUS:B:RS232C:DELImiter`` command. + """ + + +class BusBItemRs232cDelimiter(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:DELIMiter`` command. + + Description: + - This command sets or queries the RS-232C string delimiter on bus , where the bus number + is specified by x. This command only applies when Packet view is turned On. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:DELIMiter?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:DELIMiter?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:DELIMiter value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:DELIMiter {NULl|CR|LF|SPace|XFF} + - BUS:B:RS232C:DELIMiter? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NULl`` specifies NULL (0x00 ) delimiting value for a packet. + - ``CR`` specifies CR (0x0D) delimiting value for a packet. + - ``LF`` specifies LF (0x0A) delimiting value for a packet. + - ``XFF`` specifies XFF (0xFF) delimiting value for a packet. + - ``SPace`` specifies SPace delimiting value for a packet. + """ + + +class BusBItemRs232cDatabits(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:DATABits`` command. + + Description: + - This command sets or queries the RS-232C data width for bus, where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:DATABits?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:DATABits?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:DATABits value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:DATABits {7|8|9} + - BUS:B:RS232C:DATABits? + ``` + + Info: + - ``B`` is the number of the bus. + - ``7`` specifies the number of bits as 7 in the RS-232C data frame. + - ``8`` specifies the number of bits as 8 in the RS-232C data frame. + - ``9`` specifies the number of bits as 9 in the RS-232C data frame. + """ + + +class BusBItemRs232cBitrateCustom(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the RS-232C custom bit rate for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:BITRate:CUSTom value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:BITRate:CUSTom + - BUS:B:RS232C:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the custom bit rate. + """ + + +class BusBItemRs232cBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:RS232C:BITRate`` command. + + Description: + - This command sets or queries the RS-232C bit rate for bus, where the bus number is + specified by x. If you select Custom, use ``BUS:BX:RS232C:BITRATE:CUSTOM`` to set the bit + rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:BITRate {CUSTOM|RATE300|RATE1K|RATE2K|RATE9K|RATE19K|RATE38K|RATE115K|RATE921K} + - BUS:B:RS232C:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.custom``: The ``BUS:B:RS232C:BITRate:CUSTom`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._custom = BusBItemRs232cBitrateCustom(device, f"{self._cmd_syntax}:CUSTom") + + @property + def custom(self) -> BusBItemRs232cBitrateCustom: + """Return the ``BUS:B:RS232C:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the RS-232C custom bit rate for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:RS232C:BITRate:CUSTom value`` command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:BITRate:CUSTom + - BUS:B:RS232C:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the custom bit rate. + """ + return self._custom + + +class BusBItemRs232c(SCPICmdRead): + """The ``BUS:B:RS232C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:RS232C:BITRate`` command. + - ``.databits``: The ``BUS:B:RS232C:DATABits`` command. + - ``.delimiter``: The ``BUS:B:RS232C:DELIMiter`` command. + - ``.displaymode``: The ``BUS:B:RS232C:DISplaymode`` command. + - ``.parity``: The ``BUS:B:RS232C:PARity`` command. + - ``.polarity``: The ``BUS:B:RS232C:POLarity`` command. + - ``.source``: The ``BUS:B:RS232C:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemRs232cBitrate(device, f"{self._cmd_syntax}:BITRate") + self._databits = BusBItemRs232cDatabits(device, f"{self._cmd_syntax}:DATABits") + self._delimiter = BusBItemRs232cDelimiter(device, f"{self._cmd_syntax}:DELIMiter") + self._displaymode = BusBItemRs232cDisplaymode(device, f"{self._cmd_syntax}:DISplaymode") + self._parity = BusBItemRs232cParity(device, f"{self._cmd_syntax}:PARity") + self._polarity = BusBItemRs232cPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemRs232cSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def bitrate(self) -> BusBItemRs232cBitrate: + """Return the ``BUS:B:RS232C:BITRate`` command. + + Description: + - This command sets or queries the RS-232C bit rate for bus, where the bus number is + specified by x. If you select Custom, use ``BUS:BX:RS232C:BITRATE:CUSTOM`` to set the + bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:BITRate {CUSTOM|RATE300|RATE1K|RATE2K|RATE9K|RATE19K|RATE38K|RATE115K|RATE921K} + - BUS:B:RS232C:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.custom``: The ``BUS:B:RS232C:BITRate:CUSTom`` command. + """ # noqa: E501 + return self._bitrate + + @property + def databits(self) -> BusBItemRs232cDatabits: + """Return the ``BUS:B:RS232C:DATABits`` command. + + Description: + - This command sets or queries the RS-232C data width for bus, where the bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:DATABits?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:DATABits?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:DATABits value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:DATABits {7|8|9} + - BUS:B:RS232C:DATABits? + ``` + + Info: + - ``B`` is the number of the bus. + - ``7`` specifies the number of bits as 7 in the RS-232C data frame. + - ``8`` specifies the number of bits as 8 in the RS-232C data frame. + - ``9`` specifies the number of bits as 9 in the RS-232C data frame. + """ + return self._databits + + @property + def delimiter(self) -> BusBItemRs232cDelimiter: + """Return the ``BUS:B:RS232C:DELIMiter`` command. + + Description: + - This command sets or queries the RS-232C string delimiter on bus , where the bus + number is specified by x. This command only applies when Packet view is turned On. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:DELIMiter?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:DELIMiter?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:DELIMiter value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:DELIMiter {NULl|CR|LF|SPace|XFF} + - BUS:B:RS232C:DELIMiter? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NULl`` specifies NULL (0x00 ) delimiting value for a packet. + - ``CR`` specifies CR (0x0D) delimiting value for a packet. + - ``LF`` specifies LF (0x0A) delimiting value for a packet. + - ``XFF`` specifies XFF (0xFF) delimiting value for a packet. + - ``SPace`` specifies SPace delimiting value for a packet. + """ + return self._delimiter + + @property + def displaymode(self) -> BusBItemRs232cDisplaymode: + """Return the ``BUS:B:RS232C:DISplaymode`` command. + + Description: + - This command sets or queries the RS-232C display mode for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:DISplaymode?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:DISplaymode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:DISplaymode value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:DISplaymode {FRame|PACKET} + - BUS:B:RS232C:DISplaymode? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FRame`` displays each frame as a single entity. + - ``PACKET`` displays a group of frames terminated with a single frame defined by the + ``BUS:B:RS232C:DELImiter`` command. + """ + return self._displaymode + + @property + def parity(self) -> BusBItemRs232cParity: + """Return the ``BUS:B:RS232C:PARity`` command. + + Description: + - This command sets or queries the RS-232C parity for bus , where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:PARity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:PARity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:PARity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:PARity {NONe|EVEN|ODD} + - BUS:B:RS232C:PARity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NONe`` specifies no parity. + - ``EVEN`` specifies even parity. + - ``ODD`` specifies odd parity. + """ + return self._parity + + @property + def polarity(self) -> BusBItemRs232cPolarity: + """Return the ``BUS:B:RS232C:POLarity`` command. + + Description: + - This command sets or queries the RS-232C source polarity for bus , where the bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:POLarity {NORmal|INVERTed} + - BUS:B:RS232C:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORmal`` sets the RS-232C bus polarity to positive. + - ``INVERTed`` sets the RS-232C bus polarity to negative. + """ + return self._polarity + + @property + def source(self) -> BusBItemRs232cSource: + """Return the ``BUS:B:RS232C:SOUrce`` command. + + Description: + - This command sets or queries the RS-232C source for bus , where the bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:RS232C:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:RS232C:SOUrce {S_Ch_D|CH|CH_D|REF|MATH|REF_D} + - BUS:B:RS232C:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the + digital channel as the source. + - ``CH`` specifies an analog channel to use as the RS-232C source. + - ``CH_D`` specifies a digital channel of a specified FlexChannel to use for the + RS-232C source. + - ``MATH`` specifies a math channel to use for the RS-232C source. + - ``REF`` specifies a reference channel to use for the RS-232C source. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified RS-232C bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:RS232C:SOUrce:THReshold`` command. + """ + return self._source + + +class BusBItemPsifiveThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:THRESHold`` command. + + Description: + - This command sets or queries the PSI5 threshold for the Sensor To ECU specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:THRESHold + - BUS:B:PSIFIVe:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the PSI5 Strobe threshold for the specified bus. The threshold range + is -8 V to +8 V. + """ + + +class BusBItemPsifiveSyncthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:SYNCTHRESHold`` command. + + Description: + - This command sets or queries the PSI5 threshold for the ECU To Sensor specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:SYNCTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:SYNCTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:SYNCTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:SYNCTHRESHold + - BUS:B:PSIFIVe:SYNCTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the PSI5 Strobe threshold for the specified bus. The threshold range + is -8 V to +8 V. + """ + + +class BusBItemPsifiveSyncmode(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:SYNCMODe`` command. + + Description: + - This command sets or queries the PSI5 Sync Mode. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:SYNCMODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:SYNCMODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:SYNCMODe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:SYNCMODe {PULSEWIDTh|TOOTHGAP} + - BUS:B:PSIFIVe:SYNCMODe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``PULSEWIDTh`` specifies the Sync Mode as Pulse Width. + - ``TOOTHGAP`` specifies the Sync Mode as Tooth Gap. + """ + + +class BusBItemPsifiveStatus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:STATus`` command. + + Description: + - This command sets or queries the optional status bits of PSI5. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:STATus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:STATus?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:STATus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:STATus + - BUS:B:PSIFIVe:STATus? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the status value in bits. The default status value is 0 bits, + otherwise it ranges between 0 to 2 bits. + """ + + +class BusBItemPsifiveSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:SOUrce`` command. + + Description: + - This command sets or queries serial channel on or off. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:PSIFIVe:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemPsifiveMessaging(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:MESSaging`` command. + + Description: + - This command sets or queries the PSI5 optional messaging bits. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:MESSaging?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:MESSaging?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:MESSaging value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:MESSaging {OFF|ON} + - BUS:B:PSIFIVe:MESSaging? + ``` + + Info: + - ``B`` is the number of the bus. + - ``OFF`` specifies the messaging bits as the default value of 0. + - ``ON`` specifies the messaging bits as 2. + """ + + +class BusBItemPsifiveFramecontrol(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:FRAMECONTrol`` command. + + Description: + - This command sets or queries the PSI5 frame optional control bits. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:FRAMECONTrol?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:FRAMECONTrol?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:FRAMECONTrol value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:FRAMECONTrol + - BUS:B:PSIFIVe:FRAMECONTrol? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the frame control value in bits. The default frame control value is 0 + bits, otherwise it ranges between 0 to 4 bits. + """ + + +class BusBItemPsifiveEcusource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:ECUSOURce`` command. + + Description: + - This command sets or queries the ECU to sensor source channel for the specified Bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:ECUSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:ECUSOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:ECUSOURce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:ECUSOURce {S_Ch|CH|MATH|REF} + - BUS:B:PSIFIVe:ECUSOURce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemPsifiveDataformat(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:DATAFORMat`` command. + + Description: + - This command sets or queries the data format in PSI5 Frame2 packet. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:DATAFORMat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:DATAFORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:DATAFORMat value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:DATAFORMat {NIBBLe|BYTe} + - BUS:B:PSIFIVe:DATAFORMat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NIBBLe`` specifies the data format as Nibble. + - ``BYTe`` specifies the data format as Byte. + """ + + +class BusBItemPsifiveDatab(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:DATAB`` command. + + Description: + - This command sets or queries the PSI5 frame optional bits of data region B. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:DATAB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:DATAB?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:DATAB value`` command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:DATAB + - BUS:B:PSIFIVe:DATAB? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the dataA value in bits. The default dataB value is 0 bits, otherwise + it ranges between 0 to 12 bits. + """ + + +class BusBItemPsifiveDataa(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:DATAA`` command. + + Description: + - This command sets or queries the PSI5 frame mandatory data region A. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:DATAA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:DATAA?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:DATAA value`` command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:DATAA + - BUS:B:PSIFIVe:DATAA? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the dataA value in bits. The default dataA value is 10 bits, otherwise + it ranges between 10 to 24 bits. + """ + + +class BusBItemPsifiveCommDirection(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:COMM:DIRection`` command. + + Description: + - This command sets or queries the PSI5 bus communication direction. Communication direction + by default is set to Sensor to ECU. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} + - BUS:B:PSIFIVe:COMM:DIRection? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SENSORECU`` specifies the communication direction to Sensor to ECU. This is the default + value. + - ``ECUSENSor`` specifies the communication direction to ECU to Sensor. + """ + + +class BusBItemPsifiveComm(SCPICmdRead): + """The ``BUS:B:PSIFIVe:COMM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.direction``: The ``BUS:B:PSIFIVe:COMM:DIRection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = BusBItemPsifiveCommDirection(device, f"{self._cmd_syntax}:DIRection") + + @property + def direction(self) -> BusBItemPsifiveCommDirection: + """Return the ``BUS:B:PSIFIVe:COMM:DIRection`` command. + + Description: + - This command sets or queries the PSI5 bus communication direction. Communication + direction by default is set to Sensor to ECU. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PSIFIVe:COMM:DIRection value`` command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:COMM:DIRection {SENSORECU|ECUSENSor} + - BUS:B:PSIFIVe:COMM:DIRection? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SENSORECU`` specifies the communication direction to Sensor to ECU. This is the + default value. + - ``ECUSENSor`` specifies the communication direction to ECU to Sensor. + """ + return self._direction + + +class BusBItemPsifiveBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:BITRate`` command. + + Description: + - This command sets or queries the PSI5 bitrate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:BITRate {RATE125K|RATE189K|RATE83K} + - BUS:B:PSIFIVe:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + """ + + +class BusBItemPsifiveBitperiod(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PSIFIVe:BITPERiod`` command. + + Description: + - This command sets or queries the PSI5 Bit period bus parameter. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:BITPERiod + - BUS:B:PSIFIVe:BITPERiod? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the bit period. The default bit period is 60 Micro seconds. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemPsifive(SCPICmdRead): + """The ``BUS:B:PSIFIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitperiod``: The ``BUS:B:PSIFIVe:BITPERiod`` command. + - ``.bitrate``: The ``BUS:B:PSIFIVe:BITRate`` command. + - ``.comm``: The ``BUS:B:PSIFIVe:COMM`` command tree. + - ``.dataa``: The ``BUS:B:PSIFIVe:DATAA`` command. + - ``.datab``: The ``BUS:B:PSIFIVe:DATAB`` command. + - ``.dataformat``: The ``BUS:B:PSIFIVe:DATAFORMat`` command. + - ``.ecusource``: The ``BUS:B:PSIFIVe:ECUSOURce`` command. + - ``.framecontrol``: The ``BUS:B:PSIFIVe:FRAMECONTrol`` command. + - ``.messaging``: The ``BUS:B:PSIFIVe:MESSaging`` command. + - ``.source``: The ``BUS:B:PSIFIVe:SOUrce`` command. + - ``.status``: The ``BUS:B:PSIFIVe:STATus`` command. + - ``.syncmode``: The ``BUS:B:PSIFIVe:SYNCMODe`` command. + - ``.syncthreshold``: The ``BUS:B:PSIFIVe:SYNCTHRESHold`` command. + - ``.threshold``: The ``BUS:B:PSIFIVe:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitperiod = BusBItemPsifiveBitperiod(device, f"{self._cmd_syntax}:BITPERiod") + self._bitrate = BusBItemPsifiveBitrate(device, f"{self._cmd_syntax}:BITRate") + self._comm = BusBItemPsifiveComm(device, f"{self._cmd_syntax}:COMM") + self._dataa = BusBItemPsifiveDataa(device, f"{self._cmd_syntax}:DATAA") + self._datab = BusBItemPsifiveDatab(device, f"{self._cmd_syntax}:DATAB") + self._dataformat = BusBItemPsifiveDataformat(device, f"{self._cmd_syntax}:DATAFORMat") + self._ecusource = BusBItemPsifiveEcusource(device, f"{self._cmd_syntax}:ECUSOURce") + self._framecontrol = BusBItemPsifiveFramecontrol(device, f"{self._cmd_syntax}:FRAMECONTrol") + self._messaging = BusBItemPsifiveMessaging(device, f"{self._cmd_syntax}:MESSaging") + self._source = BusBItemPsifiveSource(device, f"{self._cmd_syntax}:SOUrce") + self._status = BusBItemPsifiveStatus(device, f"{self._cmd_syntax}:STATus") + self._syncmode = BusBItemPsifiveSyncmode(device, f"{self._cmd_syntax}:SYNCMODe") + self._syncthreshold = BusBItemPsifiveSyncthreshold( + device, f"{self._cmd_syntax}:SYNCTHRESHold" + ) + self._threshold = BusBItemPsifiveThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def bitperiod(self) -> BusBItemPsifiveBitperiod: + """Return the ``BUS:B:PSIFIVe:BITPERiod`` command. + + Description: + - This command sets or queries the PSI5 Bit period bus parameter. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITPERiod value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:BITPERiod + - BUS:B:PSIFIVe:BITPERiod? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the bit period. The default bit period is 60 Micro seconds. + """ + return self._bitperiod + + @property + def bitrate(self) -> BusBItemPsifiveBitrate: + """Return the ``BUS:B:PSIFIVe:BITRate`` command. + + Description: + - This command sets or queries the PSI5 bitrate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:BITRate {RATE125K|RATE189K|RATE83K} + - BUS:B:PSIFIVe:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + """ + return self._bitrate + + @property + def comm(self) -> BusBItemPsifiveComm: + """Return the ``BUS:B:PSIFIVe:COMM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:COMM?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:COMM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.direction``: The ``BUS:B:PSIFIVe:COMM:DIRection`` command. + """ + return self._comm + + @property + def dataa(self) -> BusBItemPsifiveDataa: + """Return the ``BUS:B:PSIFIVe:DATAA`` command. + + Description: + - This command sets or queries the PSI5 frame mandatory data region A. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:DATAA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:DATAA?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:DATAA value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:DATAA + - BUS:B:PSIFIVe:DATAA? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the dataA value in bits. The default dataA value is 10 bits, + otherwise it ranges between 10 to 24 bits. + """ + return self._dataa + + @property + def datab(self) -> BusBItemPsifiveDatab: + """Return the ``BUS:B:PSIFIVe:DATAB`` command. + + Description: + - This command sets or queries the PSI5 frame optional bits of data region B. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:DATAB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:DATAB?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:DATAB value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:DATAB + - BUS:B:PSIFIVe:DATAB? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the dataA value in bits. The default dataB value is 0 bits, + otherwise it ranges between 0 to 12 bits. + """ + return self._datab + + @property + def dataformat(self) -> BusBItemPsifiveDataformat: + """Return the ``BUS:B:PSIFIVe:DATAFORMat`` command. + + Description: + - This command sets or queries the data format in PSI5 Frame2 packet. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:DATAFORMat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:DATAFORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:DATAFORMat value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:DATAFORMat {NIBBLe|BYTe} + - BUS:B:PSIFIVe:DATAFORMat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NIBBLe`` specifies the data format as Nibble. + - ``BYTe`` specifies the data format as Byte. + """ + return self._dataformat + + @property + def ecusource(self) -> BusBItemPsifiveEcusource: + """Return the ``BUS:B:PSIFIVe:ECUSOURce`` command. + + Description: + - This command sets or queries the ECU to sensor source channel for the specified Bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:ECUSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:ECUSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:ECUSOURce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:ECUSOURce {S_Ch|CH|MATH|REF} + - BUS:B:PSIFIVe:ECUSOURce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._ecusource + + @property + def framecontrol(self) -> BusBItemPsifiveFramecontrol: + """Return the ``BUS:B:PSIFIVe:FRAMECONTrol`` command. + + Description: + - This command sets or queries the PSI5 frame optional control bits. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:FRAMECONTrol?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:FRAMECONTrol?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PSIFIVe:FRAMECONTrol value`` command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:FRAMECONTrol + - BUS:B:PSIFIVe:FRAMECONTrol? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the frame control value in bits. The default frame control value + is 0 bits, otherwise it ranges between 0 to 4 bits. + """ + return self._framecontrol + + @property + def messaging(self) -> BusBItemPsifiveMessaging: + """Return the ``BUS:B:PSIFIVe:MESSaging`` command. + + Description: + - This command sets or queries the PSI5 optional messaging bits. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:MESSaging?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:MESSaging?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:MESSaging value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:MESSaging {OFF|ON} + - BUS:B:PSIFIVe:MESSaging? + ``` + + Info: + - ``B`` is the number of the bus. + - ``OFF`` specifies the messaging bits as the default value of 0. + - ``ON`` specifies the messaging bits as 2. + """ + return self._messaging + + @property + def source(self) -> BusBItemPsifiveSource: + """Return the ``BUS:B:PSIFIVe:SOUrce`` command. + + Description: + - This command sets or queries serial channel on or off. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:PSIFIVe:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def status(self) -> BusBItemPsifiveStatus: + """Return the ``BUS:B:PSIFIVe:STATus`` command. + + Description: + - This command sets or queries the optional status bits of PSI5. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:STATus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:STATus?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:STATus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:STATus + - BUS:B:PSIFIVe:STATus? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the status value in bits. The default status value is 0 bits, + otherwise it ranges between 0 to 2 bits. + """ + return self._status + + @property + def syncmode(self) -> BusBItemPsifiveSyncmode: + """Return the ``BUS:B:PSIFIVe:SYNCMODe`` command. + + Description: + - This command sets or queries the PSI5 Sync Mode. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:SYNCMODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:SYNCMODe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:SYNCMODe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:SYNCMODe {PULSEWIDTh|TOOTHGAP} + - BUS:B:PSIFIVe:SYNCMODe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``PULSEWIDTh`` specifies the Sync Mode as Pulse Width. + - ``TOOTHGAP`` specifies the Sync Mode as Tooth Gap. + """ + return self._syncmode + + @property + def syncthreshold(self) -> BusBItemPsifiveSyncthreshold: + """Return the ``BUS:B:PSIFIVe:SYNCTHRESHold`` command. + + Description: + - This command sets or queries the PSI5 threshold for the ECU To Sensor specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:SYNCTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:SYNCTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PSIFIVe:SYNCTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:SYNCTHRESHold + - BUS:B:PSIFIVe:SYNCTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the PSI5 Strobe threshold for the specified bus. The threshold + range is -8 V to +8 V. + """ + return self._syncthreshold + + @property + def threshold(self) -> BusBItemPsifiveThreshold: + """Return the ``BUS:B:PSIFIVe:THRESHold`` command. + + Description: + - This command sets or queries the PSI5 threshold for the Sensor To ECU specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PSIFIVe:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PSIFIVe:THRESHold + - BUS:B:PSIFIVe:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the PSI5 Strobe threshold for the specified bus. The threshold + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemParallelClocksourceThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PARallel:CLOCkSOUrce:THReshold`` command. + + Description: + - This command sets or queries the clock source threshold for the parallel bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCkSOUrce:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:PARallel:CLOCkSOUrce:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:CLOCkSOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCkSOUrce:THReshold + - BUS:B:PARallel:CLOCkSOUrce:THReshold? + ``` + + Info: + - ```` is the clock bit source threshold for the parallel bus. + """ + + +class BusBItemParallelClocksource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PARallel:CLOCkSOUrce`` command. + + Description: + - This command sets or queries the Parallel clock bit source for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCkSOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCkSOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PARallel:CLOCkSOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCkSOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D|NONE} + - BUS:B:PARallel:CLOCkSOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the digital + channel as the source. + - ``CH`` specifies an analog FlexChannel to use as the bus clock source. + - ``CH_D`` specifies a digital channel on a specified FlexChannel to use as the bus + clock source. + - ``MATH`` specifies the math channel to use as the bus clock source. + - ``REF`` specifies the reference channel to use as the bus clock source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified parallel bus. + - ``NONE`` specifies the reference channel to use as the bus clock source. + + Properties: + - ``.threshold``: The ``BUS:B:PARallel:CLOCkSOUrce:THReshold`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemParallelClocksourceThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def threshold(self) -> BusBItemParallelClocksourceThreshold: + """Return the ``BUS:B:PARallel:CLOCkSOUrce:THReshold`` command. + + Description: + - This command sets or queries the clock source threshold for the parallel bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:PARallel:CLOCkSOUrce:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:PARallel:CLOCkSOUrce:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:CLOCkSOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCkSOUrce:THReshold + - BUS:B:PARallel:CLOCkSOUrce:THReshold? + ``` + + Info: + - ```` is the clock bit source threshold for the parallel bus. + """ + return self._threshold + + +class BusBItemParallelClockIsclocked(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PARallel:CLOCk:ISCLOCKED`` command. + + Description: + - This command determines whether the bus operates in a clocked or asynchronous fashion. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCk:ISCLOCKED?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCk:ISCLOCKED?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:CLOCk:ISCLOCKED value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCk:ISCLOCKED {OFF|ON|NR1> + - BUS:B:PARallel:CLOCk:ISCLOCKED? + ``` + + Info: + - ``B`` is the number of the bus. + - ``OFF`` argument specifies an asynchronous bus. + - ``ON`` argument specifies a clocked bus. + - ```` = 0 specifies an asynchronous bus; any other value specifies a clocked bus. + """ + + +class BusBItemParallelClockEdge(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PARallel:CLOCk:EDGE`` command. + + Description: + - This command sets or queries the clock edge for the parallel bus. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCk:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCk:EDGE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:PARallel:CLOCk:EDGE value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCk:EDGE {FALLING|RISING|EITHER} + - BUS:B:PARallel:CLOCk:EDGE? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FALLING`` decodes on the falling edge of the clocked parallel bus signal. + - ``RISING`` decodes on the rising edge of the clocked parallel bus signal. + - ``EITHER`` decodes on the rising or falling edge of the clocked parallel bus signal. + """ + + +class BusBItemParallelClock(SCPICmdRead): + """The ``BUS:B:PARallel:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.edge``: The ``BUS:B:PARallel:CLOCk:EDGE`` command. + - ``.isclocked``: The ``BUS:B:PARallel:CLOCk:ISCLOCKED`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = BusBItemParallelClockEdge(device, f"{self._cmd_syntax}:EDGE") + self._isclocked = BusBItemParallelClockIsclocked(device, f"{self._cmd_syntax}:ISCLOCKED") + + @property + def edge(self) -> BusBItemParallelClockEdge: + """Return the ``BUS:B:PARallel:CLOCk:EDGE`` command. + + Description: + - This command sets or queries the clock edge for the parallel bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCk:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCk:EDGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:CLOCk:EDGE value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCk:EDGE {FALLING|RISING|EITHER} + - BUS:B:PARallel:CLOCk:EDGE? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FALLING`` decodes on the falling edge of the clocked parallel bus signal. + - ``RISING`` decodes on the rising edge of the clocked parallel bus signal. + - ``EITHER`` decodes on the rising or falling edge of the clocked parallel bus signal. + """ + return self._edge + + @property + def isclocked(self) -> BusBItemParallelClockIsclocked: + """Return the ``BUS:B:PARallel:CLOCk:ISCLOCKED`` command. + + Description: + - This command determines whether the bus operates in a clocked or asynchronous fashion. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCk:ISCLOCKED?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:PARallel:CLOCk:ISCLOCKED?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:CLOCk:ISCLOCKED value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCk:ISCLOCKED {OFF|ON|NR1> + - BUS:B:PARallel:CLOCk:ISCLOCKED? + ``` + + Info: + - ``B`` is the number of the bus. + - ``OFF`` argument specifies an asynchronous bus. + - ``ON`` argument specifies a clocked bus. + - ```` = 0 specifies an asynchronous bus; any other value specifies a clocked bus. + """ + return self._isclocked + + +class BusBItemParallelBitsourceItemThreshold(SCPICmdWrite): + """The ``BUS:B:PARallel:BITSOUrce:THReshold`` command. + + Description: + - This command sets or queries the specified bit source threshold for the specified parallel + bus. The bus is specified by x. The bit is specified by n and is an integer in the range + of 1 to 64. + + Usage: + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:BITSOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:BITSOUrce:THReshold + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the specified bit source threshold for the specified parallel bus. + """ + + +class BusBItemParallelBitsourceItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PARallel:BITSOUrce`` command. + + Description: + - This command sets or queries the specified bit source for specified parallel bus. The bus + is specified by x. The bit is specified by n and is an integer in the range of 1 to 64. + + Usage: + - Using the ``.write(value)`` method will send the ``BUS:B:PARallel:BITSOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:BITSOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D|NONE} + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the digital + channel as the source. + - ``CH`` is the specified bit source. + - ``CH_D`` is the specified bit source. + - ``MATH`` is the specified bit source. + - ``REF`` is the specified bit source. + - ``REF_D`` specifies a digital reference waveform as the bit source waveform for + the specified parallel bus. + - ``NONE`` disables the bit source. + + Properties: + - ``.threshold``: The ``BUS:B:PARallel:BITSOUrce:THReshold`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemParallelBitsourceItemThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def threshold(self) -> BusBItemParallelBitsourceItemThreshold: + """Return the ``BUS:B:PARallel:BITSOUrce:THReshold`` command. + + Description: + - This command sets or queries the specified bit source threshold for the specified + parallel bus. The bus is specified by x. The bit is specified by n and is an integer + in the range of 1 to 64. + + Usage: + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:BITSOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:BITSOUrce:THReshold + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the specified bit source threshold for the specified parallel bus. + """ + return self._threshold + + +class BusBItemParallelAllthresholdsApply(SCPICmdWriteNoArguments): + """The ``BUS:B:PARallel:ALLTHResholds:APPly`` command. + + Description: + - This command sets all of the data source thresholds to the value set by + ``BUS:BX:PARALLEL:ALLTHRESHOLDS`` for the parallel bus. The bus is specified by x. + + Usage: + - Using the ``.write()`` method will send the ``BUS:B:PARallel:ALLTHResholds:APPly`` + command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:ALLTHResholds:APPly + ``` + + Info: + - ``B`` is the Bus number. + """ + + +class BusBItemParallelAllthresholds(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:PARallel:ALLTHResholds`` command. + + Description: + - This command sets or queries a threshold value for sources for the parallel bus. Use the + ``BUS:BX:PARALLEL:ALLTHRESHOLDS:APPLY`` command to set the thresholds to this value. The + bus is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``BUS:B:PARallel:ALLTHResholds value`` + command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:ALLTHResholds + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the source threshold. + + Properties: + - ``.apply``: The ``BUS:B:PARallel:ALLTHResholds:APPly`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._apply = BusBItemParallelAllthresholdsApply(device, f"{self._cmd_syntax}:APPly") + + @property + def apply(self) -> BusBItemParallelAllthresholdsApply: + """Return the ``BUS:B:PARallel:ALLTHResholds:APPly`` command. + + Description: + - This command sets all of the data source thresholds to the value set by + ``BUS:BX:PARALLEL:ALLTHRESHOLDS`` for the parallel bus. The bus is specified by x. + + Usage: + - Using the ``.write()`` method will send the ``BUS:B:PARallel:ALLTHResholds:APPly`` + command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:ALLTHResholds:APPly + ``` + + Info: + - ``B`` is the Bus number. + """ + return self._apply + + +class BusBItemParallel(SCPICmdRead): + """The ``BUS:B:PARallel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.allthresholds``: The ``BUS:B:PARallel:ALLTHResholds`` command. + - ``.bitsource``: The ``BUS:B:PARallel:BITSOUrce`` command. + - ``.clock``: The ``BUS:B:PARallel:CLOCk`` command tree. + - ``.clocksource``: The ``BUS:B:PARallel:CLOCkSOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._allthresholds = BusBItemParallelAllthresholds( + device, f"{self._cmd_syntax}:ALLTHResholds" + ) + self._bitsource: Dict[int, BusBItemParallelBitsourceItem] = DefaultDictPassKeyToFactory( + lambda x: BusBItemParallelBitsourceItem(device, f"{self._cmd_syntax}:BIT{x}SOUrce") + ) + self._clock = BusBItemParallelClock(device, f"{self._cmd_syntax}:CLOCk") + self._clocksource = BusBItemParallelClocksource(device, f"{self._cmd_syntax}:CLOCkSOUrce") + + @property + def allthresholds(self) -> BusBItemParallelAllthresholds: + """Return the ``BUS:B:PARallel:ALLTHResholds`` command. + + Description: + - This command sets or queries a threshold value for sources for the parallel bus. Use + the ``BUS:BX:PARALLEL:ALLTHRESHOLDS:APPLY`` command to set the thresholds to this + value. The bus is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:ALLTHResholds value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:ALLTHResholds + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the source threshold. + + Sub-properties: + - ``.apply``: The ``BUS:B:PARallel:ALLTHResholds:APPly`` command. + """ + return self._allthresholds + + @property + def bitsource(self) -> Dict[int, BusBItemParallelBitsourceItem]: + """Return the ``BUS:B:PARallel:BITSOUrce`` command. + + Description: + - This command sets or queries the specified bit source for specified parallel bus. The + bus is specified by x. The bit is specified by n and is an integer in the range of 1 + to 64. + + Usage: + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:BITSOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:BITSOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D|NONE} + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the + digital channel as the source. + - ``CH`` is the specified bit source. + - ``CH_D`` is the specified bit source. + - ``MATH`` is the specified bit source. + - ``REF`` is the specified bit source. + - ``REF_D`` specifies a digital reference waveform as the bit source waveform + for the specified parallel bus. + - ``NONE`` disables the bit source. + + Sub-properties: + - ``.threshold``: The ``BUS:B:PARallel:BITSOUrce:THReshold`` command. + """ # noqa: E501 + return self._bitsource + + @property + def clock(self) -> BusBItemParallelClock: + """Return the ``BUS:B:PARallel:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCk?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.edge``: The ``BUS:B:PARallel:CLOCk:EDGE`` command. + - ``.isclocked``: The ``BUS:B:PARallel:CLOCk:ISCLOCKED`` command. + """ + return self._clock + + @property + def clocksource(self) -> BusBItemParallelClocksource: + """Return the ``BUS:B:PARallel:CLOCkSOUrce`` command. + + Description: + - This command sets or queries the Parallel clock bit source for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel:CLOCkSOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel:CLOCkSOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:PARallel:CLOCkSOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:PARallel:CLOCkSOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D|NONE} + - BUS:B:PARallel:CLOCkSOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the + digital channel as the source. + - ``CH`` specifies an analog FlexChannel to use as the bus clock source. + - ``CH_D`` specifies a digital channel on a specified FlexChannel to use as the + bus clock source. + - ``MATH`` specifies the math channel to use as the bus clock source. + - ``REF`` specifies the reference channel to use as the bus clock source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified parallel bus. + - ``NONE`` specifies the reference channel to use as the bus clock source. + + Sub-properties: + - ``.threshold``: The ``BUS:B:PARallel:CLOCkSOUrce:THReshold`` command. + """ # noqa: E501 + return self._clocksource + + +class BusBItemOnewireMode(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ONEWIRe:MODe`` command. + + Description: + - This command sets or queries the mode for the specified ONEWIRe bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:MODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ONEWIRe:MODe value`` command. + + SCPI Syntax: + ``` + - BUS:B:ONEWIRe:MODe {STAndard|OVErdrive} + - BUS:B:ONEWIRe:MODe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``STAndard`` specifies the mode as standard. Standard is the default mode whose value is + 15.4 kbs. + - ``OVErdrive`` specifies the mode as overdrive. + """ + + +class BusBItemOnewireDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ONEWIRe:DATA:THReshold`` command. + + Description: + - This command sets or queries the ONEWIRe data source threshold for the specified bus. The + bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ONEWIRe:DATA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ONEWIRe:DATA:THReshold + - BUS:B:ONEWIRe:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the ONEWIRe Strobe threshold for the specified bus in volts. The valid range + is -8 V to +8 V. The default value is 1.25 V. + """ + + +class BusBItemOnewireDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ONEWIRe:DATA:SOUrce`` command. + + Description: + - This command sets or queries the ONEWIRe source for the specified bus. This command + specifies the source channel. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:DATA:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ONEWIRe:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ONEWIRe:DATA:SOUrce {S_Ch|CH|MATH|REF] + - BUS:B:ONEWIRe:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemOnewireData(SCPICmdRead): + """The ``BUS:B:ONEWIRe:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:ONEWIRe:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ONEWIRe:DATA:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemOnewireDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemOnewireDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemOnewireDataSource: + """Return the ``BUS:B:ONEWIRe:DATA:SOUrce`` command. + + Description: + - This command sets or queries the ONEWIRe source for the specified bus. This command + specifies the source channel. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:DATA:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ONEWIRe:DATA:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:ONEWIRe:DATA:SOUrce {S_Ch|CH|MATH|REF] + - BUS:B:ONEWIRe:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemOnewireDataThreshold: + """Return the ``BUS:B:ONEWIRe:DATA:THReshold`` command. + + Description: + - This command sets or queries the ONEWIRe data source threshold for the specified bus. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:DATA:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ONEWIRe:DATA:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ONEWIRe:DATA:THReshold + - BUS:B:ONEWIRe:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the ONEWIRe Strobe threshold for the specified bus in volts. The valid + range is -8 V to +8 V. The default value is 1.25 V. + """ + return self._threshold + + +class BusBItemOnewire(SCPICmdRead): + """The ``BUS:B:ONEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.data``: The ``BUS:B:ONEWIRe:DATA`` command tree. + - ``.mode``: The ``BUS:B:ONEWIRe:MODe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemOnewireData(device, f"{self._cmd_syntax}:DATA") + self._mode = BusBItemOnewireMode(device, f"{self._cmd_syntax}:MODe") + + @property + def data(self) -> BusBItemOnewireData: + """Return the ``BUS:B:ONEWIRe:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:ONEWIRe:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ONEWIRe:DATA:THReshold`` command. + """ + return self._data + + @property + def mode(self) -> BusBItemOnewireMode: + """Return the ``BUS:B:ONEWIRe:MODe`` command. + + Description: + - This command sets or queries the mode for the specified ONEWIRe bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe:MODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ONEWIRe:MODe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ONEWIRe:MODe {STAndard|OVErdrive} + - BUS:B:ONEWIRe:MODe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``STAndard`` specifies the mode as standard. Standard is the default mode whose value + is 15.4 kbs. + - ``OVErdrive`` specifies the mode as overdrive. + """ + return self._mode + + +class BusBItemNrzThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:THReshold`` command. + + Description: + - This command sets or queries the NRZ threshold for the specified bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:THReshold + - BUS:B:NRZ:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the NRZ Strobe threshold for the specified bus in volts. The valid range is + -8 V to +8 V. + """ + + +class BusBItemNrzSpmiVersion(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:SPMI:VERsion`` command. + + Description: + - This command sets or queries the Version for the specified bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SPMI:VERsion?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SPMI:VERsion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:SPMI:VERsion value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:SPMI:VERsion {v} + - BUS:B:NRZ:SPMI:VERsion? + ``` + + Info: + - ``B`` is the number of the bus. + - ``v1`` specifies version 1. + - ``v2`` specifies version 2. + """ + + +class BusBItemNrzSpmi(SCPICmdRead): + """The ``BUS:B:NRZ:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SPMI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.version``: The ``BUS:B:NRZ:SPMI:VERsion`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._version = BusBItemNrzSpmiVersion(device, f"{self._cmd_syntax}:VERsion") + + @property + def version(self) -> BusBItemNrzSpmiVersion: + """Return the ``BUS:B:NRZ:SPMI:VERsion`` command. + + Description: + - This command sets or queries the Version for the specified bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SPMI:VERsion?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SPMI:VERsion?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:SPMI:VERsion value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:SPMI:VERsion {v} + - BUS:B:NRZ:SPMI:VERsion? + ``` + + Info: + - ``B`` is the number of the bus. + - ``v1`` specifies version 1. + - ``v2`` specifies version 2. + """ + return self._version + + +class BusBItemNrzSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:SOUrce`` command. + + Description: + - This command sets or queries the NRZ source for the specified bus. This command specifies + the source channel. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:SOUrce {S_Ch|CH|MATH|REF] + - BUS:B:NRZ:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + + +class BusBItemNrzPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:POLarity`` command. + + Description: + - This command sets or queries the NRZ source polarity for the specified bus. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:POLarity {INVerted|NORmal} + - BUS:B:NRZ:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``INVerted`` specifies inverted polarity. + - ``NORmal`` specifies normal polarity. + """ + + +class BusBItemNrzBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:BITRate`` command. + + Description: + - This command sets or queries the NRZ bus bit rate. The bus number is specified by . + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:BITRate + - BUS:B:NRZ:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the bit rate up to 1 G. + """ + + +class BusBItemNrzBitorder(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:NRZ:BITOrder`` command. + + Description: + - This command sets or queries the NRZ bit order for the specified bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITOrder value`` command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:BITOrder {LSB|MSB} + - BUS:B:NRZ:BITOrder? + ``` + + Info: + - ``B`` is the number of the bus. + - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting + previously recovered bits one place to the left. The decoding happens right to left. + - ``MSB`` specifies that each successive bit from the bus's data line becomes the new MSB of + the recovered value, shifting any previously recovered bits one place to the right. The + decoding happens left to right. + """ + + +class BusBItemNrz(SCPICmdRead): + """The ``BUS:B:NRZ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitorder``: The ``BUS:B:NRZ:BITOrder`` command. + - ``.bitrate``: The ``BUS:B:NRZ:BITRate`` command. + - ``.polarity``: The ``BUS:B:NRZ:POLarity`` command. + - ``.source``: The ``BUS:B:NRZ:SOUrce`` command. + - ``.spmi``: The ``BUS:B:NRZ:SPMI`` command tree. + - ``.threshold``: The ``BUS:B:NRZ:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitorder = BusBItemNrzBitorder(device, f"{self._cmd_syntax}:BITOrder") + self._bitrate = BusBItemNrzBitrate(device, f"{self._cmd_syntax}:BITRate") + self._polarity = BusBItemNrzPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemNrzSource(device, f"{self._cmd_syntax}:SOUrce") + self._spmi = BusBItemNrzSpmi(device, f"{self._cmd_syntax}:SPMI") + self._threshold = BusBItemNrzThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def bitorder(self) -> BusBItemNrzBitorder: + """Return the ``BUS:B:NRZ:BITOrder`` command. + + Description: + - This command sets or queries the NRZ bit order for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITOrder value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:BITOrder {LSB|MSB} + - BUS:B:NRZ:BITOrder? + ``` + + Info: + - ``B`` is the number of the bus. + - ``LSB`` specifies that each bit becomes the recovered value's new LSB, after shifting + previously recovered bits one place to the left. The decoding happens right to left. + - ``MSB`` specifies that each successive bit from the bus's data line becomes the new + MSB of the recovered value, shifting any previously recovered bits one place to the + right. The decoding happens left to right. + """ + return self._bitorder + + @property + def bitrate(self) -> BusBItemNrzBitrate: + """Return the ``BUS:B:NRZ:BITRate`` command. + + Description: + - This command sets or queries the NRZ bus bit rate. The bus number is specified by . + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:BITRate + - BUS:B:NRZ:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the bit rate up to 1 G. + """ + return self._bitrate + + @property + def polarity(self) -> BusBItemNrzPolarity: + """Return the ``BUS:B:NRZ:POLarity`` command. + + Description: + - This command sets or queries the NRZ source polarity for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:POLarity {INVerted|NORmal} + - BUS:B:NRZ:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``INVerted`` specifies inverted polarity. + - ``NORmal`` specifies normal polarity. + """ + return self._polarity + + @property + def source(self) -> BusBItemNrzSource: + """Return the ``BUS:B:NRZ:SOUrce`` command. + + Description: + - This command sets or queries the NRZ source for the specified bus. This command + specifies the source channel. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:SOUrce {S_Ch|CH|MATH|REF] + - BUS:B:NRZ:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math waveform as the source. + - ``REF`` specifies a digital reference waveform as the source. + """ + return self._source + + @property + def spmi(self) -> BusBItemNrzSpmi: + """Return the ``BUS:B:NRZ:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:SPMI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.version``: The ``BUS:B:NRZ:SPMI:VERsion`` command. + """ + return self._spmi + + @property + def threshold(self) -> BusBItemNrzThreshold: + """Return the ``BUS:B:NRZ:THReshold`` command. + + Description: + - This command sets or queries the NRZ threshold for the specified bus. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:NRZ:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:NRZ:THReshold + - BUS:B:NRZ:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the NRZ Strobe threshold for the specified bus in volts. The valid range + is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemMil1553bThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MIL1553B:THRESHold`` command. + + Description: + - This command sets or queries the MIL-STD-1553 upper threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:THRESHold + - BUS:B:MIL1553B:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the MIL-STD-1553 upper threshold for the specified bus. + """ + + +class BusBItemMil1553bSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MIL1553B:SOUrce`` command. + + Description: + - This command sets or queries the source for the specified MIL-STD-1553 bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MIL1553B:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source waveform for the MIL-STD-1553 bus. + - ``Math`` specifies a math waveform as the source waveform for the MIL-STD-1553 bus. + - ``REF`` specifies a reference waveform as the source waveform for the MIL-STD-1553 bus. + """ + + +class BusBItemMil1553bResponsetimeMinimum(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MIL1553B:RESPonsetime:MINimum`` command. + + Description: + - This command sets or queries the minimum response time to a valid command issued for the + specified MIL-STD-1553 bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:RESPonsetime:MINimum?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MINimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MINimum value`` command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:RESPonsetime:MINimum + - BUS:B:MIL1553B:RESPonsetime:MINimum? + ``` + + Info: + - ``B`` is the Bus number. + - ```` is a floating point number that specifies the minimum response time, in seconds. + """ + + +class BusBItemMil1553bResponsetimeMaximum(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MIL1553B:RESPonsetime:MAXimum`` command. + + Description: + - This command sets or queries the maximum response time to a valid command issued for the + specified MIL-STD-1553 bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:RESPonsetime:MAXimum?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MAXimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MAXimum value`` command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:RESPonsetime:MAXimum + - BUS:B:MIL1553B:RESPonsetime:MAXimum? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is a floating point number that specifies the maximum response time, in seconds. + """ + + +class BusBItemMil1553bResponsetime(SCPICmdRead): + """The ``BUS:B:MIL1553B:RESPonsetime`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:RESPonsetime?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:RESPonsetime?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.maximum``: The ``BUS:B:MIL1553B:RESPonsetime:MAXimum`` command. + - ``.minimum``: The ``BUS:B:MIL1553B:RESPonsetime:MINimum`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = BusBItemMil1553bResponsetimeMaximum(device, f"{self._cmd_syntax}:MAXimum") + self._minimum = BusBItemMil1553bResponsetimeMinimum(device, f"{self._cmd_syntax}:MINimum") + + @property + def maximum(self) -> BusBItemMil1553bResponsetimeMaximum: + """Return the ``BUS:B:MIL1553B:RESPonsetime:MAXimum`` command. + + Description: + - This command sets or queries the maximum response time to a valid command issued for + the specified MIL-STD-1553 bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MAXimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MAXimum value`` command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:RESPonsetime:MAXimum + - BUS:B:MIL1553B:RESPonsetime:MAXimum? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is a floating point number that specifies the maximum response time, in + seconds. + """ + return self._maximum + + @property + def minimum(self) -> BusBItemMil1553bResponsetimeMinimum: + """Return the ``BUS:B:MIL1553B:RESPonsetime:MINimum`` command. + + Description: + - This command sets or queries the minimum response time to a valid command issued for + the specified MIL-STD-1553 bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MINimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MIL1553B:RESPonsetime:MINimum value`` command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:RESPonsetime:MINimum + - BUS:B:MIL1553B:RESPonsetime:MINimum? + ``` + + Info: + - ``B`` is the Bus number. + - ```` is a floating point number that specifies the minimum response time, in + seconds. + """ + return self._minimum + + +class BusBItemMil1553bPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MIL1553B:POLarity`` command. + + Description: + - This command sets or queries the source polarity for the specified MIL-STD-1553 bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:POLarity {NORMal|INVERTed} + - BUS:B:MIL1553B:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORMal`` specifies normal polarity. + - ``INVERTed`` specifies inverted polarity. + """ + + +class BusBItemMil1553bLowthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MIL1553B:LOWTHRESHold`` command. + + Description: + - This command sets or queries the MIL-STD-1553 lower threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:LOWTHRESHold + - BUS:B:MIL1553B:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the MIL-STD-1553 lower threshold for the specified bus. + """ + + +class BusBItemMil1553b(SCPICmdRead): + """The ``BUS:B:MIL1553B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.lowthreshold``: The ``BUS:B:MIL1553B:LOWTHRESHold`` command. + - ``.polarity``: The ``BUS:B:MIL1553B:POLarity`` command. + - ``.responsetime``: The ``BUS:B:MIL1553B:RESPonsetime`` command tree. + - ``.source``: The ``BUS:B:MIL1553B:SOUrce`` command. + - ``.threshold``: The ``BUS:B:MIL1553B:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lowthreshold = BusBItemMil1553bLowthreshold( + device, f"{self._cmd_syntax}:LOWTHRESHold" + ) + self._polarity = BusBItemMil1553bPolarity(device, f"{self._cmd_syntax}:POLarity") + self._responsetime = BusBItemMil1553bResponsetime( + device, f"{self._cmd_syntax}:RESPonsetime" + ) + self._source = BusBItemMil1553bSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemMil1553bThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def lowthreshold(self) -> BusBItemMil1553bLowthreshold: + """Return the ``BUS:B:MIL1553B:LOWTHRESHold`` command. + + Description: + - This command sets or queries the MIL-STD-1553 lower threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MIL1553B:LOWTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:LOWTHRESHold + - BUS:B:MIL1553B:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the MIL-STD-1553 lower threshold for the specified bus. + """ + return self._lowthreshold + + @property + def polarity(self) -> BusBItemMil1553bPolarity: + """Return the ``BUS:B:MIL1553B:POLarity`` command. + + Description: + - This command sets or queries the source polarity for the specified MIL-STD-1553 bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:POLarity {NORMal|INVERTed} + - BUS:B:MIL1553B:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORMal`` specifies normal polarity. + - ``INVERTed`` specifies inverted polarity. + """ + return self._polarity + + @property + def responsetime(self) -> BusBItemMil1553bResponsetime: + """Return the ``BUS:B:MIL1553B:RESPonsetime`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:RESPonsetime?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:RESPonsetime?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.maximum``: The ``BUS:B:MIL1553B:RESPonsetime:MAXimum`` command. + - ``.minimum``: The ``BUS:B:MIL1553B:RESPonsetime:MINimum`` command. + """ + return self._responsetime + + @property + def source(self) -> BusBItemMil1553bSource: + """Return the ``BUS:B:MIL1553B:SOUrce`` command. + + Description: + - This command sets or queries the source for the specified MIL-STD-1553 bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MIL1553B:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source waveform for the MIL-STD-1553 bus. + - ``Math`` specifies a math waveform as the source waveform for the MIL-STD-1553 bus. + - ``REF`` specifies a reference waveform as the source waveform for the MIL-STD-1553 + bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemMil1553bThreshold: + """Return the ``BUS:B:MIL1553B:THRESHold`` command. + + Description: + - This command sets or queries the MIL-STD-1553 upper threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MIL1553B:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MIL1553B:THRESHold + - BUS:B:MIL1553B:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the MIL-STD-1553 upper threshold for the specified bus. + """ + return self._threshold + + +class BusBItemMdioDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MDIO:DATA:THReshold`` command. + + Description: + - This command sets or queries the MDIO Data source threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:DATA:THReshold + - BUS:B:MDIO:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the data source threshold for the specified bus. The argument range is -8V to + +8V. + """ + + +class BusBItemMdioDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MDIO:DATA:SOUrce`` command. + + Description: + - This command sets or queries the data for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MDIO:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the data source. + - ``Math`` specifies a math waveform as the data source. + - ``REF`` specifies a reference waveform as the data source. + """ + + +class BusBItemMdioData(SCPICmdRead): + """The ``BUS:B:MDIO:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:MDIO:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:MDIO:DATA:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemMdioDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemMdioDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemMdioDataSource: + """Return the ``BUS:B:MDIO:DATA:SOUrce`` command. + + Description: + - This command sets or queries the data for the specified bus. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:DATA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:DATA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MDIO:DATA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the data source. + - ``Math`` specifies a math waveform as the data source. + - ``REF`` specifies a reference waveform as the data source. + """ + return self._source + + @property + def threshold(self) -> BusBItemMdioDataThreshold: + """Return the ``BUS:B:MDIO:DATA:THReshold`` command. + + Description: + - This command sets or queries the MDIO Data source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MDIO:DATA:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:DATA:THReshold + - BUS:B:MDIO:DATA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the data source threshold for the specified bus. The argument range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemMdioClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MDIO:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the MDIO clock source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:CLOCk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:CLOCk:THReshold + - BUS:B:MDIO:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the clock source threshold for the specified bus. The argument range is -8V + to +8V. + """ + + +class BusBItemMdioClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MDIO:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the MDIO Clock source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MDIO:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the Clock source. + - ``Math`` specifies a math waveform as the Clock source. + - ``REF`` specifies a reference waveform as the Clock source. + """ + + +class BusBItemMdioClock(SCPICmdRead): + """The ``BUS:B:MDIO:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:MDIO:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:MDIO:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemMdioClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemMdioClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemMdioClockSource: + """Return the ``BUS:B:MDIO:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the MDIO Clock source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MDIO:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MDIO:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the Clock source. + - ``Math`` specifies a math waveform as the Clock source. + - ``REF`` specifies a reference waveform as the Clock source. + """ + return self._source + + @property + def threshold(self) -> BusBItemMdioClockThreshold: + """Return the ``BUS:B:MDIO:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the MDIO clock source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MDIO:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:MDIO:CLOCk:THReshold + - BUS:B:MDIO:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the clock source threshold for the specified bus. The argument range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemMdio(SCPICmdRead): + """The ``BUS:B:MDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.clock``: The ``BUS:B:MDIO:CLOCk`` command tree. + - ``.data``: The ``BUS:B:MDIO:DATA`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = BusBItemMdioClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemMdioData(device, f"{self._cmd_syntax}:DATA") + + @property + def clock(self) -> BusBItemMdioClock: + """Return the ``BUS:B:MDIO:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:MDIO:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:MDIO:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemMdioData: + """Return the ``BUS:B:MDIO:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:MDIO:DATA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:MDIO:DATA:THReshold`` command. + """ + return self._data + + +class BusBItemManchesterParity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:parity`` command. + + Description: + - This command sets or queries the Manchester bus Parity. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:parity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:parity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:parity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:parity {ODD|EVEN|NONE} + - BUS:B:MANChester:parity? + ``` + + Info: + - ``ODD`` sets the number of 1's to odd. + - ``EVEN`` sets the number of 1's to even. + - ``NONE`` specifies that Parity is not considered. + """ + + +class BusBItemManchesterWordsize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:WORDSIZe`` command. + + Description: + - This command sets or queries the Manchester word size in bits. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:WORDSIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:WORDSIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:WORDSIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:WORDSIZe + - BUS:B:MANChester:WORDSIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the word size in bits. + """ + + +class BusBItemManchesterWordCount(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:WORD:COUNt`` command. + + Description: + - This command sets or queries the Manchester word count in bits. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:WORD:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:WORD:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:WORD:COUNt value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:WORD:COUNt + - BUS:B:MANChester:WORD:COUNt? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the word count in bits. + """ + + +class BusBItemManchesterWord(SCPICmdRead): + """The ``BUS:B:MANChester:WORD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:WORD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:WORD?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.count``: The ``BUS:B:MANChester:WORD:COUNt`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = BusBItemManchesterWordCount(device, f"{self._cmd_syntax}:COUNt") + + @property + def count(self) -> BusBItemManchesterWordCount: + """Return the ``BUS:B:MANChester:WORD:COUNt`` command. + + Description: + - This command sets or queries the Manchester word count in bits. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:WORD:COUNt?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:WORD:COUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:WORD:COUNt value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:WORD:COUNt + - BUS:B:MANChester:WORD:COUNt? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the word count in bits. + """ + return self._count + + +class BusBItemManchesterTrailerLength(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:TRAiler:LENGth`` command. + + Description: + - This command sets or queries the Manchester trailer length in bits. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRAiler:LENGth?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TRAiler:LENGth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:TRAiler:LENGth value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:TRAiler:LENGth + - BUS:B:MANChester:TRAiler:LENGth? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the trailer length in bits. + """ + + +class BusBItemManchesterTrailer(SCPICmdRead): + """The ``BUS:B:MANChester:TRAiler`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRAiler?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TRAiler?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.length``: The ``BUS:B:MANChester:TRAiler:LENGth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = BusBItemManchesterTrailerLength(device, f"{self._cmd_syntax}:LENGth") + + @property + def length(self) -> BusBItemManchesterTrailerLength: + """Return the ``BUS:B:MANChester:TRAiler:LENGth`` command. + + Description: + - This command sets or queries the Manchester trailer length in bits. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRAiler:LENGth?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MANChester:TRAiler:LENGth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:TRAiler:LENGth value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:TRAiler:LENGth + - BUS:B:MANChester:TRAiler:LENGth? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the trailer length in bits. + """ + return self._length + + +class BusBItemManchesterTranstionZero(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:TRANstion:ZERo`` command. + + Description: + - This command sets or queries the Manchester bus for zero falling or rising. Manchester bit + are defined by transition in the middle of the bit. Depending on the transition, + conventions are defined. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRANstion:ZERo?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TRANstion:ZERo?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:TRANstion:ZERo value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:TRANstion:ZERo {FALLing|RISing} + - BUS:B:MANChester:TRANstion:ZERo? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FALLing`` sets Falling as 0. + - ``RISing`` sets Rising as 0. + """ + + +class BusBItemManchesterTranstion(SCPICmdRead): + """The ``BUS:B:MANChester:TRANstion`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRANstion?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TRANstion?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.zero``: The ``BUS:B:MANChester:TRANstion:ZERo`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._zero = BusBItemManchesterTranstionZero(device, f"{self._cmd_syntax}:ZERo") + + @property + def zero(self) -> BusBItemManchesterTranstionZero: + """Return the ``BUS:B:MANChester:TRANstion:ZERo`` command. + + Description: + - This command sets or queries the Manchester bus for zero falling or rising. Manchester + bit are defined by transition in the middle of the bit. Depending on the transition, + conventions are defined. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRANstion:ZERo?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MANChester:TRANstion:ZERo?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:TRANstion:ZERo value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:TRANstion:ZERo {FALLing|RISing} + - BUS:B:MANChester:TRANstion:ZERo? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FALLing`` sets Falling as 0. + - ``RISing`` sets Rising as 0. + """ + return self._zero + + +class BusBItemManchesterTolerance(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:TOLerance`` command. + + Description: + - This command sets or queries the Tolerance bus parameter. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TOLerance?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:TOLerance value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:TOLerance + - BUS:B:MANChester:TOLerance? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the Tolerance bus parameter. + """ + + +class BusBItemManchesterThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:THReshold`` command. + + Description: + - This command sets or queries the Manchester threshold for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:THReshold + - BUS:B:MANChester:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the Manchester Strobe threshold for the specified bus in Volts. The + argument range is -8V to +8V. + """ + + +class BusBItemManchesterSyncSize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:SYNC:SIZe`` command. + + Description: + - This command sets or queries the Manchester sync Bit Size in bits. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:SYNC:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:SYNC:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:SYNC:SIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:SYNC:SIZe + - BUS:B:MANChester:SYNC:SIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the Bit Size in bits. + """ + + +class BusBItemManchesterSync(SCPICmdRead): + """The ``BUS:B:MANChester:SYNC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:SYNC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:SYNC?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.size``: The ``BUS:B:MANChester:SYNC:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = BusBItemManchesterSyncSize(device, f"{self._cmd_syntax}:SIZe") + + @property + def size(self) -> BusBItemManchesterSyncSize: + """Return the ``BUS:B:MANChester:SYNC:SIZe`` command. + + Description: + - This command sets or queries the Manchester sync Bit Size in bits. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:SYNC:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:SYNC:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:SYNC:SIZe value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:SYNC:SIZe + - BUS:B:MANChester:SYNC:SIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the Bit Size in bits. + """ + return self._size + + +class BusBItemManchesterStartIndex(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:START:INDex`` command. + + Description: + - This command sets or queries the Manchester start Index in bits. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:START:INDex?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:START:INDex?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:START:INDex value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:START:INDex + - BUS:B:MANChester:START:INDex? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the start Index in bits. + """ + + +class BusBItemManchesterStart(SCPICmdRead): + """The ``BUS:B:MANChester:START`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:START?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:START?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.index``: The ``BUS:B:MANChester:START:INDex`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._index = BusBItemManchesterStartIndex(device, f"{self._cmd_syntax}:INDex") + + @property + def index(self) -> BusBItemManchesterStartIndex: + """Return the ``BUS:B:MANChester:START:INDex`` command. + + Description: + - This command sets or queries the Manchester start Index in bits. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:START:INDex?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:START:INDex?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:START:INDex value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:START:INDex + - BUS:B:MANChester:START:INDex? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the start Index in bits. + """ + return self._index + + +class BusBItemManchesterSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:SOUrce`` command. + + Description: + - This command sets or queries the Manchester source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MANChester:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemManchesterIdleBits(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:IDLE:BITS`` command. + + Description: + - This command sets or queries the Manchester idle bit size in bits. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:IDLE:BITS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:IDLE:BITS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:IDLE:BITS value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:IDLE:BITS + - BUS:B:MANChester:IDLE:BITS? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the idle bit size. + """ + + +class BusBItemManchesterIdle(SCPICmdRead): + """The ``BUS:B:MANChester:IDLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:IDLE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:IDLE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bits``: The ``BUS:B:MANChester:IDLE:BITS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bits = BusBItemManchesterIdleBits(device, f"{self._cmd_syntax}:BITS") + + @property + def bits(self) -> BusBItemManchesterIdleBits: + """Return the ``BUS:B:MANChester:IDLE:BITS`` command. + + Description: + - This command sets or queries the Manchester idle bit size in bits. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:IDLE:BITS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:IDLE:BITS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:IDLE:BITS value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:IDLE:BITS + - BUS:B:MANChester:IDLE:BITS? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the idle bit size. + """ + return self._bits + + +class BusBItemManchesterHeaderLength(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:HEADer:LENGth`` command. + + Description: + - This command sets or queries the Manchester header length in bits. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:HEADer:LENGth?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:HEADer:LENGth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:HEADer:LENGth value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:HEADer:LENGth + - BUS:B:MANChester:HEADer:LENGth? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the header length in bits. + """ + + +class BusBItemManchesterHeader(SCPICmdRead): + """The ``BUS:B:MANChester:HEADer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:HEADer?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.length``: The ``BUS:B:MANChester:HEADer:LENGth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = BusBItemManchesterHeaderLength(device, f"{self._cmd_syntax}:LENGth") + + @property + def length(self) -> BusBItemManchesterHeaderLength: + """Return the ``BUS:B:MANChester:HEADer:LENGth`` command. + + Description: + - This command sets or queries the Manchester header length in bits. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:HEADer:LENGth?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:MANChester:HEADer:LENGth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:HEADer:LENGth value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:HEADer:LENGth + - BUS:B:MANChester:HEADer:LENGth? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the header length in bits. + """ + return self._length + + +class BusBItemManchesterDisplaymode(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:DISplaymode`` command. + + Description: + - This command sets or queries the Manchester bus Packet View. The bus number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:DISplaymode?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:DISplaymode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:DISplaymode value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:DISplaymode {BITS|PACKET} + - BUS:B:MANChester:DISplaymode? + ``` + + Info: + - ``B`` is the number of the bus. + - ``BITS`` sets the PacketView to off and the data to be seen as single bits formats. + - ``PACKET`` sets the PacketView to on and the data to be seen in the form of fields. + """ + + +class BusBItemManchesterBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:BITRate`` command. + + Description: + - This command sets or queries the Manchester bus bit rate. The bus number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:BITRate + - BUS:B:MANChester:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the bit rate up to 1 Gbps. + """ + + +class BusBItemManchesterBitorder(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:MANChester:BITORDer`` command. + + Description: + - This command sets or queries the Manchester bus Bit Order. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:BITORDer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:BITORDer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:BITORDer value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:BITORDer {LSB|MSB} + - BUS:B:MANChester:BITORDer? + ``` + + Info: + - ``B`` is the number of the bus. + - ``LSB`` arranges the bits in LSB format, least significant bits first. + - ``MSB`` arranges the bits in MSB format, most significant bits first. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemManchester(SCPICmdRead): + """The ``BUS:B:MANChester`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitorder``: The ``BUS:B:MANChester:BITORDer`` command. + - ``.bitrate``: The ``BUS:B:MANChester:BITRate`` command. + - ``.displaymode``: The ``BUS:B:MANChester:DISplaymode`` command. + - ``.header``: The ``BUS:B:MANChester:HEADer`` command tree. + - ``.idle``: The ``BUS:B:MANChester:IDLE`` command tree. + - ``.source``: The ``BUS:B:MANChester:SOUrce`` command. + - ``.start``: The ``BUS:B:MANChester:START`` command tree. + - ``.sync``: The ``BUS:B:MANChester:SYNC`` command tree. + - ``.threshold``: The ``BUS:B:MANChester:THReshold`` command. + - ``.tolerance``: The ``BUS:B:MANChester:TOLerance`` command. + - ``.transtion``: The ``BUS:B:MANChester:TRANstion`` command tree. + - ``.trailer``: The ``BUS:B:MANChester:TRAiler`` command tree. + - ``.word``: The ``BUS:B:MANChester:WORD`` command tree. + - ``.wordsize``: The ``BUS:B:MANChester:WORDSIZe`` command. + - ``.parity``: The ``BUS:B:MANChester:parity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitorder = BusBItemManchesterBitorder(device, f"{self._cmd_syntax}:BITORDer") + self._bitrate = BusBItemManchesterBitrate(device, f"{self._cmd_syntax}:BITRate") + self._displaymode = BusBItemManchesterDisplaymode(device, f"{self._cmd_syntax}:DISplaymode") + self._header = BusBItemManchesterHeader(device, f"{self._cmd_syntax}:HEADer") + self._idle = BusBItemManchesterIdle(device, f"{self._cmd_syntax}:IDLE") + self._source = BusBItemManchesterSource(device, f"{self._cmd_syntax}:SOUrce") + self._start = BusBItemManchesterStart(device, f"{self._cmd_syntax}:START") + self._sync = BusBItemManchesterSync(device, f"{self._cmd_syntax}:SYNC") + self._threshold = BusBItemManchesterThreshold(device, f"{self._cmd_syntax}:THReshold") + self._tolerance = BusBItemManchesterTolerance(device, f"{self._cmd_syntax}:TOLerance") + self._transtion = BusBItemManchesterTranstion(device, f"{self._cmd_syntax}:TRANstion") + self._trailer = BusBItemManchesterTrailer(device, f"{self._cmd_syntax}:TRAiler") + self._word = BusBItemManchesterWord(device, f"{self._cmd_syntax}:WORD") + self._wordsize = BusBItemManchesterWordsize(device, f"{self._cmd_syntax}:WORDSIZe") + self._parity = BusBItemManchesterParity(device, f"{self._cmd_syntax}:parity") + + @property + def bitorder(self) -> BusBItemManchesterBitorder: + """Return the ``BUS:B:MANChester:BITORDer`` command. + + Description: + - This command sets or queries the Manchester bus Bit Order. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:BITORDer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:BITORDer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:BITORDer value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:BITORDer {LSB|MSB} + - BUS:B:MANChester:BITORDer? + ``` + + Info: + - ``B`` is the number of the bus. + - ``LSB`` arranges the bits in LSB format, least significant bits first. + - ``MSB`` arranges the bits in MSB format, most significant bits first. + """ + return self._bitorder + + @property + def bitrate(self) -> BusBItemManchesterBitrate: + """Return the ``BUS:B:MANChester:BITRate`` command. + + Description: + - This command sets or queries the Manchester bus bit rate. The bus number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:BITRate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:BITRate + - BUS:B:MANChester:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the bit rate up to 1 Gbps. + """ + return self._bitrate + + @property + def displaymode(self) -> BusBItemManchesterDisplaymode: + """Return the ``BUS:B:MANChester:DISplaymode`` command. + + Description: + - This command sets or queries the Manchester bus Packet View. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:DISplaymode?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:DISplaymode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:DISplaymode value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:DISplaymode {BITS|PACKET} + - BUS:B:MANChester:DISplaymode? + ``` + + Info: + - ``B`` is the number of the bus. + - ``BITS`` sets the PacketView to off and the data to be seen as single bits formats. + - ``PACKET`` sets the PacketView to on and the data to be seen in the form of fields. + """ + return self._displaymode + + @property + def header(self) -> BusBItemManchesterHeader: + """Return the ``BUS:B:MANChester:HEADer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:HEADer?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.length``: The ``BUS:B:MANChester:HEADer:LENGth`` command. + """ + return self._header + + @property + def idle(self) -> BusBItemManchesterIdle: + """Return the ``BUS:B:MANChester:IDLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:IDLE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:IDLE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bits``: The ``BUS:B:MANChester:IDLE:BITS`` command. + """ + return self._idle + + @property + def source(self) -> BusBItemManchesterSource: + """Return the ``BUS:B:MANChester:SOUrce`` command. + + Description: + - This command sets or queries the Manchester source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:MANChester:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def start(self) -> BusBItemManchesterStart: + """Return the ``BUS:B:MANChester:START`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:START?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:START?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.index``: The ``BUS:B:MANChester:START:INDex`` command. + """ + return self._start + + @property + def sync(self) -> BusBItemManchesterSync: + """Return the ``BUS:B:MANChester:SYNC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:SYNC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:SYNC?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.size``: The ``BUS:B:MANChester:SYNC:SIZe`` command. + """ + return self._sync + + @property + def threshold(self) -> BusBItemManchesterThreshold: + """Return the ``BUS:B:MANChester:THReshold`` command. + + Description: + - This command sets or queries the Manchester threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:THReshold + - BUS:B:MANChester:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the Manchester Strobe threshold for the specified bus in Volts. The + argument range is -8V to +8V. + """ + return self._threshold + + @property + def tolerance(self) -> BusBItemManchesterTolerance: + """Return the ``BUS:B:MANChester:TOLerance`` command. + + Description: + - This command sets or queries the Tolerance bus parameter. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TOLerance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:TOLerance value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:TOLerance + - BUS:B:MANChester:TOLerance? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the Tolerance bus parameter. + """ + return self._tolerance + + @property + def transtion(self) -> BusBItemManchesterTranstion: + """Return the ``BUS:B:MANChester:TRANstion`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRANstion?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TRANstion?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.zero``: The ``BUS:B:MANChester:TRANstion:ZERo`` command. + """ + return self._transtion + + @property + def trailer(self) -> BusBItemManchesterTrailer: + """Return the ``BUS:B:MANChester:TRAiler`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:TRAiler?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:TRAiler?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.length``: The ``BUS:B:MANChester:TRAiler:LENGth`` command. + """ + return self._trailer + + @property + def word(self) -> BusBItemManchesterWord: + """Return the ``BUS:B:MANChester:WORD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:WORD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:WORD?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.count``: The ``BUS:B:MANChester:WORD:COUNt`` command. + """ + return self._word + + @property + def wordsize(self) -> BusBItemManchesterWordsize: + """Return the ``BUS:B:MANChester:WORDSIZe`` command. + + Description: + - This command sets or queries the Manchester word size in bits. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:WORDSIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:WORDSIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:MANChester:WORDSIZe value`` command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:WORDSIZe + - BUS:B:MANChester:WORDSIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` sets the word size in bits. + """ + return self._wordsize + + @property + def parity(self) -> BusBItemManchesterParity: + """Return the ``BUS:B:MANChester:parity`` command. + + Description: + - This command sets or queries the Manchester bus Parity. The bus number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester:parity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester:parity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:MANChester:parity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:MANChester:parity {ODD|EVEN|NONE} + - BUS:B:MANChester:parity? + ``` + + Info: + - ``ODD`` sets the number of 1's to odd. + - ``EVEN`` sets the number of 1's to even. + - ``NONE`` specifies that Parity is not considered. + """ + return self._parity + + +class BusBItemLinStandard(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:STANDard`` command. + + Description: + - This command sets or queries the LIN bus standard for the specified bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:STANDard?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:STANDard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:STANDard value`` command. + + SCPI Syntax: + ``` + - BUS:B:LIN:STANDard {MIXed|V1X|V2X} + - BUS:B:LIN:STANDard? + ``` + + Info: + - ``B`` is the number of the bus. + - ``MIXed`` specifies both versions 1.x and 2.x of the LIN standard. + - ``V1X`` specifies version 1.x of the LIN standard. + - ``V2X`` specifies version 2.x of the LIN standard. + """ + + +class BusBItemLinSourceThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:SOUrce:THReshold`` command. + + Description: + - This command sets or queries the LIN source threshold for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:SOUrce:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:SOUrce:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:SOUrce:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:SOUrce:THReshold + - BUS:B:LIN:SOUrce:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` the LIN source threshold for the specified bus. + """ + + +class BusBItemLinSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:SOUrce`` command. + + Description: + - This command sets or queries the LIN data source for the specified bus. The bus number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:LIN:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:LIN:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:LIN:SOUrce:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemLinSourceThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def threshold(self) -> BusBItemLinSourceThreshold: + """Return the ``BUS:B:LIN:SOUrce:THReshold`` command. + + Description: + - This command sets or queries the LIN source threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:SOUrce:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:SOUrce:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:LIN:SOUrce:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:LIN:SOUrce:THReshold + - BUS:B:LIN:SOUrce:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` the LIN source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemLinSamplepoint(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:SAMPLEpoint`` command. + + Description: + - Specifies the LIN sample point, for the specified LIN bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:SAMPLEpoint?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:SAMPLEpoint?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:SAMPLEpoint value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:SAMPLEpoint + - BUS:B:LIN:SAMPLEpoint? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is a percentage that represents the point at which to sample during each bit + period. + """ + + +class BusBItemLinPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:POLarity`` command. + + Description: + - This command sets or queries the LIN source polarity for the specified bus. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:LIN:POLarity {INVerted|NORmal} + - BUS:B:LIN:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + """ + + +class BusBItemLinIdformat(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:IDFORmat`` command. + + Description: + - This command sets or queries LIN bus identifier format for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:IDFORmat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:IDFORmat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:IDFORmat value`` command. + + SCPI Syntax: + ``` + - BUS:B:LIN:IDFORmat {NOPARity|PARity} + - BUS:B:LIN:IDFORmat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NOPARity`` specifies an id format that includes parity. + - ``PARity`` specifies an id format that separates parity. + """ + + +class BusBItemLinBitrateCustom(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:BITRate:CUSTom`` command. + + Description: + - This command sets or queries LIN custom bit rate for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:BITRate:CUSTom?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:BITRate:CUSTom value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:BITRate:CUSTom + - BUS:B:LIN:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the LIN custom bit rate for the specified bus. + """ + + +class BusBItemLinBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LIN:BITRate`` command. + + Description: + - This command sets or queries the LIN bus bit rate. The bus number is specified by x. If + you select Custom, use ``BUS:BX:LIN:BITRATE:CUSTOM`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:LIN:BITRate {RATE10K|RATE1K|RATE19K|RATE2K|RATE4K|RATE9K|CUSTom} + - BUS:B:LIN:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.custom``: The ``BUS:B:LIN:BITRate:CUSTom`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._custom = BusBItemLinBitrateCustom(device, f"{self._cmd_syntax}:CUSTom") + + @property + def custom(self) -> BusBItemLinBitrateCustom: + """Return the ``BUS:B:LIN:BITRate:CUSTom`` command. + + Description: + - This command sets or queries LIN custom bit rate for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:BITRate:CUSTom value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:BITRate:CUSTom + - BUS:B:LIN:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the LIN custom bit rate for the specified bus. + """ + return self._custom + + +class BusBItemLin(SCPICmdRead): + """The ``BUS:B:LIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:LIN:BITRate`` command. + - ``.idformat``: The ``BUS:B:LIN:IDFORmat`` command. + - ``.polarity``: The ``BUS:B:LIN:POLarity`` command. + - ``.samplepoint``: The ``BUS:B:LIN:SAMPLEpoint`` command. + - ``.source``: The ``BUS:B:LIN:SOUrce`` command. + - ``.standard``: The ``BUS:B:LIN:STANDard`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemLinBitrate(device, f"{self._cmd_syntax}:BITRate") + self._idformat = BusBItemLinIdformat(device, f"{self._cmd_syntax}:IDFORmat") + self._polarity = BusBItemLinPolarity(device, f"{self._cmd_syntax}:POLarity") + self._samplepoint = BusBItemLinSamplepoint(device, f"{self._cmd_syntax}:SAMPLEpoint") + self._source = BusBItemLinSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = BusBItemLinStandard(device, f"{self._cmd_syntax}:STANDard") + + @property + def bitrate(self) -> BusBItemLinBitrate: + """Return the ``BUS:B:LIN:BITRate`` command. + + Description: + - This command sets or queries the LIN bus bit rate. The bus number is specified by x. + If you select Custom, use ``BUS:BX:LIN:BITRATE:CUSTOM`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:BITRate {RATE10K|RATE1K|RATE19K|RATE2K|RATE4K|RATE9K|CUSTom} + - BUS:B:LIN:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.custom``: The ``BUS:B:LIN:BITRate:CUSTom`` command. + """ + return self._bitrate + + @property + def idformat(self) -> BusBItemLinIdformat: + """Return the ``BUS:B:LIN:IDFORmat`` command. + + Description: + - This command sets or queries LIN bus identifier format for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:IDFORmat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:IDFORmat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:IDFORmat value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:IDFORmat {NOPARity|PARity} + - BUS:B:LIN:IDFORmat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NOPARity`` specifies an id format that includes parity. + - ``PARity`` specifies an id format that separates parity. + """ + return self._idformat + + @property + def polarity(self) -> BusBItemLinPolarity: + """Return the ``BUS:B:LIN:POLarity`` command. + + Description: + - This command sets or queries the LIN source polarity for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:POLarity?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:POLarity {INVerted|NORmal} + - BUS:B:LIN:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + """ + return self._polarity + + @property + def samplepoint(self) -> BusBItemLinSamplepoint: + """Return the ``BUS:B:LIN:SAMPLEpoint`` command. + + Description: + - Specifies the LIN sample point, for the specified LIN bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:SAMPLEpoint?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:SAMPLEpoint?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:SAMPLEpoint value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:SAMPLEpoint + - BUS:B:LIN:SAMPLEpoint? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is a percentage that represents the point at which to sample during each bit + period. + """ + return self._samplepoint + + @property + def source(self) -> BusBItemLinSource: + """Return the ``BUS:B:LIN:SOUrce`` command. + + Description: + - This command sets or queries the LIN data source for the specified bus. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:LIN:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:LIN:SOUrce:THReshold`` command. + """ + return self._source + + @property + def standard(self) -> BusBItemLinStandard: + """Return the ``BUS:B:LIN:STANDard`` command. + + Description: + - This command sets or queries the LIN bus standard for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN:STANDard?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN:STANDard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LIN:STANDard value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LIN:STANDard {MIXed|V1X|V2X} + - BUS:B:LIN:STANDard? + ``` + + Info: + - ``B`` is the number of the bus. + - ``MIXed`` specifies both versions 1.x and 2.x of the LIN standard. + - ``V1X`` specifies version 1.x of the LIN standard. + - ``V2X`` specifies version 2.x of the LIN standard. + """ + return self._standard + + +class BusBItemLabelName(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:name`` command. + + Description: + - This command sets or queries the label for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:name?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:name?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:name value`` command. + + SCPI Syntax: + ``` + - BUS:B:LABel:name + - BUS:B:LABel:name? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is an alphanumeric string of text enclosed in quotes. The text string is + limited to 30 characters. It contains the text label information for the bus. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class BusBItemLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:YPOS?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:YPOS value`` command. + + SCPI Syntax: + ``` + - BUS:B:LABel:YPOS + - BUS:B:LABel:YPOS? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the y-position, in pixels relative to the baseline of the waveform, of the + specified bus label. + """ + + +class BusBItemLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:XPOS?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:XPOS value`` command. + + SCPI Syntax: + ``` + - BUS:B:LABel:XPOS + - BUS:B:LABel:XPOS? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the x-position, in pixels relative to the left edge of the screen of the + specified bus label. + """ + + +class BusBItemLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:UNDERline?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:UNDERline value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:UNDERline {ON|OFF|1|0} + - BUS:B:LABel:FONT:UNDERline? + ``` + + Info: + - ``B`` is the number of the bus. + - ``ON`` displays the label in underlined font. + - ``OFF`` does not display the label in underlined font. + - ``1`` displays the label in underlined font. + - ``0`` does not display the label in underlined font. + """ + + +class BusBItemLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified bus label, such as Arial or + Times New Roman. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:TYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:TYPE + - BUS:B:LABel:FONT:TYPE? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the specified font type. Available fonts include: DejaVu Sans, DejaVu + Sans Mono, DejaVu Serif, Frutiger LT Std, Monospace, Sans Serif, Serif, Ubuntu, Ubuntu + Condensed, and Ubuntu Mono. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class BusBItemLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:SIZE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:SIZE + - BUS:B:LABel:FONT:SIZE? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the font size. + """ + + +class BusBItemLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:ITALic {ON|OFF|1|0} + - BUS:B:LABel:FONT:ITALic? + ``` + + Info: + - ``B`` is the number of the bus. + - ``ON`` displays the label in italic font. + - ``OFF`` does not display the label in italic font. + - ``1`` displays the label in italic font. + - ``0`` does not display the label in italic font. + """ + + +class BusBItemLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:BOLD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:BOLD {ON|OFF|1|0} + - BUS:B:LABel:FONT:BOLD? + ``` + + Info: + - ``B`` is the number of the bus. + - ``ON`` displays the label in bold font. + - ``OFF`` does not display the label in bold font. + - ``1`` displays the label in bold font. + - ``0`` does not display the label in bold font. + """ + + +class BusBItemLabelFont(SCPICmdRead): + """The ``BUS:B:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bold``: The ``BUS:B:LABel:FONT:BOLD`` command. + - ``.italic``: The ``BUS:B:LABel:FONT:ITALic`` command. + - ``.size``: The ``BUS:B:LABel:FONT:SIZE`` command. + - ``.type``: The ``BUS:B:LABel:FONT:TYPE`` command. + - ``.underline``: The ``BUS:B:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = BusBItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = BusBItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = BusBItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = BusBItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = BusBItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> BusBItemLabelFontBold: + """Return the ``BUS:B:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:BOLD {ON|OFF|1|0} + - BUS:B:LABel:FONT:BOLD? + ``` + + Info: + - ``B`` is the number of the bus. + - ``ON`` displays the label in bold font. + - ``OFF`` does not display the label in bold font. + - ``1`` displays the label in bold font. + - ``0`` does not display the label in bold font. + """ + return self._bold + + @property + def italic(self) -> BusBItemLabelFontItalic: + """Return the ``BUS:B:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:ITALic {ON|OFF|1|0} + - BUS:B:LABel:FONT:ITALic? + ``` + + Info: + - ``B`` is the number of the bus. + - ``ON`` displays the label in italic font. + - ``OFF`` does not display the label in italic font. + - ``1`` displays the label in italic font. + - ``0`` does not display the label in italic font. + """ + return self._italic + + @property + def size(self) -> BusBItemLabelFontSize: + """Return the ``BUS:B:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:SIZE + - BUS:B:LABel:FONT:SIZE? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> BusBItemLabelFontType: + """Return the ``BUS:B:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified bus label, such as Arial + or Times New Roman. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:TYPE + - BUS:B:LABel:FONT:TYPE? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the specified font type. Available fonts include: DejaVu Sans, DejaVu + Sans Mono, DejaVu Serif, Frutiger LT Std, Monospace, Sans Serif, Serif, Ubuntu, Ubuntu + Condensed, and Ubuntu Mono. + """ + return self._type + + @property + def underline(self) -> BusBItemLabelFontUnderline: + """Return the ``BUS:B:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified bus label. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - BUS:B:LABel:FONT:UNDERline {ON|OFF|1|0} + - BUS:B:LABel:FONT:UNDERline? + ``` + + Info: + - ``B`` is the number of the bus. + - ``ON`` displays the label in underlined font. + - ``OFF`` does not display the label in underlined font. + - ``1`` displays the label in underlined font. + - ``0`` does not display the label in underlined font. + """ + return self._underline + + +class BusBItemLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified bus label. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:COLor value`` command. + + SCPI Syntax: + ``` + - BUS:B:LABel:COLor + - BUS:B:LABel:COLor? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the bus label color. To return the color to the default color, send an + empty string as in this example: ``:BUS:B1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class BusBItemLabel(SCPICmdRead): + """The ``BUS:B:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.color``: The ``BUS:B:LABel:COLor`` command. + - ``.font``: The ``BUS:B:LABel:FONT`` command tree. + - ``.xpos``: The ``BUS:B:LABel:XPOS`` command. + - ``.ypos``: The ``BUS:B:LABel:YPOS`` command. + - ``.name``: The ``BUS:B:LABel:name`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = BusBItemLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = BusBItemLabelFont(device, f"{self._cmd_syntax}:FONT") + self._xpos = BusBItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = BusBItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") + self._name = BusBItemLabelName(device, f"{self._cmd_syntax}:name") + + @property + def color(self) -> BusBItemLabelColor: + """Return the ``BUS:B:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:COLor + - BUS:B:LABel:COLor? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the bus label color. To return the color to the default color, send + an empty string as in this example: ``:BUS:B1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> BusBItemLabelFont: + """Return the ``BUS:B:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bold``: The ``BUS:B:LABel:FONT:BOLD`` command. + - ``.italic``: The ``BUS:B:LABel:FONT:ITALic`` command. + - ``.size``: The ``BUS:B:LABel:FONT:SIZE`` command. + - ``.type``: The ``BUS:B:LABel:FONT:TYPE`` command. + - ``.underline``: The ``BUS:B:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def xpos(self) -> BusBItemLabelXpos: + """Return the ``BUS:B:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:XPOS + - BUS:B:LABel:XPOS? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the x-position, in pixels relative to the left edge of the screen of the + specified bus label. + """ + return self._xpos + + @property + def ypos(self) -> BusBItemLabelYpos: + """Return the ``BUS:B:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the specified bus label. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:YPOS + - BUS:B:LABel:YPOS? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the y-position, in pixels relative to the baseline of the waveform, of + the specified bus label. + """ + return self._ypos + + @property + def name(self) -> BusBItemLabelName: + """Return the ``BUS:B:LABel:name`` command. + + Description: + - This command sets or queries the label for the specified bus. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel:name?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel:name?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:LABel:name value`` + command. + + SCPI Syntax: + ``` + - BUS:B:LABel:name + - BUS:B:LABel:name? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is an alphanumeric string of text enclosed in quotes. The text string is + limited to 30 characters. It contains the text label information for the bus. + """ + return self._name + + +class BusBItemI3cDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I3C:DATa:THReshold`` command. + + Description: + - This command sets or queries the I3C clock (SDA) data threshold level for the specified + bus. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:DATa:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:DATa:THReshold {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:DATa:THReshold? + ``` + + Info: + - ``B`` specifies the bus number. + - ```` is the threshold value for I3C Data Clock (SDA) source of the specified bus. + """ + + +class BusBItemI3cDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I3C:DATa:SOUrce`` command. + + Description: + - This command sets or queries the I3C data clock (SDA) source for the specified bus. + Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:DATa:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:DATa:SOUrce? + ``` + + Info: + - ``B`` specifies the bus number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies the analog channel to use as the I3C SDA source. + - ``CH_D`` specifies the digital channel to use as the I3C SDA source. + - ``Math`` specifies the math waveform to use as the I3C SDA source. + - ``REF`` specifies the reference waveform to use as the I3C SDA source. + - ``REF_D`` specifies the digital reference waveform to use as the I3C SDA source. + """ + + +class BusBItemI3cData(SCPICmdRead): + """The ``BUS:B:I3C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` specifies the bus number. + + Properties: + - ``.source``: The ``BUS:B:I3C:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I3C:DATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemI3cDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemI3cDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemI3cDataSource: + """Return the ``BUS:B:I3C:DATa:SOUrce`` command. + + Description: + - This command sets or queries the I3C data clock (SDA) source for the specified bus. + Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:DATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:DATa:SOUrce? + ``` + + Info: + - ``B`` specifies the bus number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies the analog channel to use as the I3C SDA source. + - ``CH_D`` specifies the digital channel to use as the I3C SDA source. + - ``Math`` specifies the math waveform to use as the I3C SDA source. + - ``REF`` specifies the reference waveform to use as the I3C SDA source. + - ``REF_D`` specifies the digital reference waveform to use as the I3C SDA source. + """ + return self._source + + @property + def threshold(self) -> BusBItemI3cDataThreshold: + """Return the ``BUS:B:I3C:DATa:THReshold`` command. + + Description: + - This command sets or queries the I3C clock (SDA) data threshold level for the + specified bus. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:DATa:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:DATa:THReshold {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:DATa:THReshold? + ``` + + Info: + - ``B`` specifies the bus number. + - ```` is the threshold value for I3C Data Clock (SDA) source of the specified bus. + """ # noqa: E501 + return self._threshold + + +class BusBItemI3cClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I3C:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the I3C clock (SCLK) source threshold level for the specified + bus. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:CLOCk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:CLOCk:THReshold + - BUS:B:I3C:CLOCk:THReshold? + ``` + + Info: + - ``B`` specifies the bus number. + - ```` is the threshold value for I3C Clock (SCLK) source of the specified bus. + """ + + +class BusBItemI3cClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I3C:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the I3C clock (SCLK) source for the specified bus. Requires + purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:CLOCk:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:CLOCk:SOUrce? + ``` + + Info: + - ``B`` specifies the bus number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies the analog channel to use as the I3C SCLK source. + - ``CH_D`` specifies the digital channel to use as the I3C SCLK source. + - ``Math`` specifies the math waveform to use as the I3C SCLK source. + - ``REF`` specifies the reference waveform to use as the I3C SCLK source. + - ``REF_D`` specifies the digital reference waveform to use as the I3C SCLK source. + """ + + +class BusBItemI3cClock(SCPICmdRead): + """The ``BUS:B:I3C:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` specifies the bus number. + + Properties: + - ``.source``: The ``BUS:B:I3C:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I3C:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemI3cClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemI3cClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemI3cClockSource: + """Return the ``BUS:B:I3C:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the I3C clock (SCLK) source for the specified bus. + Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I3C:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I3C:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I3C:CLOCk:SOUrce? + ``` + + Info: + - ``B`` specifies the bus number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies the analog channel to use as the I3C SCLK source. + - ``CH_D`` specifies the digital channel to use as the I3C SCLK source. + - ``Math`` specifies the math waveform to use as the I3C SCLK source. + - ``REF`` specifies the reference waveform to use as the I3C SCLK source. + - ``REF_D`` specifies the digital reference waveform to use as the I3C SCLK + source. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemI3cClockThreshold: + """Return the ``BUS:B:I3C:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the I3C clock (SCLK) source threshold level for the + specified bus. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:I3C:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:I3C:CLOCk:THReshold + - BUS:B:I3C:CLOCk:THReshold? + ``` + + Info: + - ``B`` specifies the bus number. + - ```` is the threshold value for I3C Clock (SCLK) source of the specified bus. + """ + return self._threshold + + +class BusBItemI3c(SCPICmdRead): + """The ``BUS:B:I3C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` specifies the bus number. + + Properties: + - ``.clock``: The ``BUS:B:I3C:CLOCk`` command tree. + - ``.data``: The ``BUS:B:I3C:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = BusBItemI3cClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemI3cData(device, f"{self._cmd_syntax}:DATa") + + @property + def clock(self) -> BusBItemI3cClock: + """Return the ``BUS:B:I3C:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` specifies the bus number. + + Sub-properties: + - ``.source``: The ``BUS:B:I3C:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I3C:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemI3cData: + """Return the ``BUS:B:I3C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` specifies the bus number. + + Sub-properties: + - ``.source``: The ``BUS:B:I3C:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I3C:DATa:THReshold`` command. + """ + return self._data + + +class BusBItemI2cRwinaddr(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I2C:RWINADDR`` command. + + Description: + - This command sets or queries the manner in which seven-bit I2C addresses are represented + in the busform display of the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:RWINADDR?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:RWINADDR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:RWINADDR value`` command. + + SCPI Syntax: + ``` + - BUS:B:I2C:RWINADDR {0|1} + - BUS:B:I2C:RWINADDR? + ``` + + Info: + - ``B`` is the number of the bus. + - ``0`` displays seven-bit slave addresses as integers in the range of 0 to 127, with the + state of the R/W* bit from the LSB of the slave address byte. For example, the slave + address byte of 0b10100101 is displayed as the value 0x52 R. + - ``1`` displays the entire slave address byte as a number, with the R/W* signal as its LSB + (bit 0) and the slave address in bits 7..1. For example, the slave address byte of + 0b10100101 is displayed as the value 0xA5 R. + """ + + +class BusBItemI2cDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I2C:DATa:THReshold`` command. + + Description: + - This command sets or queries the I2C Data (SDA) source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:DATa:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:DATa:THReshold + - BUS:B:I2C:DATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the I2C Data (SDA) source threshold for the specified bus. + """ + + +class BusBItemI2cDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I2C:DATa:SOUrce`` command. + + Description: + - This command sets or queries the I2C data (SDA) source for the specified I2C bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:DATa:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I2C:DATa:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel to use as the I2C SDA source. + - ``CH_D`` specifies a digital channel to use as the I2C SDA source. + - ``MATH`` specifies a math waveform to use as the I2C SDA source. + - ``REF`` specifies a reference waveform to use as the I2C SDA source. + - ``REF_D`` specifies a digital reference waveform as the data source waveform for the + specified I2C bus. + """ + + +class BusBItemI2cData(SCPICmdRead): + """The ``BUS:B:I2C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``BUS:B:I2C:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I2C:DATa:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemI2cDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemI2cDataThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemI2cDataSource: + """Return the ``BUS:B:I2C:DATa:SOUrce`` command. + + Description: + - This command sets or queries the I2C data (SDA) source for the specified I2C bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:DATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I2C:DATa:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel to use as the I2C SDA source. + - ``CH_D`` specifies a digital channel to use as the I2C SDA source. + - ``MATH`` specifies a math waveform to use as the I2C SDA source. + - ``REF`` specifies a reference waveform to use as the I2C SDA source. + - ``REF_D`` specifies a digital reference waveform as the data source waveform for + the specified I2C bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemI2cDataThreshold: + """Return the ``BUS:B:I2C:DATa:THReshold`` command. + + Description: + - This command sets or queries the I2C Data (SDA) source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:DATa:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:DATa:THReshold + - BUS:B:I2C:DATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the I2C Data (SDA) source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemI2cClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I2C:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the I2C Clock (SCLK) source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:CLOCk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:CLOCk:THReshold + - BUS:B:I2C:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the I2C Clock (SCLK) source threshold for the specified bus. + """ + + +class BusBItemI2cClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:I2C:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the I2C clock (SCLK) source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:CLOCk:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I2C:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel to use as the I2C SCLK source. + - ``CH_D`` specifies a digital channel to use as the I2C SCLK source. + - ``MATH`` specifies a math waveform to use as the I2C SCLK source. + - ``REF`` specifies a reference waveform to use as the I2C SCLK source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified I2C bus. + """ + + +class BusBItemI2cClock(SCPICmdRead): + """The ``BUS:B:I2C:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:I2C:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I2C:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemI2cClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemI2cClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemI2cClockSource: + """Return the ``BUS:B:I2C:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the I2C clock (SCLK) source for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:I2C:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel to use as the I2C SCLK source. + - ``CH_D`` specifies a digital channel to use as the I2C SCLK source. + - ``MATH`` specifies a math waveform to use as the I2C SCLK source. + - ``REF`` specifies a reference waveform to use as the I2C SCLK source. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified I2C bus. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemI2cClockThreshold: + """Return the ``BUS:B:I2C:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the I2C Clock (SCLK) source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:I2C:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:I2C:CLOCk:THReshold + - BUS:B:I2C:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the I2C Clock (SCLK) source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemI2c(SCPICmdRead): + """The ``BUS:B:I2C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.clock``: The ``BUS:B:I2C:CLOCk`` command tree. + - ``.data``: The ``BUS:B:I2C:DATa`` command tree. + - ``.rwinaddr``: The ``BUS:B:I2C:RWINADDR`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = BusBItemI2cClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemI2cData(device, f"{self._cmd_syntax}:DATa") + self._rwinaddr = BusBItemI2cRwinaddr(device, f"{self._cmd_syntax}:RWINADDR") + + @property + def clock(self) -> BusBItemI2cClock: + """Return the ``BUS:B:I2C:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:I2C:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I2C:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemI2cData: + """Return the ``BUS:B:I2C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``BUS:B:I2C:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:I2C:DATa:THReshold`` command. + """ + return self._data + + @property + def rwinaddr(self) -> BusBItemI2cRwinaddr: + """Return the ``BUS:B:I2C:RWINADDR`` command. + + Description: + - This command sets or queries the manner in which seven-bit I2C addresses are + represented in the busform display of the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C:RWINADDR?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C:RWINADDR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:I2C:RWINADDR value`` + command. + + SCPI Syntax: + ``` + - BUS:B:I2C:RWINADDR {0|1} + - BUS:B:I2C:RWINADDR? + ``` + + Info: + - ``B`` is the number of the bus. + - ``0`` displays seven-bit slave addresses as integers in the range of 0 to 127, with + the state of the R/W* bit from the LSB of the slave address byte. For example, the + slave address byte of 0b10100101 is displayed as the value 0x52 R. + - ``1`` displays the entire slave address byte as a number, with the R/W* signal as its + LSB (bit 0) and the slave address in bits 7..1. For example, the slave address byte of + 0b10100101 is displayed as the value 0xA5 R. + """ + return self._rwinaddr + + +class BusBItemFlexrayTxrxthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:TXRXTHRESHold`` command. + + Description: + - This command sets or queries the FlexRay data source TxRx threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:TXRXTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:TXRXTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:TXRXTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:TXRXTHRESHold + - BUS:B:FLEXray:TXRXTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the TxRx threshold. + """ + + +class BusBItemFlexrayThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:THRESHold`` command. + + Description: + - This command sets or queries the FlexRay data source high threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:THRESHold + - BUS:B:FLEXray:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the FlexRay data source high threshold for the specified bus. + """ + + +class BusBItemFlexraySourceTxrx(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:SOUrce:TXRX`` command. + + Description: + - This command sets or queries the FlexRay TxRx data source for the specified bus when the + signal type is TXRX. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:SOUrce:TXRX {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:FLEXray:SOUrce:TXRX? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the digital + channel as the source. + - ``CH_D`` specifies an analog channel and the digital channel as the source. + - ``REF_D`` specifies a reference waveform and the digital channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemFlexraySource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:SOUrce`` command. + + Description: + - This command sets or queries the Flexray bus data source for the specified bus when the + signal type is BDIFFBP or BM. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:FLEXray:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + + Properties: + - ``.txrx``: The ``BUS:B:FLEXray:SOUrce:TXRX`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._txrx = BusBItemFlexraySourceTxrx(device, f"{self._cmd_syntax}:TXRX") + + @property + def txrx(self) -> BusBItemFlexraySourceTxrx: + """Return the ``BUS:B:FLEXray:SOUrce:TXRX`` command. + + Description: + - This command sets or queries the FlexRay TxRx data source for the specified bus when + the signal type is TXRX. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SOUrce:TXRX?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:FLEXray:SOUrce:TXRX value`` command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:SOUrce:TXRX {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:FLEXray:SOUrce:TXRX? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel and the + digital channel as the source. + - ``CH_D`` specifies an analog channel and the digital channel as the source. + - ``REF_D`` specifies a reference waveform and the digital channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ # noqa: E501 + return self._txrx + + +class BusBItemFlexraySignal(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:SIGnal`` command. + + Description: + - This command sets or queries the FlexRay signal type for the specified bus. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SIGnal?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SIGnal?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SIGnal value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:SIGnal {BDIFFBP|BM|TXRX} + - BUS:B:FLEXray:SIGnal? + ``` + + Info: + - ``B`` is the number of the bus. + - ``BDIFFBP`` sets the FlexRay signal type to BDIFFBP. + - ``BM`` sets the FlexRay signal type to BM. + - ``TXRX`` sets the FlexRay signal type to TXRX. + """ + + +class BusBItemFlexrayLowthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:LOWTHRESHold`` command. + + Description: + - This command sets or queries the FlexRay data source low threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:LOWTHRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:LOWTHRESHold + - BUS:B:FLEXray:LOWTHRESHold? + ``` + + Info: + - ```` is the FlexRay data source low threshold for the specified bus. + - ``B`` is the number of the bus. + """ + + +class BusBItemFlexrayChannel(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:CHannel`` command. + + Description: + - This command sets or queries the FlexRay channel type for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:CHannel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:CHannel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:CHannel value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:CHannel {A|B} + - BUS:B:FLEXray:CHannel? + ``` + + Info: + - ``B`` is the number of the bus. + - ``A`` specifies the A channel. + - ``B`` specifies the B channel. + """ + + +class BusBItemFlexrayBitrateCustom(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the FlexRay custom bit rate for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:BITRate:CUSTom value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:BITRate:CUSTom + - BUS:B:FLEXray:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the FlexRay custom bit rate for the specified bus. + """ + + +class BusBItemFlexrayBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:FLEXray:BITRate`` command. + + Description: + - This command sets or queries the FlexRay bus bit rate. The bus is specified by x. If you + select Custom, use ``BUS:BX:FLEXRAY:BITRATE:CUSTOM`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:BITRate {CUSTOM|RATE2M|RATE5M|RATE10M} + - BUS:B:FLEXray:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.custom``: The ``BUS:B:FLEXray:BITRate:CUSTom`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._custom = BusBItemFlexrayBitrateCustom(device, f"{self._cmd_syntax}:CUSTom") + + @property + def custom(self) -> BusBItemFlexrayBitrateCustom: + """Return the ``BUS:B:FLEXray:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the FlexRay custom bit rate for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:BITRate:CUSTom?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:FLEXray:BITRate:CUSTom value`` command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:BITRate:CUSTom + - BUS:B:FLEXray:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the FlexRay custom bit rate for the specified bus. + """ + return self._custom + + +class BusBItemFlexray(SCPICmdRead): + """The ``BUS:B:FLEXray`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:FLEXray:BITRate`` command. + - ``.channel``: The ``BUS:B:FLEXray:CHannel`` command. + - ``.lowthreshold``: The ``BUS:B:FLEXray:LOWTHRESHold`` command. + - ``.signal``: The ``BUS:B:FLEXray:SIGnal`` command. + - ``.source``: The ``BUS:B:FLEXray:SOUrce`` command. + - ``.threshold``: The ``BUS:B:FLEXray:THRESHold`` command. + - ``.txrxthreshold``: The ``BUS:B:FLEXray:TXRXTHRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemFlexrayBitrate(device, f"{self._cmd_syntax}:BITRate") + self._channel = BusBItemFlexrayChannel(device, f"{self._cmd_syntax}:CHannel") + self._lowthreshold = BusBItemFlexrayLowthreshold(device, f"{self._cmd_syntax}:LOWTHRESHold") + self._signal = BusBItemFlexraySignal(device, f"{self._cmd_syntax}:SIGnal") + self._source = BusBItemFlexraySource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemFlexrayThreshold(device, f"{self._cmd_syntax}:THRESHold") + self._txrxthreshold = BusBItemFlexrayTxrxthreshold( + device, f"{self._cmd_syntax}:TXRXTHRESHold" + ) + + @property + def bitrate(self) -> BusBItemFlexrayBitrate: + """Return the ``BUS:B:FLEXray:BITRate`` command. + + Description: + - This command sets or queries the FlexRay bus bit rate. The bus is specified by x. If + you select Custom, use ``BUS:BX:FLEXRAY:BITRATE:CUSTOM`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:BITRate {CUSTOM|RATE2M|RATE5M|RATE10M} + - BUS:B:FLEXray:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.custom``: The ``BUS:B:FLEXray:BITRate:CUSTom`` command. + """ + return self._bitrate + + @property + def channel(self) -> BusBItemFlexrayChannel: + """Return the ``BUS:B:FLEXray:CHannel`` command. + + Description: + - This command sets or queries the FlexRay channel type for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:CHannel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:CHannel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:CHannel value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:CHannel {A|B} + - BUS:B:FLEXray:CHannel? + ``` + + Info: + - ``B`` is the number of the bus. + - ``A`` specifies the A channel. + - ``B`` specifies the B channel. + """ + return self._channel + + @property + def lowthreshold(self) -> BusBItemFlexrayLowthreshold: + """Return the ``BUS:B:FLEXray:LOWTHRESHold`` command. + + Description: + - This command sets or queries the FlexRay data source low threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:FLEXray:LOWTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:LOWTHRESHold + - BUS:B:FLEXray:LOWTHRESHold? + ``` + + Info: + - ```` is the FlexRay data source low threshold for the specified bus. + - ``B`` is the number of the bus. + """ + return self._lowthreshold + + @property + def signal(self) -> BusBItemFlexraySignal: + """Return the ``BUS:B:FLEXray:SIGnal`` command. + + Description: + - This command sets or queries the FlexRay signal type for the specified bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SIGnal?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SIGnal?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SIGnal value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:SIGnal {BDIFFBP|BM|TXRX} + - BUS:B:FLEXray:SIGnal? + ``` + + Info: + - ``B`` is the number of the bus. + - ``BDIFFBP`` sets the FlexRay signal type to BDIFFBP. + - ``BM`` sets the FlexRay signal type to BM. + - ``TXRX`` sets the FlexRay signal type to TXRX. + """ + return self._signal + + @property + def source(self) -> BusBItemFlexraySource: + """Return the ``BUS:B:FLEXray:SOUrce`` command. + + Description: + - This command sets or queries the Flexray bus data source for the specified bus when + the signal type is BDIFFBP or BM. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:FLEXray:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + + Sub-properties: + - ``.txrx``: The ``BUS:B:FLEXray:SOUrce:TXRX`` command. + """ + return self._source + + @property + def threshold(self) -> BusBItemFlexrayThreshold: + """Return the ``BUS:B:FLEXray:THRESHold`` command. + + Description: + - This command sets or queries the FlexRay data source high threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:FLEXray:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:THRESHold + - BUS:B:FLEXray:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the FlexRay data source high threshold for the specified bus. + """ + return self._threshold + + @property + def txrxthreshold(self) -> BusBItemFlexrayTxrxthreshold: + """Return the ``BUS:B:FLEXray:TXRXTHRESHold`` command. + + Description: + - This command sets or queries the FlexRay data source TxRx threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray:TXRXTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray:TXRXTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:FLEXray:TXRXTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:FLEXray:TXRXTHRESHold + - BUS:B:FLEXray:TXRXTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the TxRx threshold. + """ + return self._txrxthreshold + + +class BusBItemEusbThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:THRESHold`` command. + + Description: + - This command sets or queries the eUSB source High threshold for the specified bus when + signal type is Diff. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:THRESHold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:THRESHold + - BUS:B:EUSB:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB Strobe threshold for the specified bus. The argument range is -8 V + to +8 V. + """ + + +class BusBItemEusbSourceDplus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the eUSB dataPlus (SDATAPLUS) source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce:DPLUs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SOUrce:DPLUs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEusbSourceDminus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the eUSB DataMinus (SDATAMINUS) source for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce:DMINus?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SOUrce:DMINus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEusbSourceDiff(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:SOUrce:DIFF`` command. + + Description: + - This command sets or queries the eUSB Diff source for the specified bus when signal type + is Diff. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce:DIFF?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce:DIFF?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SOUrce:DIFF value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SOUrce:DIFF {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DIFF? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEusbSource(SCPICmdRead): + """The ``BUS:B:EUSB:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.diff``: The ``BUS:B:EUSB:SOUrce:DIFF`` command. + - ``.dminus``: The ``BUS:B:EUSB:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:EUSB:SOUrce:DPLUs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._diff = BusBItemEusbSourceDiff(device, f"{self._cmd_syntax}:DIFF") + self._dminus = BusBItemEusbSourceDminus(device, f"{self._cmd_syntax}:DMINus") + self._dplus = BusBItemEusbSourceDplus(device, f"{self._cmd_syntax}:DPLUs") + + @property + def diff(self) -> BusBItemEusbSourceDiff: + """Return the ``BUS:B:EUSB:SOUrce:DIFF`` command. + + Description: + - This command sets or queries the eUSB Diff source for the specified bus when signal + type is Diff. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce:DIFF?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce:DIFF?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SOUrce:DIFF value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SOUrce:DIFF {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DIFF? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._diff + + @property + def dminus(self) -> BusBItemEusbSourceDminus: + """Return the ``BUS:B:EUSB:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the eUSB DataMinus (SDATAMINUS) source for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SOUrce:DMINus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._dminus + + @property + def dplus(self) -> BusBItemEusbSourceDplus: + """Return the ``BUS:B:EUSB:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the eUSB dataPlus (SDATAPLUS) source for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce:DPLUs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SOUrce:DPLUs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:EUSB:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._dplus + + +class BusBItemEusbSignaltype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:SIGNALTYpe`` command. + + Description: + - This command sets or queries the eUSB signal type for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SIGNALTYpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:EUSB:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + """ + + +class BusBItemEusbOperatingMode(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:OPERating:MODe`` command. + + Description: + - This command sets or queries the eUSB mode for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:OPERating:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:OPERating:MODe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:OPERating:MODe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:OPERating:MODe {NATive|REPEATERHOSt|REPEATERPERIPHERAL} + - BUS:B:EUSB:OPERating:MODe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NATive`` sets the operating mode as native. + - ``REPEATERHOSt`` sets the operating mode as repeater host. + - ``REPEATERPERIPHERAL`` sets the operating mode as repeater peripheral. + """ + + +class BusBItemEusbOperating(SCPICmdRead): + """The ``BUS:B:EUSB:OPERating`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:OPERating?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:OPERating?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.mode``: The ``BUS:B:EUSB:OPERating:MODe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = BusBItemEusbOperatingMode(device, f"{self._cmd_syntax}:MODe") + + @property + def mode(self) -> BusBItemEusbOperatingMode: + """Return the ``BUS:B:EUSB:OPERating:MODe`` command. + + Description: + - This command sets or queries the eUSB mode for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:OPERating:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:OPERating:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:OPERating:MODe value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:OPERating:MODe {NATive|REPEATERHOSt|REPEATERPERIPHERAL} + - BUS:B:EUSB:OPERating:MODe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NATive`` sets the operating mode as native. + - ``REPEATERHOSt`` sets the operating mode as repeater host. + - ``REPEATERPERIPHERAL`` sets the operating mode as repeater peripheral. + """ + return self._mode + + +class BusBItemEusbLowthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:LOWTHRESHold`` command. + + Description: + - This command sets or queries the eUSB source Low threshold for the specified bus when + signal type is Differential. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:LOWTHRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:LOWTHRESHold + - BUS:B:EUSB:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB Strobe threshold for the specified bus. The argument range is -8 V + to +8 V. + """ + + +class BusBItemEusbDataplusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the eUSB DATA Plus source threshold for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUSTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAPLUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:DATAPLUSTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAPLUSTHRESHold + - BUS:B:EUSB:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB DATA Plus source threshold. The argument range is -8 V to +8 V. + """ + + +class BusBItemEusbDataplusDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold`` command. + + Description: + - This command sets or queries the eUSB D+ Input Source Data Threshold for Data line decode + for specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAPLUS:DATA:THRESHold + - BUS:B:EUSB:DATAPLUS:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB Strobe threshold for the specified bus. The argument range is -8 V + to +8 V. + """ + + +class BusBItemEusbDataplusData(SCPICmdRead): + """The ``BUS:B:EUSB:DATAPLUS:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUS:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAPLUS:DATA?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemEusbDataplusDataThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def threshold(self) -> BusBItemEusbDataplusDataThreshold: + """Return the ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold`` command. + + Description: + - This command sets or queries the eUSB D+ Input Source Data Threshold for Data line + decode for specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAPLUS:DATA:THRESHold + - BUS:B:EUSB:DATAPLUS:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB Strobe threshold for the specified bus. The argument range is -8 + V to +8 V. + """ + return self._threshold + + +class BusBItemEusbDataplus(SCPICmdRead): + """The ``BUS:B:EUSB:DATAPLUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAPLUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.data``: The ``BUS:B:EUSB:DATAPLUS:DATA`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemEusbDataplusData(device, f"{self._cmd_syntax}:DATA") + + @property + def data(self) -> BusBItemEusbDataplusData: + """Return the ``BUS:B:EUSB:DATAPLUS:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUS:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAPLUS:DATA?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:EUSB:DATAPLUS:DATA:THRESHold`` command. + """ + return self._data + + +class BusBItemEusbDataminusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the eUSB D- Input Source Data Threshold for Data line decode + for specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUSTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAMINUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAMINUSTHRESHold + - BUS:B:EUSB:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB DATA Minus source threshold. The argument range is -8 V to +8 V. + """ + + +class BusBItemEusbDataminusDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold`` command. + + Description: + - This command sets or queries the eUSB D- Input Source Data Threshold for Data line decode + for specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAMINUS:DATA:THRESHold + - BUS:B:EUSB:DATAMINUS:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the EUSB Strobe threshold for the specified bus. The argument range is -8 V + to +8 V. + """ + + +class BusBItemEusbDataminusData(SCPICmdRead): + """The ``BUS:B:EUSB:DATAMINUS:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUS:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAMINUS:DATA?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemEusbDataminusDataThreshold( + device, f"{self._cmd_syntax}:THRESHold" + ) + + @property + def threshold(self) -> BusBItemEusbDataminusDataThreshold: + """Return the ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold`` command. + + Description: + - This command sets or queries the eUSB D- Input Source Data Threshold for Data line + decode for specified bus. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAMINUS:DATA:THRESHold + - BUS:B:EUSB:DATAMINUS:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the EUSB Strobe threshold for the specified bus. The argument range is -8 + V to +8 V. + """ + return self._threshold + + +class BusBItemEusbDataminus(SCPICmdRead): + """The ``BUS:B:EUSB:DATAMINUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAMINUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.data``: The ``BUS:B:EUSB:DATAMINUS:DATA`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemEusbDataminusData(device, f"{self._cmd_syntax}:DATA") + + @property + def data(self) -> BusBItemEusbDataminusData: + """Return the ``BUS:B:EUSB:DATAMINUS:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUS:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAMINUS:DATA?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:EUSB:DATAMINUS:DATA:THRESHold`` command. + """ + return self._data + + +class BusBItemEusbBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:EUSB:BITRate`` command. + + Description: + - This command sets or queries the eUSB data rate for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:BITRate {HIGH|FULL|LOW} + - BUS:B:EUSB:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ``HIGH`` sets the bit rate to Bit Rate to 480 Mbps. + - ``FULL`` sets the bit rate to Bit Rate to 12 Mbps. + - ``LOW`` sets the bit rate to Bit Rate to 1.5 Mbps. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemEusb(SCPICmdRead): + """The ``BUS:B:EUSB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:EUSB:BITRate`` command. + - ``.dataminus``: The ``BUS:B:EUSB:DATAMINUS`` command tree. + - ``.dataminusthreshold``: The ``BUS:B:EUSB:DATAMINUSTHRESHold`` command. + - ``.dataplus``: The ``BUS:B:EUSB:DATAPLUS`` command tree. + - ``.dataplusthreshold``: The ``BUS:B:EUSB:DATAPLUSTHRESHold`` command. + - ``.lowthreshold``: The ``BUS:B:EUSB:LOWTHRESHold`` command. + - ``.operating``: The ``BUS:B:EUSB:OPERating`` command tree. + - ``.signaltype``: The ``BUS:B:EUSB:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:EUSB:SOUrce`` command tree. + - ``.threshold``: The ``BUS:B:EUSB:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemEusbBitrate(device, f"{self._cmd_syntax}:BITRate") + self._dataminus = BusBItemEusbDataminus(device, f"{self._cmd_syntax}:DATAMINUS") + self._dataminusthreshold = BusBItemEusbDataminusthreshold( + device, f"{self._cmd_syntax}:DATAMINUSTHRESHold" + ) + self._dataplus = BusBItemEusbDataplus(device, f"{self._cmd_syntax}:DATAPLUS") + self._dataplusthreshold = BusBItemEusbDataplusthreshold( + device, f"{self._cmd_syntax}:DATAPLUSTHRESHold" + ) + self._lowthreshold = BusBItemEusbLowthreshold(device, f"{self._cmd_syntax}:LOWTHRESHold") + self._operating = BusBItemEusbOperating(device, f"{self._cmd_syntax}:OPERating") + self._signaltype = BusBItemEusbSignaltype(device, f"{self._cmd_syntax}:SIGNALTYpe") + self._source = BusBItemEusbSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEusbThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def bitrate(self) -> BusBItemEusbBitrate: + """Return the ``BUS:B:EUSB:BITRate`` command. + + Description: + - This command sets or queries the eUSB data rate for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:BITRate {HIGH|FULL|LOW} + - BUS:B:EUSB:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ``HIGH`` sets the bit rate to Bit Rate to 480 Mbps. + - ``FULL`` sets the bit rate to Bit Rate to 12 Mbps. + - ``LOW`` sets the bit rate to Bit Rate to 1.5 Mbps. + """ + return self._bitrate + + @property + def dataminus(self) -> BusBItemEusbDataminus: + """Return the ``BUS:B:EUSB:DATAMINUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAMINUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.data``: The ``BUS:B:EUSB:DATAMINUS:DATA`` command tree. + """ + return self._dataminus + + @property + def dataminusthreshold(self) -> BusBItemEusbDataminusthreshold: + """Return the ``BUS:B:EUSB:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the eUSB D- Input Source Data Threshold for Data line + decode for specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAMINUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:EUSB:DATAMINUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAMINUSTHRESHold + - BUS:B:EUSB:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB DATA Minus source threshold. The argument range is -8 V to +8 V. + """ + return self._dataminusthreshold + + @property + def dataplus(self) -> BusBItemEusbDataplus: + """Return the ``BUS:B:EUSB:DATAPLUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAPLUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.data``: The ``BUS:B:EUSB:DATAPLUS:DATA`` command tree. + """ + return self._dataplus + + @property + def dataplusthreshold(self) -> BusBItemEusbDataplusthreshold: + """Return the ``BUS:B:EUSB:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the eUSB DATA Plus source threshold for the specified + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:DATAPLUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:DATAPLUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:EUSB:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:DATAPLUSTHRESHold + - BUS:B:EUSB:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB DATA Plus source threshold. The argument range is -8 V to +8 V. + """ + return self._dataplusthreshold + + @property + def lowthreshold(self) -> BusBItemEusbLowthreshold: + """Return the ``BUS:B:EUSB:LOWTHRESHold`` command. + + Description: + - This command sets or queries the eUSB source Low threshold for the specified bus when + signal type is Differential. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:LOWTHRESHold + - BUS:B:EUSB:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB Strobe threshold for the specified bus. The argument range is -8 + V to +8 V. + """ + return self._lowthreshold + + @property + def operating(self) -> BusBItemEusbOperating: + """Return the ``BUS:B:EUSB:OPERating`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:OPERating?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:OPERating?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.mode``: The ``BUS:B:EUSB:OPERating:MODe`` command. + """ + return self._operating + + @property + def signaltype(self) -> BusBItemEusbSignaltype: + """Return the ``BUS:B:EUSB:SIGNALTYpe`` command. + + Description: + - This command sets or queries the eUSB signal type for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SIGNALTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:EUSB:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + """ + return self._signaltype + + @property + def source(self) -> BusBItemEusbSource: + """Return the ``BUS:B:EUSB:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.diff``: The ``BUS:B:EUSB:SOUrce:DIFF`` command. + - ``.dminus``: The ``BUS:B:EUSB:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:EUSB:SOUrce:DPLUs`` command. + """ + return self._source + + @property + def threshold(self) -> BusBItemEusbThreshold: + """Return the ``BUS:B:EUSB:THRESHold`` command. + + Description: + - This command sets or queries the eUSB source High threshold for the specified bus when + signal type is Diff. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:EUSB:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:EUSB:THRESHold + - BUS:B:EUSB:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the eUSB Strobe threshold for the specified bus. The argument range is -8 + V to +8 V. + """ + return self._threshold + + +class BusBItemEthernetType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:TYPe`` command. + + Description: + - This command specifies the Ethernet standard speed. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:TYPe value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:TYPe {TENBASET|HUNDREDBASETX} + - BUS:B:ETHERnet:TYPe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``TENBASET`` specifies the Ethernet speed as 10Base-T. + - ``HUNDREDBASETX`` specifies the Ethernet speed as 100Base-T. + """ + + +class BusBItemEthernetThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:THRESHold`` command. + + Description: + - This command sets or queries the Ethernet DATA source High threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:THRESHold + - BUS:B:ETHERnet:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the Ethernet DATA source High threshold for the specified bus. + """ + + +class BusBItemEthernetSourceDplus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the Ethernet D+ source for the specified bus. this command + specifies the source channel to use when the signal type is single ended. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SOUrce:DPLUs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:SOUrce:DPLUs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEthernetSourceDminus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the Ethernet D- source for the specified bus. this command + specifies the source channel to use when the signal type is single ended. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SOUrce:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:SOUrce:DMINus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEthernetSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:SOUrce`` command. + + Description: + - This command sets or queries the Ethernet data (SDATA) source for the specified bus. This + command controls the source channel when the signal type is differential. The bus number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the Ethernet data source for + differential input. + - ``MATH`` specifies to use a math waveform as the source for Ethernet data differential + input. + - ``REF`` specifies to use one of the reference waveforms as the Ethernet data source for + differential input. + + Properties: + - ``.dminus``: The ``BUS:B:ETHERnet:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:ETHERnet:SOUrce:DPLUs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dminus = BusBItemEthernetSourceDminus(device, f"{self._cmd_syntax}:DMINus") + self._dplus = BusBItemEthernetSourceDplus(device, f"{self._cmd_syntax}:DPLUs") + + @property + def dminus(self) -> BusBItemEthernetSourceDminus: + """Return the ``BUS:B:ETHERnet:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the Ethernet D- source for the specified bus. this + command specifies the source channel to use when the signal type is single ended. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SOUrce:DMINus?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:SOUrce:DMINus value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._dminus + + @property + def dplus(self) -> BusBItemEthernetSourceDplus: + """Return the ``BUS:B:ETHERnet:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the Ethernet D+ source for the specified bus. this + command specifies the source channel to use when the signal type is single ended. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SOUrce:DPLUs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:SOUrce:DPLUs value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._dplus + + +class BusBItemEthernetSignaltype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:SIGNALTYpe`` command. + + Description: + - This command sets or queries the Ethernet signal type for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SIGNALTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:ETHERnet:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + + +class BusBItemEthernetQtagging(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:QTAGGING`` command. + + Description: + - This command sets or queries whether Q-Tagging packets are available for triggering on + Ethernet. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:QTAGGING?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:QTAGGING?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:QTAGGING value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:QTAGGING {YES|NO} + - BUS:B:ETHERnet:QTAGGING? + ``` + + Info: + - ``B`` is the number of the bus. + - ``YES`` specifies that Q-Tagging packets are available. + - ``NO`` specifies that Q-Tagging packets are not available. + """ + + +class BusBItemEthernetLowthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:LOWTHRESHold`` command. + + Description: + - This command sets or queries the Ethernet source Low threshold for the specified bus. This + threshold only applies when the Ethernet signal type is differential. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:LOWTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:LOWTHRESHold + - BUS:B:ETHERnet:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the Ethernet source Low threshold for the specified bus. + """ + + +class BusBItemEthernetIpvfour(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:IPVFOUR`` command. + + Description: + - This command sets or queries whether IPV4 packets are available for triggering on + Ethernet. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:IPVFOUR?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:IPVFOUR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:IPVFOUR value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:IPVFOUR {YES|NO} + - BUS:B:ETHERnet:IPVFOUR? + ``` + + Info: + - ``B`` is the number of the bus. + - ``YES`` specifies that IPV4 packets are available. + - ``NO`` specifies that IPV4 packets are not available. + """ + + +class BusBItemEthernetDataplusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the Ethernet D+ source threshold for the specified bus. This + threshold only applies when the Ethernet signal type is single ended. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:DATAPLUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:DATAPLUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:DATAPLUSTHRESHold + - BUS:B:ETHERnet:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` is the Ethernet D+ source threshold for the specified bus. + """ + + +class BusBItemEthernetDataminusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERnet:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the Ethernet D- source threshold for the specified bus. This + threshold only applies when the Ethernet signal type is single ended. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:DATAMINUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ETHERnet:DATAMINUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:DATAMINUSTHRESHold + - BUS:B:ETHERnet:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the Ethernet D- source threshold for the specified bus. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemEthernet(SCPICmdRead): + """The ``BUS:B:ETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.dataminusthreshold``: The ``BUS:B:ETHERnet:DATAMINUSTHRESHold`` command. + - ``.dataplusthreshold``: The ``BUS:B:ETHERnet:DATAPLUSTHRESHold`` command. + - ``.ipvfour``: The ``BUS:B:ETHERnet:IPVFOUR`` command. + - ``.lowthreshold``: The ``BUS:B:ETHERnet:LOWTHRESHold`` command. + - ``.qtagging``: The ``BUS:B:ETHERnet:QTAGGING`` command. + - ``.signaltype``: The ``BUS:B:ETHERnet:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:ETHERnet:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ETHERnet:THRESHold`` command. + - ``.type``: The ``BUS:B:ETHERnet:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dataminusthreshold = BusBItemEthernetDataminusthreshold( + device, f"{self._cmd_syntax}:DATAMINUSTHRESHold" + ) + self._dataplusthreshold = BusBItemEthernetDataplusthreshold( + device, f"{self._cmd_syntax}:DATAPLUSTHRESHold" + ) + self._ipvfour = BusBItemEthernetIpvfour(device, f"{self._cmd_syntax}:IPVFOUR") + self._lowthreshold = BusBItemEthernetLowthreshold( + device, f"{self._cmd_syntax}:LOWTHRESHold" + ) + self._qtagging = BusBItemEthernetQtagging(device, f"{self._cmd_syntax}:QTAGGING") + self._signaltype = BusBItemEthernetSignaltype(device, f"{self._cmd_syntax}:SIGNALTYpe") + self._source = BusBItemEthernetSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEthernetThreshold(device, f"{self._cmd_syntax}:THRESHold") + self._type = BusBItemEthernetType(device, f"{self._cmd_syntax}:TYPe") + + @property + def dataminusthreshold(self) -> BusBItemEthernetDataminusthreshold: + """Return the ``BUS:B:ETHERnet:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the Ethernet D- source threshold for the specified bus. + This threshold only applies when the Ethernet signal type is single ended. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:DATAMINUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ETHERnet:DATAMINUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:DATAMINUSTHRESHold + - BUS:B:ETHERnet:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the Ethernet D- source threshold for the specified bus. + """ + return self._dataminusthreshold + + @property + def dataplusthreshold(self) -> BusBItemEthernetDataplusthreshold: + """Return the ``BUS:B:ETHERnet:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the Ethernet D+ source threshold for the specified bus. + This threshold only applies when the Ethernet signal type is single ended. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:DATAPLUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ETHERnet:DATAPLUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:DATAPLUSTHRESHold + - BUS:B:ETHERnet:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` is the Ethernet D+ source threshold for the specified bus. + """ + return self._dataplusthreshold + + @property + def ipvfour(self) -> BusBItemEthernetIpvfour: + """Return the ``BUS:B:ETHERnet:IPVFOUR`` command. + + Description: + - This command sets or queries whether IPV4 packets are available for triggering on + Ethernet. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:IPVFOUR?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:IPVFOUR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:IPVFOUR value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:IPVFOUR {YES|NO} + - BUS:B:ETHERnet:IPVFOUR? + ``` + + Info: + - ``B`` is the number of the bus. + - ``YES`` specifies that IPV4 packets are available. + - ``NO`` specifies that IPV4 packets are not available. + """ + return self._ipvfour + + @property + def lowthreshold(self) -> BusBItemEthernetLowthreshold: + """Return the ``BUS:B:ETHERnet:LOWTHRESHold`` command. + + Description: + - This command sets or queries the Ethernet source Low threshold for the specified bus. + This threshold only applies when the Ethernet signal type is differential. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:LOWTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:LOWTHRESHold + - BUS:B:ETHERnet:LOWTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the Ethernet source Low threshold for the specified bus. + """ + return self._lowthreshold + + @property + def qtagging(self) -> BusBItemEthernetQtagging: + """Return the ``BUS:B:ETHERnet:QTAGGING`` command. + + Description: + - This command sets or queries whether Q-Tagging packets are available for triggering on + Ethernet. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:QTAGGING?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:QTAGGING?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:QTAGGING value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:QTAGGING {YES|NO} + - BUS:B:ETHERnet:QTAGGING? + ``` + + Info: + - ``B`` is the number of the bus. + - ``YES`` specifies that Q-Tagging packets are available. + - ``NO`` specifies that Q-Tagging packets are not available. + """ + return self._qtagging + + @property + def signaltype(self) -> BusBItemEthernetSignaltype: + """Return the ``BUS:B:ETHERnet:SIGNALTYpe`` command. + + Description: + - This command sets or queries the Ethernet signal type for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SIGNALTYpe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERnet:SIGNALTYpe value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:ETHERnet:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + return self._signaltype + + @property + def source(self) -> BusBItemEthernetSource: + """Return the ``BUS:B:ETHERnet:SOUrce`` command. + + Description: + - This command sets or queries the Ethernet data (SDATA) source for the specified bus. + This command controls the source channel when the signal type is differential. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ETHERnet:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the Ethernet data source for + differential input. + - ``MATH`` specifies to use a math waveform as the source for Ethernet data + differential input. + - ``REF`` specifies to use one of the reference waveforms as the Ethernet data source + for differential input. + + Sub-properties: + - ``.dminus``: The ``BUS:B:ETHERnet:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:ETHERnet:SOUrce:DPLUs`` command. + """ + return self._source + + @property + def threshold(self) -> BusBItemEthernetThreshold: + """Return the ``BUS:B:ETHERnet:THRESHold`` command. + + Description: + - This command sets or queries the Ethernet DATA source High threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:THRESHold + - BUS:B:ETHERnet:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the Ethernet DATA source High threshold for the specified bus. + """ + return self._threshold + + @property + def type(self) -> BusBItemEthernetType: + """Return the ``BUS:B:ETHERnet:TYPe`` command. + + Description: + - This command specifies the Ethernet standard speed. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERnet:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERnet:TYPe {TENBASET|HUNDREDBASETX} + - BUS:B:ETHERnet:TYPe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``TENBASET`` specifies the Ethernet speed as 10Base-T. + - ``HUNDREDBASETX`` specifies the Ethernet speed as 100Base-T. + """ + return self._type + + +class BusBItemEthercatThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:THRESHold`` command. + + Description: + - This command sets or queries the differential source threshold for the specified EtherCAT + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERCAT:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:THRESHold + - BUS:B:ETHERCAT:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the EtherCAT differential Source threshold for the specified bus. The + default value is 0 V. The valid range is -8 V to +8 V. + """ + + +class BusBItemEthercatSourceDplus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the DataPlus (SDATAPLUS) source for the specified EtherCAT + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DPLUs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DPLUs value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the DataPlus source. + - ``MATH`` specifies to use a math waveform as the DataPlus source. + - ``REF`` specifies to use one of the reference waveforms as the DataPlus source. + """ + + +class BusBItemEthercatSourceDminus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the DataMinus (SDATAMINUS) source for the specified EtherCAT + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DMINus value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the DataMinus source. + - ``MATH`` specifies to use a math waveform as the DataMinus source. + - ``REF`` specifies to use one of the reference waveforms as the DataMinus source. + """ + + +class BusBItemEthercatSourceDiff(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:SOUrce:DIFF`` command. + + Description: + - This command sets or queries the differential source for the specified EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce:DIFF?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DIFF?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DIFF value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SOUrce:DIFF {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DIFF? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the differential source. + - ``MATH`` specifies to use a math waveform as the differential source. + - ``REF`` specifies to use one of the reference waveforms as the differential source. + """ + + +class BusBItemEthercatSource(SCPICmdRead): + """The ``BUS:B:ETHERCAT:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.diff``: The ``BUS:B:ETHERCAT:SOUrce:DIFF`` command. + - ``.dminus``: The ``BUS:B:ETHERCAT:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:ETHERCAT:SOUrce:DPLUs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._diff = BusBItemEthercatSourceDiff(device, f"{self._cmd_syntax}:DIFF") + self._dminus = BusBItemEthercatSourceDminus(device, f"{self._cmd_syntax}:DMINus") + self._dplus = BusBItemEthercatSourceDplus(device, f"{self._cmd_syntax}:DPLUs") + + @property + def diff(self) -> BusBItemEthercatSourceDiff: + """Return the ``BUS:B:ETHERCAT:SOUrce:DIFF`` command. + + Description: + - This command sets or queries the differential source for the specified EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce:DIFF?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DIFF?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:SOUrce:DIFF value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SOUrce:DIFF {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DIFF? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the differential source. + - ``MATH`` specifies to use a math waveform as the differential source. + - ``REF`` specifies to use one of the reference waveforms as the differential source. + """ + return self._diff + + @property + def dminus(self) -> BusBItemEthercatSourceDminus: + """Return the ``BUS:B:ETHERCAT:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the DataMinus (SDATAMINUS) source for the specified + EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce:DMINus?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:SOUrce:DMINus value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DMINus? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the DataMinus source. + - ``MATH`` specifies to use a math waveform as the DataMinus source. + - ``REF`` specifies to use one of the reference waveforms as the DataMinus source. + """ + return self._dminus + + @property + def dplus(self) -> BusBItemEthercatSourceDplus: + """Return the ``BUS:B:ETHERCAT:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the DataPlus (SDATAPLUS) source for the specified + EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce:DPLUs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:SOUrce:DPLUs value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:ETHERCAT:SOUrce:DPLUs? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies to use one of the analog channels as the DataPlus source. + - ``MATH`` specifies to use a math waveform as the DataPlus source. + - ``REF`` specifies to use one of the reference waveforms as the DataPlus source. + """ + return self._dplus + + +class BusBItemEthercatSignaltype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:SIGNALTYpe`` command. + + Description: + - This command sets or queries the signal type for the specified EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SIGNALTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERCAT:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:ETHERCAT:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + + +class BusBItemEthercatDataplusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the DATA Plus source threshold for the specified EtherCAT + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:DATAPLUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:DATAPLUSTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:DATAPLUSTHRESHold + - BUS:B:ETHERCAT:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the EtherCAT DataPinus source threshold for the specified bus. The valid + range is -8V to +8V. The default value is 0 V. + """ + + +class BusBItemEthercatDataminusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ETHERCAT:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the DATA Minus source threshold for the specified EtherCAT + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:DATAMINUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ETHERCAT:DATAMINUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:DATAMINUSTHRESHold + - BUS:B:ETHERCAT:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the EtherCAT DataMinus source threshold for the specified bus. The valid + range is -8V to +8V. The default value is 0 V. + """ + + +class BusBItemEthercat(SCPICmdRead): + """The ``BUS:B:ETHERCAT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.dataminusthreshold``: The ``BUS:B:ETHERCAT:DATAMINUSTHRESHold`` command. + - ``.dataplusthreshold``: The ``BUS:B:ETHERCAT:DATAPLUSTHRESHold`` command. + - ``.signaltype``: The ``BUS:B:ETHERCAT:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:ETHERCAT:SOUrce`` command tree. + - ``.threshold``: The ``BUS:B:ETHERCAT:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dataminusthreshold = BusBItemEthercatDataminusthreshold( + device, f"{self._cmd_syntax}:DATAMINUSTHRESHold" + ) + self._dataplusthreshold = BusBItemEthercatDataplusthreshold( + device, f"{self._cmd_syntax}:DATAPLUSTHRESHold" + ) + self._signaltype = BusBItemEthercatSignaltype(device, f"{self._cmd_syntax}:SIGNALTYpe") + self._source = BusBItemEthercatSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEthercatThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def dataminusthreshold(self) -> BusBItemEthercatDataminusthreshold: + """Return the ``BUS:B:ETHERCAT:DATAMINUSTHRESHold`` command. + + Description: + - This command sets or queries the DATA Minus source threshold for the specified + EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:DATAMINUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ETHERCAT:DATAMINUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:DATAMINUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:DATAMINUSTHRESHold + - BUS:B:ETHERCAT:DATAMINUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the EtherCAT DataMinus source threshold for the specified bus. The valid + range is -8V to +8V. The default value is 0 V. + """ + return self._dataminusthreshold + + @property + def dataplusthreshold(self) -> BusBItemEthercatDataplusthreshold: + """Return the ``BUS:B:ETHERCAT:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the DATA Plus source threshold for the specified EtherCAT + bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:DATAPLUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ETHERCAT:DATAPLUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:DATAPLUSTHRESHold + - BUS:B:ETHERCAT:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the EtherCAT DataPinus source threshold for the specified bus. The valid + range is -8V to +8V. The default value is 0 V. + """ + return self._dataplusthreshold + + @property + def signaltype(self) -> BusBItemEthercatSignaltype: + """Return the ``BUS:B:ETHERCAT:SIGNALTYpe`` command. + + Description: + - This command sets or queries the signal type for the specified EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SIGNALTYpe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ETHERCAT:SIGNALTYpe value`` command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:ETHERCAT:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + return self._signaltype + + @property + def source(self) -> BusBItemEthercatSource: + """Return the ``BUS:B:ETHERCAT:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.diff``: The ``BUS:B:ETHERCAT:SOUrce:DIFF`` command. + - ``.dminus``: The ``BUS:B:ETHERCAT:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:ETHERCAT:SOUrce:DPLUs`` command. + """ + return self._source + + @property + def threshold(self) -> BusBItemEthercatThreshold: + """Return the ``BUS:B:ETHERCAT:THRESHold`` command. + + Description: + - This command sets or queries the differential source threshold for the specified + EtherCAT bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ETHERCAT:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ETHERCAT:THRESHold + - BUS:B:ETHERCAT:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the EtherCAT differential Source threshold for the specified bus. + The default value is 0 V. The valid range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemEspiIomode(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:IOMODe`` command. + + Description: + - This command sets or queries the ESPI Input/Output mode for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:IOMODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:IOMODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:IOMODe value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:IOMODe {SINGle|DUAL} + - BUS:B:ESPI:IOMODe? + ``` + + Info: + - ``B`` is the Bus number. + - ``SINGle`` displays the command and response decode in two lanes. + - ``DUAL`` displays the decode in a single data lane. + """ + + +class BusBItemEspiDatatwoThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:DATATWO:THReshold`` command. + + Description: + - This command sets or queries the response (single mode)/ IO[1] (dual mode) Data source + threshold for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:DATATWO:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATATWO:THReshold + - BUS:B:ESPI:DATATWO:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the command/data threshold for the specified bus. The valid range is -8V to + +8V. + """ + + +class BusBItemEspiDatatwoSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:DATATWO:SOUrce`` command. + + Description: + - This command sets or queries the response (single mode)/ IO[1] (dual mode) Data source for + the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:DATATWO:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATATWO:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:DATATWO:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEspiDatatwoPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:DATATWO:POLarity`` command. + + Description: + - This command sets or queries the ESPI response (single mode)/ IO[1] (dual mode) polarity + for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:DATATWO:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATATWO:POLarity {HIGH|LOW} + - BUS:B:ESPI:DATATWO:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI data polarity to active high. + - ``LOW`` sets the ESPI data polarity to active low. + """ + + +class BusBItemEspiDatatwo(SCPICmdRead): + """The ``BUS:B:ESPI:DATATWO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.polarity``: The ``BUS:B:ESPI:DATATWO:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:DATATWO:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:DATATWO:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemEspiDatatwoPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemEspiDatatwoSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEspiDatatwoThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemEspiDatatwoPolarity: + """Return the ``BUS:B:ESPI:DATATWO:POLarity`` command. + + Description: + - This command sets or queries the ESPI response (single mode)/ IO[1] (dual mode) + polarity for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:DATATWO:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATATWO:POLarity {HIGH|LOW} + - BUS:B:ESPI:DATATWO:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI data polarity to active high. + - ``LOW`` sets the ESPI data polarity to active low. + """ + return self._polarity + + @property + def source(self) -> BusBItemEspiDatatwoSource: + """Return the ``BUS:B:ESPI:DATATWO:SOUrce`` command. + + Description: + - This command sets or queries the response (single mode)/ IO[1] (dual mode) Data source + for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:DATATWO:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATATWO:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:DATATWO:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemEspiDatatwoThreshold: + """Return the ``BUS:B:ESPI:DATATWO:THReshold`` command. + + Description: + - This command sets or queries the response (single mode)/ IO[1] (dual mode) Data source + threshold for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:DATATWO:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATATWO:THReshold + - BUS:B:ESPI:DATATWO:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the command/data threshold for the specified bus. The valid range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemEspiDataoneThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:DATAONE:THReshold`` command. + + Description: + - This command sets or queries the command (single mode)/ IO[0] (dual mode) Data source + threshold for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:DATAONE:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATAONE:THReshold + - BUS:B:ESPI:DATAONE:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the command/data threshold for the specified bus. The valid range is -8V to + +8V. + """ + + +class BusBItemEspiDataoneSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:DATAONE:SOUrce`` command. + + Description: + - This command sets or queries the command (single mode)/ IO[0] (dual mode) Data source for + the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:DATAONE:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATAONE:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:DATAONE:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEspiDataonePolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:DATAONE:POLarity`` command. + + Description: + - This command sets or queries the ESPI command (single mode)/ IO[0] (dual mode) polarity + for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:DATAONE:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATAONE:POLarity {HIGH|LOW} + - BUS:B:ESPI:DATAONE:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI data polarity to active high. + - ``LOW`` sets the ESPI data polarity to active low. + """ + + +class BusBItemEspiDataone(SCPICmdRead): + """The ``BUS:B:ESPI:DATAONE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.polarity``: The ``BUS:B:ESPI:DATAONE:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:DATAONE:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:DATAONE:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemEspiDataonePolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemEspiDataoneSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEspiDataoneThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemEspiDataonePolarity: + """Return the ``BUS:B:ESPI:DATAONE:POLarity`` command. + + Description: + - This command sets or queries the ESPI command (single mode)/ IO[0] (dual mode) + polarity for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:DATAONE:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATAONE:POLarity {HIGH|LOW} + - BUS:B:ESPI:DATAONE:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI data polarity to active high. + - ``LOW`` sets the ESPI data polarity to active low. + """ + return self._polarity + + @property + def source(self) -> BusBItemEspiDataoneSource: + """Return the ``BUS:B:ESPI:DATAONE:SOUrce`` command. + + Description: + - This command sets or queries the command (single mode)/ IO[0] (dual mode) Data source + for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:DATAONE:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATAONE:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:DATAONE:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemEspiDataoneThreshold: + """Return the ``BUS:B:ESPI:DATAONE:THReshold`` command. + + Description: + - This command sets or queries the command (single mode)/ IO[0] (dual mode) Data source + threshold for the specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:DATAONE:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:DATAONE:THReshold + - BUS:B:ESPI:DATAONE:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the command/data threshold for the specified bus. The valid range is + -8V to +8V. + """ + return self._threshold + + +class BusBItemEspiClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the Clock source threshold for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CLOCk:THReshold + - BUS:B:ESPI:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the clock threshold for the specified bus. The valid range is -8V to +8V. + """ + + +class BusBItemEspiClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the Clock source for the specified bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:CLOCk:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEspiClockPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:CLOCk:POLarity`` command. + + Description: + - This command sets or queries the ESPI Clock (SCLK) source polarity for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:CLOCk:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CLOCk:POLarity {FALL|RISE} + - BUS:B:ESPI:CLOCk:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``FALL`` sets the ESPI clock polarity to fall. + - ``RISE`` sets the ESPI clock polarity to rise. + """ + + +class BusBItemEspiClock(SCPICmdRead): + """The ``BUS:B:ESPI:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.polarity``: The ``BUS:B:ESPI:CLOCk:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemEspiClockPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemEspiClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEspiClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemEspiClockPolarity: + """Return the ``BUS:B:ESPI:CLOCk:POLarity`` command. + + Description: + - This command sets or queries the ESPI Clock (SCLK) source polarity for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CLOCk:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CLOCk:POLarity {FALL|RISE} + - BUS:B:ESPI:CLOCk:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``FALL`` sets the ESPI clock polarity to fall. + - ``RISE`` sets the ESPI clock polarity to rise. + """ + return self._polarity + + @property + def source(self) -> BusBItemEspiClockSource: + """Return the ``BUS:B:ESPI:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the Clock source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:CLOCk:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemEspiClockThreshold: + """Return the ``BUS:B:ESPI:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the Clock source threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CLOCk:THReshold + - BUS:B:ESPI:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the clock threshold for the specified bus. The valid range is -8V to + +8V. + """ + return self._threshold + + +class BusBItemEspiChipselectThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:CHIPSELect:THReshold`` command. + + Description: + - This command sets or queries the chip select source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CHIPSELect:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CHIPSELect:THReshold + - BUS:B:ESPI:CHIPSELect:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the chip select threshold for the specified bus. The valid range is -8V to + +8V. + """ + + +class BusBItemEspiChipselectSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:CHIPSELect:SOUrce`` command. + + Description: + - This command sets or queries the chip select source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CHIPSELect:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:CHIPSELect:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CHIPSELect:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:CHIPSELect:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEspiChipselectPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:CHIPSELect:POLarity`` command. + + Description: + - This command sets or queries the ESPI chip select polarity for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CHIPSELect:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CHIPSELect:POLarity {HIGH|LOW} + - BUS:B:ESPI:CHIPSELect:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI chip select polarity to active high. + - ``LOW`` sets the ESPI chip select polarity to active low. + """ + + +class BusBItemEspiChipselect(SCPICmdRead): + """The ``BUS:B:ESPI:CHIPSELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CHIPSELect?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.polarity``: The ``BUS:B:ESPI:CHIPSELect:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:CHIPSELect:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:CHIPSELect:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemEspiChipselectPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemEspiChipselectSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEspiChipselectThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemEspiChipselectPolarity: + """Return the ``BUS:B:ESPI:CHIPSELect:POLarity`` command. + + Description: + - This command sets or queries the ESPI chip select polarity for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CHIPSELect:POLarity {HIGH|LOW} + - BUS:B:ESPI:CHIPSELect:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI chip select polarity to active high. + - ``LOW`` sets the ESPI chip select polarity to active low. + """ + return self._polarity + + @property + def source(self) -> BusBItemEspiChipselectSource: + """Return the ``BUS:B:ESPI:CHIPSELect:SOUrce`` command. + + Description: + - This command sets or queries the chip select source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CHIPSELect:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CHIPSELect:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:CHIPSELect:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemEspiChipselectThreshold: + """Return the ``BUS:B:ESPI:CHIPSELect:THReshold`` command. + + Description: + - This command sets or queries the chip select source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:CHIPSELect:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:CHIPSELect:THReshold + - BUS:B:ESPI:CHIPSELect:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the chip select threshold for the specified bus. The valid range is -8V + to +8V. + """ + return self._threshold + + +class BusBItemEspiAlertThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:ALERt:THReshold`` command. + + Description: + - This command sets or queries the alert source threshold for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:ALERt:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERt:THReshold + - BUS:B:ESPI:ALERt:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the alert threshold for the specified bus. The valid range is -8V to +8V. + """ + + +class BusBItemEspiAlertSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:ALERt:SOUrce`` command. + + Description: + - This command sets or queries the alert source for the specified bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:ALERt:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERt:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:ALERt:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemEspiAlertPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:ALERt:POLarity`` command. + + Description: + - This command sets or queries the ESPI alert polarity for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:ALERt:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERt:POLarity {HIGH|LOW} + - BUS:B:ESPI:ALERt:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI alert polarity to active high. + - ``LOW`` sets the ESPI alert polarity to active low. + """ + + +class BusBItemEspiAlert(SCPICmdRead): + """The ``BUS:B:ESPI:ALERt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.polarity``: The ``BUS:B:ESPI:ALERt:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:ALERt:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:ALERt:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemEspiAlertPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemEspiAlertSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemEspiAlertThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemEspiAlertPolarity: + """Return the ``BUS:B:ESPI:ALERt:POLarity`` command. + + Description: + - This command sets or queries the ESPI alert polarity for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:ALERt:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERt:POLarity {HIGH|LOW} + - BUS:B:ESPI:ALERt:POLarity? + ``` + + Info: + - ``B`` is the Bus number. + - ``HIGH`` sets the ESPI alert polarity to active high. + - ``LOW`` sets the ESPI alert polarity to active low. + """ + return self._polarity + + @property + def source(self) -> BusBItemEspiAlertSource: + """Return the ``BUS:B:ESPI:ALERt:SOUrce`` command. + + Description: + - This command sets or queries the alert source for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:ALERt:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERt:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:ESPI:ALERt:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemEspiAlertThreshold: + """Return the ``BUS:B:ESPI:ALERt:THReshold`` command. + + Description: + - This command sets or queries the alert source threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ESPI:ALERt:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERt:THReshold + - BUS:B:ESPI:ALERt:THReshold? + ``` + + Info: + - ``B`` is the Bus number. + - ```` sets the alert threshold for the specified bus. The valid range is -8V to + +8V. + """ + return self._threshold + + +class BusBItemEspiAlertview(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ESPI:ALERTVIEW`` command. + + Description: + - This command sets or queries the ESPI alert view for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERTVIEW?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERTVIEW?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:ALERTVIEW value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERTVIEW {ON|OFF} + - BUS:B:ESPI:ALERTVIEW? + ``` + + Info: + - ``B`` is the Bus number. + - ``ON`` turns the alert source on. + - ``OFF`` turns the alert source on. + """ + + +class BusBItemEspi(SCPICmdRead): + """The ``BUS:B:ESPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.alertview``: The ``BUS:B:ESPI:ALERTVIEW`` command. + - ``.alert``: The ``BUS:B:ESPI:ALERt`` command tree. + - ``.chipselect``: The ``BUS:B:ESPI:CHIPSELect`` command tree. + - ``.clock``: The ``BUS:B:ESPI:CLOCk`` command tree. + - ``.dataone``: The ``BUS:B:ESPI:DATAONE`` command tree. + - ``.datatwo``: The ``BUS:B:ESPI:DATATWO`` command tree. + - ``.iomode``: The ``BUS:B:ESPI:IOMODe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._alertview = BusBItemEspiAlertview(device, f"{self._cmd_syntax}:ALERTVIEW") + self._alert = BusBItemEspiAlert(device, f"{self._cmd_syntax}:ALERt") + self._chipselect = BusBItemEspiChipselect(device, f"{self._cmd_syntax}:CHIPSELect") + self._clock = BusBItemEspiClock(device, f"{self._cmd_syntax}:CLOCk") + self._dataone = BusBItemEspiDataone(device, f"{self._cmd_syntax}:DATAONE") + self._datatwo = BusBItemEspiDatatwo(device, f"{self._cmd_syntax}:DATATWO") + self._iomode = BusBItemEspiIomode(device, f"{self._cmd_syntax}:IOMODe") + + @property + def alertview(self) -> BusBItemEspiAlertview: + """Return the ``BUS:B:ESPI:ALERTVIEW`` command. + + Description: + - This command sets or queries the ESPI alert view for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERTVIEW?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERTVIEW?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:ALERTVIEW value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:ALERTVIEW {ON|OFF} + - BUS:B:ESPI:ALERTVIEW? + ``` + + Info: + - ``B`` is the Bus number. + - ``ON`` turns the alert source on. + - ``OFF`` turns the alert source on. + """ + return self._alertview + + @property + def alert(self) -> BusBItemEspiAlert: + """Return the ``BUS:B:ESPI:ALERt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:ALERt?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:ALERt?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.polarity``: The ``BUS:B:ESPI:ALERt:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:ALERt:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:ALERt:THReshold`` command. + """ + return self._alert + + @property + def chipselect(self) -> BusBItemEspiChipselect: + """Return the ``BUS:B:ESPI:CHIPSELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CHIPSELect?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CHIPSELect?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.polarity``: The ``BUS:B:ESPI:CHIPSELect:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:CHIPSELect:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:CHIPSELect:THReshold`` command. + """ + return self._chipselect + + @property + def clock(self) -> BusBItemEspiClock: + """Return the ``BUS:B:ESPI:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.polarity``: The ``BUS:B:ESPI:CLOCk:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def dataone(self) -> BusBItemEspiDataone: + """Return the ``BUS:B:ESPI:DATAONE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATAONE?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATAONE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.polarity``: The ``BUS:B:ESPI:DATAONE:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:DATAONE:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:DATAONE:THReshold`` command. + """ + return self._dataone + + @property + def datatwo(self) -> BusBItemEspiDatatwo: + """Return the ``BUS:B:ESPI:DATATWO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:DATATWO?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:DATATWO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.polarity``: The ``BUS:B:ESPI:DATATWO:POLarity`` command. + - ``.source``: The ``BUS:B:ESPI:DATATWO:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ESPI:DATATWO:THReshold`` command. + """ + return self._datatwo + + @property + def iomode(self) -> BusBItemEspiIomode: + """Return the ``BUS:B:ESPI:IOMODe`` command. + + Description: + - This command sets or queries the ESPI Input/Output mode for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI:IOMODe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI:IOMODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ESPI:IOMODe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ESPI:IOMODe {SINGle|DUAL} + - BUS:B:ESPI:IOMODe? + ``` + + Info: + - ``B`` is the Bus number. + - ``SINGle`` displays the command and response decode in two lanes. + - ``DUAL`` displays the decode in a single data lane. + """ + return self._iomode + + +class BusBItemDphySignalEncoding(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:SIGNal:ENCoding`` command. + + Description: + - This command sets or queries the 8b9b encoding for DPHY bus decode. By default 8b9b + encoding is set to false. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:SIGNal:ENCoding?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:SIGNal:ENCoding?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:SIGNal:ENCoding value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:SIGNal:ENCoding {false|true} + - BUS:B:DPHY:SIGNal:ENCoding? + ``` + + Info: + - ``B`` is the Bus number. + - ``false`` specifies the 8b9b encoding disabled. + - ``true`` specifies 8b9b encoding disabled. + """ + + +class BusBItemDphySignal(SCPICmdRead): + """The ``BUS:B:DPHY:SIGNal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:SIGNal?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:SIGNal?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.encoding``: The ``BUS:B:DPHY:SIGNal:ENCoding`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._encoding = BusBItemDphySignalEncoding(device, f"{self._cmd_syntax}:ENCoding") + + @property + def encoding(self) -> BusBItemDphySignalEncoding: + """Return the ``BUS:B:DPHY:SIGNal:ENCoding`` command. + + Description: + - This command sets or queries the 8b9b encoding for DPHY bus decode. By default 8b9b + encoding is set to false. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:SIGNal:ENCoding?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:SIGNal:ENCoding?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:SIGNal:ENCoding value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:SIGNal:ENCoding {false|true} + - BUS:B:DPHY:SIGNal:ENCoding? + ``` + + Info: + - ``B`` is the Bus number. + - ``false`` specifies the 8b9b encoding disabled. + - ``true`` specifies 8b9b encoding disabled. + """ + return self._encoding + + +class BusBItemDphyProtocolType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:PROTocol:TYPe`` command. + + Description: + - This command sets or queries the protocol type for DPHY bus decode. The default type is + CSI. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:PROTocol:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:PROTocol:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:PROTocol:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:PROTocol:TYPe {CSI|DSI} + - BUS:B:DPHY:PROTocol:TYPe? + ``` + + Info: + - ``B`` is the Bus number. + - ``CSI`` specifies the protocol type as CSI. + - ``DSI`` specifies the protocol type as DSI. + """ + + +class BusBItemDphyProtocol(SCPICmdRead): + """The ``BUS:B:DPHY:PROTocol`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:PROTocol?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:PROTocol?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.type``: The ``BUS:B:DPHY:PROTocol:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = BusBItemDphyProtocolType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> BusBItemDphyProtocolType: + """Return the ``BUS:B:DPHY:PROTocol:TYPe`` command. + + Description: + - This command sets or queries the protocol type for DPHY bus decode. The default type + is CSI. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:PROTocol:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:PROTocol:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:PROTocol:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:PROTocol:TYPe {CSI|DSI} + - BUS:B:DPHY:PROTocol:TYPe? + ``` + + Info: + - ``B`` is the Bus number. + - ``CSI`` specifies the protocol type as CSI. + - ``DSI`` specifies the protocol type as DSI. + """ + return self._type + + +class BusBItemDphyLpDirection(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:LP:DIRection`` command. + + Description: + - This command sets or queries the DPHY bus direction in low power. By default lp direction + is set to forward. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:LP:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:LP:DIRection?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:LP:DIRection value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:LP:DIRection {forward|reverse} + - BUS:B:DPHY:LP:DIRection? + ``` + + Info: + - ``B`` is the Bus number. + - ``forward`` specifies the direction as forward. + - ``reverse`` specifies the direction as reverse. + """ + + +class BusBItemDphyLp(SCPICmdRead): + """The ``BUS:B:DPHY:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:LP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.direction``: The ``BUS:B:DPHY:LP:DIRection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = BusBItemDphyLpDirection(device, f"{self._cmd_syntax}:DIRection") + + @property + def direction(self) -> BusBItemDphyLpDirection: + """Return the ``BUS:B:DPHY:LP:DIRection`` command. + + Description: + - This command sets or queries the DPHY bus direction in low power. By default lp + direction is set to forward. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:LP:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:LP:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:LP:DIRection value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:LP:DIRection {forward|reverse} + - BUS:B:DPHY:LP:DIRection? + ``` + + Info: + - ``B`` is the Bus number. + - ``forward`` specifies the direction as forward. + - ``reverse`` specifies the direction as reverse. + """ + return self._direction + + +class BusBItemDphyDplusSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:DPlus:SOUrce`` command. + + Description: + - This command sets or queries the DPHY D+ source for the specified bus line. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:DPlus:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DPlus:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:DPlus:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform number. + - ``REF`` specifies a reference waveform as the source, where is the reference + waveform number. + """ + + +class BusBItemDphyDplusLpthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:DPlus:LPTHRESHold`` command. + + Description: + - This command sets or queries the DPHY D+ source low power threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus:LPTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus:LPTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:DPlus:LPTHRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DPlus:LPTHRESHold + - BUS:B:DPHY:DPlus:LPTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D+ source low power threshold for the specified bus. The argument + range is -8V to +8V. + """ + + +class BusBItemDphyDplusDatathreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:DPlus:DATATHRESHold`` command. + + Description: + - This command sets or queries the D+ source data threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus:DATATHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus:DATATHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DPlus:DATATHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DPlus:DATATHRESHold + - BUS:B:DPHY:DPlus:DATATHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D+ source data threshold for the specified bus. The argument range + is -8V to +8V. + """ + + +class BusBItemDphyDplus(SCPICmdRead): + """The ``BUS:B:DPHY:DPlus`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.datathreshold``: The ``BUS:B:DPHY:DPlus:DATATHRESHold`` command. + - ``.lpthreshold``: The ``BUS:B:DPHY:DPlus:LPTHRESHold`` command. + - ``.source``: The ``BUS:B:DPHY:DPlus:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._datathreshold = BusBItemDphyDplusDatathreshold( + device, f"{self._cmd_syntax}:DATATHRESHold" + ) + self._lpthreshold = BusBItemDphyDplusLpthreshold(device, f"{self._cmd_syntax}:LPTHRESHold") + self._source = BusBItemDphyDplusSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def datathreshold(self) -> BusBItemDphyDplusDatathreshold: + """Return the ``BUS:B:DPHY:DPlus:DATATHRESHold`` command. + + Description: + - This command sets or queries the D+ source data threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus:DATATHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:DPHY:DPlus:DATATHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DPlus:DATATHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DPlus:DATATHRESHold + - BUS:B:DPHY:DPlus:DATATHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D+ source data threshold for the specified bus. The argument + range is -8V to +8V. + """ + return self._datathreshold + + @property + def lpthreshold(self) -> BusBItemDphyDplusLpthreshold: + """Return the ``BUS:B:DPHY:DPlus:LPTHRESHold`` command. + + Description: + - This command sets or queries the DPHY D+ source low power threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus:LPTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus:LPTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DPlus:LPTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DPlus:LPTHRESHold + - BUS:B:DPHY:DPlus:LPTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D+ source low power threshold for the specified bus. The + argument range is -8V to +8V. + """ + return self._lpthreshold + + @property + def source(self) -> BusBItemDphyDplusSource: + """Return the ``BUS:B:DPHY:DPlus:SOUrce`` command. + + Description: + - This command sets or queries the DPHY D+ source for the specified bus line. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:DPlus:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DPlus:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:DPlus:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform + number. + - ``REF`` specifies a reference waveform as the source, where is the reference + waveform number. + """ + return self._source + + +class BusBItemDphyDminusSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:DMINus:SOUrce`` command. + + Description: + - This command sets or queries the DPHY D- source for the specified bus line. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DMINus:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:DMINus:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DMINus:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:DMINus:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform number. + - ``REF`` specifies a reference waveform as the source, where is the reference + waveform number. + """ + + +class BusBItemDphyDminusLpthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:DMINus:LPTHRESHold`` command. + + Description: + - This command sets or queries the DPHY D- source low power threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus:LPTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DMINus:LPTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DMINus:LPTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DMINus:LPTHRESHold + - BUS:B:DPHY:DMINus:LPTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D- source low power threshold for the specified bus. The argument + range is -8V to +8V. + """ + + +class BusBItemDphyDminusDatathreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:DMINus:DATATHRESHold`` command. + + Description: + - This command sets or queries the DPHY D- source data threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus:DATATHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DMINus:DATATHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DMINus:DATATHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DMINus:DATATHRESHold + - BUS:B:DPHY:DMINus:DATATHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D- source data threshold for the specified bus. The argument range + is -8V to +8V. + """ + + +class BusBItemDphyDminus(SCPICmdRead): + """The ``BUS:B:DPHY:DMINus`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DMINus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.datathreshold``: The ``BUS:B:DPHY:DMINus:DATATHRESHold`` command. + - ``.lpthreshold``: The ``BUS:B:DPHY:DMINus:LPTHRESHold`` command. + - ``.source``: The ``BUS:B:DPHY:DMINus:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._datathreshold = BusBItemDphyDminusDatathreshold( + device, f"{self._cmd_syntax}:DATATHRESHold" + ) + self._lpthreshold = BusBItemDphyDminusLpthreshold(device, f"{self._cmd_syntax}:LPTHRESHold") + self._source = BusBItemDphyDminusSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def datathreshold(self) -> BusBItemDphyDminusDatathreshold: + """Return the ``BUS:B:DPHY:DMINus:DATATHRESHold`` command. + + Description: + - This command sets or queries the DPHY D- source data threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus:DATATHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:DPHY:DMINus:DATATHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DMINus:DATATHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DMINus:DATATHRESHold + - BUS:B:DPHY:DMINus:DATATHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D- source data threshold for the specified bus. The argument + range is -8V to +8V. + """ + return self._datathreshold + + @property + def lpthreshold(self) -> BusBItemDphyDminusLpthreshold: + """Return the ``BUS:B:DPHY:DMINus:LPTHRESHold`` command. + + Description: + - This command sets or queries the DPHY D- source low power threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus:LPTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:DPHY:DMINus:LPTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:DMINus:LPTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DMINus:LPTHRESHold + - BUS:B:DPHY:DMINus:LPTHRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY D- source low power threshold for the specified bus. The + argument range is -8V to +8V. + """ + return self._lpthreshold + + @property + def source(self) -> BusBItemDphyDminusSource: + """Return the ``BUS:B:DPHY:DMINus:SOUrce`` command. + + Description: + - This command sets or queries the DPHY D- source for the specified bus line. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DMINus:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:DMINus:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:DMINus:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:DMINus:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform + number. + - ``REF`` specifies a reference waveform as the source, where is the reference + waveform number. + """ + return self._source + + +class BusBItemDphyClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:CLOCk:THRESHold`` command. + + Description: + - This command sets or queries the DPHY Clock source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:CLOCk:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:CLOCk:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:CLOCk:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:CLOCk:THRESHold + - BUS:B:DPHY:CLOCk:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY clock high threshold for the specified bus. The argument range is + -8V to +8V. + """ + + +class BusBItemDphyClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DPHY:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the DPHY Clock source for the specified bus line. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:CLOCk:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform number. + - ``REF`` specifies a reference waveform as the source, where is the reference + waveform number. + """ + + +class BusBItemDphyClock(SCPICmdRead): + """The ``BUS:B:DPHY:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:CLOCk?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``BUS:B:DPHY:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:DPHY:CLOCk:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemDphyClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemDphyClockThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def source(self) -> BusBItemDphyClockSource: + """Return the ``BUS:B:DPHY:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the DPHY Clock source for the specified bus line. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DPHY:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:CLOCk:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:DPHY:CLOCk:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform + number. + - ``REF`` specifies a reference waveform as the source, where is the reference + waveform number. + """ + return self._source + + @property + def threshold(self) -> BusBItemDphyClockThreshold: + """Return the ``BUS:B:DPHY:CLOCk:THRESHold`` command. + + Description: + - This command sets or queries the DPHY Clock source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:CLOCk:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:CLOCk:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:DPHY:CLOCk:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:DPHY:CLOCk:THRESHold + - BUS:B:DPHY:CLOCk:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the DPHY clock high threshold for the specified bus. The argument range + is -8V to +8V. + """ + return self._threshold + + +class BusBItemDphy(SCPICmdRead): + """The ``BUS:B:DPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.clock``: The ``BUS:B:DPHY:CLOCk`` command tree. + - ``.dminus``: The ``BUS:B:DPHY:DMINus`` command tree. + - ``.dplus``: The ``BUS:B:DPHY:DPlus`` command tree. + - ``.lp``: The ``BUS:B:DPHY:LP`` command tree. + - ``.protocol``: The ``BUS:B:DPHY:PROTocol`` command tree. + - ``.signal``: The ``BUS:B:DPHY:SIGNal`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = BusBItemDphyClock(device, f"{self._cmd_syntax}:CLOCk") + self._dminus = BusBItemDphyDminus(device, f"{self._cmd_syntax}:DMINus") + self._dplus = BusBItemDphyDplus(device, f"{self._cmd_syntax}:DPlus") + self._lp = BusBItemDphyLp(device, f"{self._cmd_syntax}:LP") + self._protocol = BusBItemDphyProtocol(device, f"{self._cmd_syntax}:PROTocol") + self._signal = BusBItemDphySignal(device, f"{self._cmd_syntax}:SIGNal") + + @property + def clock(self) -> BusBItemDphyClock: + """Return the ``BUS:B:DPHY:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``BUS:B:DPHY:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:DPHY:CLOCk:THRESHold`` command. + """ + return self._clock + + @property + def dminus(self) -> BusBItemDphyDminus: + """Return the ``BUS:B:DPHY:DMINus`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DMINus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.datathreshold``: The ``BUS:B:DPHY:DMINus:DATATHRESHold`` command. + - ``.lpthreshold``: The ``BUS:B:DPHY:DMINus:LPTHRESHold`` command. + - ``.source``: The ``BUS:B:DPHY:DMINus:SOUrce`` command. + """ + return self._dminus + + @property + def dplus(self) -> BusBItemDphyDplus: + """Return the ``BUS:B:DPHY:DPlus`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:DPlus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:DPlus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.datathreshold``: The ``BUS:B:DPHY:DPlus:DATATHRESHold`` command. + - ``.lpthreshold``: The ``BUS:B:DPHY:DPlus:LPTHRESHold`` command. + - ``.source``: The ``BUS:B:DPHY:DPlus:SOUrce`` command. + """ + return self._dplus + + @property + def lp(self) -> BusBItemDphyLp: + """Return the ``BUS:B:DPHY:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:LP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.direction``: The ``BUS:B:DPHY:LP:DIRection`` command. + """ + return self._lp + + @property + def protocol(self) -> BusBItemDphyProtocol: + """Return the ``BUS:B:DPHY:PROTocol`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:PROTocol?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:PROTocol?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.type``: The ``BUS:B:DPHY:PROTocol:TYPe`` command. + """ + return self._protocol + + @property + def signal(self) -> BusBItemDphySignal: + """Return the ``BUS:B:DPHY:SIGNal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY:SIGNal?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY:SIGNal?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.encoding``: The ``BUS:B:DPHY:SIGNal:ENCoding`` command. + """ + return self._signal + + +class BusBItemDisplayLayout(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DISplay:LAYout`` command. + + Description: + - This command sets or queries what to display for the specified bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DISplay:LAYout?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DISplay:LAYout?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DISplay:LAYout value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DISplay:LAYout {BUS|BUSANDWAVEFORM} + - BUS:B:DISplay:LAYout? + ``` + + Info: + - ``B`` is the number of the bus. + - ``BUS`` specifies displaying the bus form only. + - ``BUSANDWAVEFORM`` specifies displaying the bus form and the constituent source + waveform(s). This argument is not available for some bus types and some bus + configurations. + """ + + +class BusBItemDisplayFormat(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:DISplay:FORMat`` command. + + Description: + - This command sets or queries how the data is represented in the bus form for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DISplay:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DISplay:FORMat?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DISplay:FORMat value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DISplay:FORMat {HEX|BINARY|MIXEDASCII|MIXEDHEX|ASCII|DECIMAL|MIXED} + - BUS:B:DISplay:FORMat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``HEX`` specifies hexadecimal format. + - ``BINARY`` specifies binary format. + - ``MIXEDASCII`` specifies mixed ASCII format. + - ``MIXEDHEX`` specifies mixed hexadecimal format. + - ``ASCII`` specifies ASCII format. + - ``DECIMAL`` specifies decimal format. + - ``MIXED`` specifies mixed format. + """ + + +class BusBItemDisplay(SCPICmdRead): + """The ``BUS:B:DISplay`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.format``: The ``BUS:B:DISplay:FORMat`` command. + - ``.layout``: The ``BUS:B:DISplay:LAYout`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = BusBItemDisplayFormat(device, f"{self._cmd_syntax}:FORMat") + self._layout = BusBItemDisplayLayout(device, f"{self._cmd_syntax}:LAYout") + + @property + def format(self) -> BusBItemDisplayFormat: + """Return the ``BUS:B:DISplay:FORMat`` command. + + Description: + - This command sets or queries how the data is represented in the bus form for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DISplay:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DISplay:FORMat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DISplay:FORMat value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DISplay:FORMat {HEX|BINARY|MIXEDASCII|MIXEDHEX|ASCII|DECIMAL|MIXED} + - BUS:B:DISplay:FORMat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``HEX`` specifies hexadecimal format. + - ``BINARY`` specifies binary format. + - ``MIXEDASCII`` specifies mixed ASCII format. + - ``MIXEDHEX`` specifies mixed hexadecimal format. + - ``ASCII`` specifies ASCII format. + - ``DECIMAL`` specifies decimal format. + - ``MIXED`` specifies mixed format. + """ + return self._format + + @property + def layout(self) -> BusBItemDisplayLayout: + """Return the ``BUS:B:DISplay:LAYout`` command. + + Description: + - This command sets or queries what to display for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DISplay:LAYout?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DISplay:LAYout?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:DISplay:LAYout value`` + command. + + SCPI Syntax: + ``` + - BUS:B:DISplay:LAYout {BUS|BUSANDWAVEFORM} + - BUS:B:DISplay:LAYout? + ``` + + Info: + - ``B`` is the number of the bus. + - ``BUS`` specifies displaying the bus form only. + - ``BUSANDWAVEFORM`` specifies displaying the bus form and the constituent source + waveform(s). This argument is not available for some bus types and some bus + configurations. + """ + return self._layout + + +class BusBItemCxpiSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CXPI:SOUrce`` command. + + Description: + - This command sets or queries the source channel for the specified CXPI bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CXPI:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:CXPI:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CXPI:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform number. + - ``REF`` specifies a digital reference waveform as the source, where is the + reference waveform number. + """ + + +class BusBItemCxpiRecThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CXPI:REC:THReshold`` command. + + Description: + - This command sets or queries the source channel recessive threshold for the specified CXPI + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:REC:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:REC:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CXPI:REC:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CXPI:REC:THReshold + - BUS:B:CXPI:REC:THReshold? + ``` + + Info: + - ```` sets the CXPI Source recessive threshold for the specified bus. The default + value is 0 V and the valid range is -12 V to +12 V. + """ + + +class BusBItemCxpiRec(SCPICmdRead): + """The ``BUS:B:CXPI:REC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:REC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:REC?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.threshold``: The ``BUS:B:CXPI:REC:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemCxpiRecThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def threshold(self) -> BusBItemCxpiRecThreshold: + """Return the ``BUS:B:CXPI:REC:THReshold`` command. + + Description: + - This command sets or queries the source channel recessive threshold for the specified + CXPI bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:REC:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:REC:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CXPI:REC:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CXPI:REC:THReshold + - BUS:B:CXPI:REC:THReshold? + ``` + + Info: + - ```` sets the CXPI Source recessive threshold for the specified bus. The default + value is 0 V and the valid range is -12 V to +12 V. + """ + return self._threshold + + +class BusBItemCxpiBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CXPI:BITRate`` command. + + Description: + - This command sets or queries the bit rate for the specified CXPI bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CXPI:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:CXPI:BITRate + - BUS:B:CXPI:BITRate? + ``` + + Info: + - ```` sets the CXPI Source bit rate for the specified bus. The default value is 19.2 + kbps and the valid range is 1 bps to 20 kbps. + """ + + +class BusBItemCxpi(SCPICmdRead): + """The ``BUS:B:CXPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bitrate``: The ``BUS:B:CXPI:BITRate`` command. + - ``.rec``: The ``BUS:B:CXPI:REC`` command tree. + - ``.source``: The ``BUS:B:CXPI:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemCxpiBitrate(device, f"{self._cmd_syntax}:BITRate") + self._rec = BusBItemCxpiRec(device, f"{self._cmd_syntax}:REC") + self._source = BusBItemCxpiSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def bitrate(self) -> BusBItemCxpiBitrate: + """Return the ``BUS:B:CXPI:BITRate`` command. + + Description: + - This command sets or queries the bit rate for the specified CXPI bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CXPI:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CXPI:BITRate + - BUS:B:CXPI:BITRate? + ``` + + Info: + - ```` sets the CXPI Source bit rate for the specified bus. The default value is + 19.2 kbps and the valid range is 1 bps to 20 kbps. + """ + return self._bitrate + + @property + def rec(self) -> BusBItemCxpiRec: + """Return the ``BUS:B:CXPI:REC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:REC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:REC?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``BUS:B:CXPI:REC:THReshold`` command. + """ + return self._rec + + @property + def source(self) -> BusBItemCxpiSource: + """Return the ``BUS:B:CXPI:SOUrce`` command. + + Description: + - This command sets or queries the source channel for the specified CXPI bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CXPI:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CXPI:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CXPI:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source, where is the channel number. + - ``MATH`` specifies a math channel as the source, where is the math waveform + number. + - ``REF`` specifies a digital reference waveform as the source, where is the + reference waveform number. + """ + return self._source + + +class BusBItemCphySubtype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:SUBTYPe`` command. + + Description: + - This command sets or queries the sub type for CPHY bus decode. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:SUBTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:SUBTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:SUBTYPe value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:SUBTYPe {CSI|DSI|Word|Symbol} + - BUS:B:CPHY:SUBTYPe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``CSI`` specifies the protocol type to CSI. The default type is CSI. + - ``DSI`` specifies the protocol type to DSI. + - ``Word`` specifies the protocol type to word. + - ``Symbol`` specifies the protocol type to symbol. + """ + + +class BusBItemCphySignaltype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:SIGNALTYpe`` command. + + Description: + - This command sets or queries the signal type for CPHY bus decode. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:SIGNALTYpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:CPHY:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SINGLE`` specifies the signal type to single ended. + - ``DIFF`` specifies the signal type to differential. The default type is differential. + """ + + +class BusBItemCphyLpDirection(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:LP:DIRection`` command. + + Description: + - This command sets or queries the CPHY bus direction in low power. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:LP:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:LP:DIRection?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:LP:DIRection value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:LP:DIRection {forward|reverse} + - BUS:B:CPHY:LP:DIRection? + ``` + + Info: + - ``B`` is the number of the bus. + - ``forward`` specifies the direction in low power to forward. The default direction is + forward. + - ``reverse`` specifies the direction in low power to reverse. + """ + + +class BusBItemCphyLp(SCPICmdRead): + """The ``BUS:B:CPHY:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:LP?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.direction``: The ``BUS:B:CPHY:LP:DIRection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = BusBItemCphyLpDirection(device, f"{self._cmd_syntax}:DIRection") + + @property + def direction(self) -> BusBItemCphyLpDirection: + """Return the ``BUS:B:CPHY:LP:DIRection`` command. + + Description: + - This command sets or queries the CPHY bus direction in low power. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:LP:DIRection?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:LP:DIRection?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:LP:DIRection value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:LP:DIRection {forward|reverse} + - BUS:B:CPHY:LP:DIRection? + ``` + + Info: + - ``B`` is the number of the bus. + - ``forward`` specifies the direction in low power to forward. The default direction is + forward. + - ``reverse`` specifies the direction in low power to reverse. + """ + return self._direction + + +class BusBItemCphyCgndThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:CGND:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential CGND source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CGND:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CGND:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CGND:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CGND:THReshold + - BUS:B:CPHY:CGND:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential C GND threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + + +class BusBItemCphyCgndSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:CGND:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential CGND source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CGND:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CGND:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CGND:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CGND:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:CGND:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + + +class BusBItemCphyCgnd(SCPICmdRead): + """The ``BUS:B:CPHY:CGND`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CGND?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CGND?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:CPHY:CGND:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:CGND:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemCphyCgndSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemCphyCgndThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemCphyCgndSource: + """Return the ``BUS:B:CPHY:CGND:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential CGND source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CGND:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CGND:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CGND:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CGND:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:CGND:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemCphyCgndThreshold: + """Return the ``BUS:B:CPHY:CGND:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential CGND source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CGND:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CGND:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:CGND:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CGND:THReshold + - BUS:B:CPHY:CGND:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential C GND threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyCaThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:CA:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential CA source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CA:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CA:THReshold + - BUS:B:CPHY:CA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential CA threshold for the specified bus. The argument range + is -8 V to +8 V. + """ + + +class BusBItemCphyCaSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:CA:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential CA source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CA:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:CA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + + +class BusBItemCphyCa(SCPICmdRead): + """The ``BUS:B:CPHY:CA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CA?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:CPHY:CA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:CA:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemCphyCaSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemCphyCaThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemCphyCaSource: + """Return the ``BUS:B:CPHY:CA:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential CA source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CA:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CA:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CA:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CA:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:CA:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemCphyCaThreshold: + """Return the ``BUS:B:CPHY:CA:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential CA source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CA:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CA:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:CA:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:CA:THReshold + - BUS:B:CPHY:CA:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential CA threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyCSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:C:SOUrce`` command. + + Description: + - This command sets or queries the CPHY Single Ended C source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:C:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:C:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:C:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog reference waveform as the source. + """ + + +class BusBItemCphyCLpThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:C:LP:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended C LP threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:LP:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:LP:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:C:LP:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:C:LP:THRESHold + - BUS:B:CPHY:C:LP:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended C LP threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + + +class BusBItemCphyCLp(SCPICmdRead): + """The ``BUS:B:CPHY:C:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:LP?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:CPHY:C:LP:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemCphyCLpThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def threshold(self) -> BusBItemCphyCLpThreshold: + """Return the ``BUS:B:CPHY:C:LP:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended C LP threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:LP:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:LP:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:C:LP:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:C:LP:THRESHold + - BUS:B:CPHY:C:LP:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended C LP threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyCDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:C:DATA:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended C source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:DATA:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:C:DATA:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:C:DATA:THRESHold + - BUS:B:CPHY:C:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended C threshold for the specified bus. The argument range + is -8 V to +8 V. + """ + + +class BusBItemCphyCData(SCPICmdRead): + """The ``BUS:B:CPHY:C:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:CPHY:C:DATA:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemCphyCDataThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def threshold(self) -> BusBItemCphyCDataThreshold: + """Return the ``BUS:B:CPHY:C:DATA:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended C source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:DATA:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:C:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:C:DATA:THRESHold + - BUS:B:CPHY:C:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended C threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyC(SCPICmdRead): + """The ``BUS:B:CPHY:C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.data``: The ``BUS:B:CPHY:C:DATA`` command tree. + - ``.lp``: The ``BUS:B:CPHY:C:LP`` command tree. + - ``.source``: The ``BUS:B:CPHY:C:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemCphyCData(device, f"{self._cmd_syntax}:DATA") + self._lp = BusBItemCphyCLp(device, f"{self._cmd_syntax}:LP") + self._source = BusBItemCphyCSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def data(self) -> BusBItemCphyCData: + """Return the ``BUS:B:CPHY:C:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:CPHY:C:DATA:THRESHold`` command. + """ + return self._data + + @property + def lp(self) -> BusBItemCphyCLp: + """Return the ``BUS:B:CPHY:C:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:LP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:CPHY:C:LP:THRESHold`` command. + """ + return self._lp + + @property + def source(self) -> BusBItemCphyCSource: + """Return the ``BUS:B:CPHY:C:SOUrce`` command. + + Description: + - This command sets or queries the CPHY Single Ended C source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:C:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:C:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:C:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog reference waveform as the source. + """ + return self._source + + +class BusBItemCphyBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:BITRate`` command. + + Description: + - This command sets or queries the bit rate for the specified CPHY bus. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:BITRate + - BUS:B:CPHY:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the bit rate. The default bit rate is 1 Gbps and varies 4 Mbps ~ + 10Gps. + """ + + +class BusBItemCphyBcThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:BC:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential BC source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BC:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BC:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:BC:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:BC:THReshold + - BUS:B:CPHY:BC:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential BC threshold for the specified bus. The argument range + is -8 V to +8 V. + """ + + +class BusBItemCphyBcSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:BC:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential BC source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BC:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BC:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:BC:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:BC:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:BC:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + + +class BusBItemCphyBc(SCPICmdRead): + """The ``BUS:B:CPHY:BC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:CPHY:BC:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:BC:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemCphyBcSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemCphyBcThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemCphyBcSource: + """Return the ``BUS:B:CPHY:BC:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential BC source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BC:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BC:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:BC:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:BC:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:BC:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemCphyBcThreshold: + """Return the ``BUS:B:CPHY:BC:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential BC source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BC:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BC:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:BC:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:BC:THReshold + - BUS:B:CPHY:BC:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential BC threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyBSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:B:SOUrce`` command. + + Description: + - This command sets or queries the CPHY Single Ended B source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:B:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:B:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog reference waveform as the source. + """ + + +class BusBItemCphyBDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:B:DATA:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended B source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B:DATA:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:B:DATA:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:B:DATA:THRESHold + - BUS:B:CPHY:B:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended B threshold for the specified bus. The argument range + is -8 V to +8 V. + """ + + +class BusBItemCphyBData(SCPICmdRead): + """The ``BUS:B:CPHY:B:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:CPHY:B:DATA:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemCphyBDataThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def threshold(self) -> BusBItemCphyBDataThreshold: + """Return the ``BUS:B:CPHY:B:DATA:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended B source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B:DATA:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:B:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:B:DATA:THRESHold + - BUS:B:CPHY:B:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended B threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyB(SCPICmdRead): + """The ``BUS:B:CPHY:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.data``: The ``BUS:B:CPHY:B:DATA`` command tree. + - ``.source``: The ``BUS:B:CPHY:B:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemCphyBData(device, f"{self._cmd_syntax}:DATA") + self._source = BusBItemCphyBSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def data(self) -> BusBItemCphyBData: + """Return the ``BUS:B:CPHY:B:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:CPHY:B:DATA:THRESHold`` command. + """ + return self._data + + @property + def source(self) -> BusBItemCphyBSource: + """Return the ``BUS:B:CPHY:B:SOUrce`` command. + + Description: + - This command sets or queries the CPHY Single Ended B source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:B:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:B:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:B:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog reference waveform as the source. + """ + return self._source + + +class BusBItemCphyAgndThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:AGND:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential AGND source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AGND:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AGND:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AGND:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AGND:THReshold + - BUS:B:CPHY:AGND:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential A GND threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + + +class BusBItemCphyAgndSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:AGND:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential AGND source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AGND:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AGND:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AGND:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AGND:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:AGND:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + + +class BusBItemCphyAgnd(SCPICmdRead): + """The ``BUS:B:CPHY:AGND`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AGND?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AGND?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:CPHY:AGND:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:AGND:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemCphyAgndSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemCphyAgndThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemCphyAgndSource: + """Return the ``BUS:B:CPHY:AGND:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential AGND source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AGND:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AGND:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AGND:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AGND:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:AGND:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemCphyAgndThreshold: + """Return the ``BUS:B:CPHY:AGND:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential AGND source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AGND:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AGND:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:AGND:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AGND:THReshold + - BUS:B:CPHY:AGND:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential A GND threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyAbThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:AB:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential AB source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AB:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AB:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AB:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AB:THReshold + - BUS:B:CPHY:AB:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential AB threshold for the specified bus. The argument range + is -8 V to +8 V. + """ + + +class BusBItemCphyAbSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:AB:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential AB source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AB:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AB:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AB:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AB:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:AB:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + + +class BusBItemCphyAb(SCPICmdRead): + """The ``BUS:B:CPHY:AB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.source``: The ``BUS:B:CPHY:AB:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:AB:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = BusBItemCphyAbSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemCphyAbThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def source(self) -> BusBItemCphyAbSource: + """Return the ``BUS:B:CPHY:AB:SOUrce`` command. + + Description: + - This command sets or queries the CPHY differential AB source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AB:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AB:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AB:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AB:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:AB:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog/digital channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog/digital reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> BusBItemCphyAbThreshold: + """Return the ``BUS:B:CPHY:AB:THReshold`` command. + + Description: + - This command sets or queries the CPHY differential AB source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AB:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AB:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:AB:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:AB:THReshold + - BUS:B:CPHY:AB:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY differential AB threshold for the specified bus. The argument + range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyASource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:A:SOUrce`` command. + + Description: + - This command sets or queries the CPHY Single Ended A source for the specified bus line. + The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:A:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:A:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:A:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog reference waveform as the source. + """ + + +class BusBItemCphyALpThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:A:LP:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended A LP threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:LP:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:LP:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:A:LP:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:A:LP:THRESHold + - BUS:B:CPHY:A:LP:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended A LP threshold in Volts for the specified bus. The + argument range is -8 V to +8 V. + """ + + +class BusBItemCphyALp(SCPICmdRead): + """The ``BUS:B:CPHY:A:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:LP?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:CPHY:A:LP:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemCphyALpThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def threshold(self) -> BusBItemCphyALpThreshold: + """Return the ``BUS:B:CPHY:A:LP:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended A LP threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:LP:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:LP:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:A:LP:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:A:LP:THRESHold + - BUS:B:CPHY:A:LP:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended A LP threshold in Volts for the specified bus. The + argument range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyADataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CPHY:A:DATA:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended A source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:DATA:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:A:DATA:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:A:DATA:THRESHold + - BUS:B:CPHY:A:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended A threshold in Volts for the specified bus. The + argument range is -8 V to +8 V. + """ + + +class BusBItemCphyAData(SCPICmdRead): + """The ``BUS:B:CPHY:A:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.threshold``: The ``BUS:B:CPHY:A:DATA:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = BusBItemCphyADataThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def threshold(self) -> BusBItemCphyADataThreshold: + """Return the ``BUS:B:CPHY:A:DATA:THRESHold`` command. + + Description: + - This command sets or queries the CPHY Single Ended A source threshold for the + specified bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:DATA:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:DATA:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CPHY:A:DATA:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:A:DATA:THRESHold + - BUS:B:CPHY:A:DATA:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the CPHY Single Ended A threshold in Volts for the specified bus. The + argument range is -8 V to +8 V. + """ + return self._threshold + + +class BusBItemCphyA(SCPICmdRead): + """The ``BUS:B:CPHY:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.data``: The ``BUS:B:CPHY:A:DATA`` command tree. + - ``.lp``: The ``BUS:B:CPHY:A:LP`` command tree. + - ``.source``: The ``BUS:B:CPHY:A:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = BusBItemCphyAData(device, f"{self._cmd_syntax}:DATA") + self._lp = BusBItemCphyALp(device, f"{self._cmd_syntax}:LP") + self._source = BusBItemCphyASource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def data(self) -> BusBItemCphyAData: + """Return the ``BUS:B:CPHY:A:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:DATA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:DATA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:CPHY:A:DATA:THRESHold`` command. + """ + return self._data + + @property + def lp(self) -> BusBItemCphyALp: + """Return the ``BUS:B:CPHY:A:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:LP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.threshold``: The ``BUS:B:CPHY:A:LP:THRESHold`` command. + """ + return self._lp + + @property + def source(self) -> BusBItemCphyASource: + """Return the ``BUS:B:CPHY:A:SOUrce`` command. + + Description: + - This command sets or queries the CPHY Single Ended A source for the specified bus + line. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:A:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:A:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:CPHY:A:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source. + - ``MATH`` specifies a math channel as the source. + - ``REF`` specifies an analog reference waveform as the source. + """ + return self._source + + +# pylint: disable=too-many-instance-attributes +class BusBItemCphy(SCPICmdRead): + """The ``BUS:B:CPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.a``: The ``BUS:B:CPHY:A`` command tree. + - ``.ab``: The ``BUS:B:CPHY:AB`` command tree. + - ``.agnd``: The ``BUS:B:CPHY:AGND`` command tree. + - ``.b``: The ``BUS:B:CPHY:B`` command tree. + - ``.bc``: The ``BUS:B:CPHY:BC`` command tree. + - ``.bitrate``: The ``BUS:B:CPHY:BITRate`` command. + - ``.c``: The ``BUS:B:CPHY:C`` command tree. + - ``.ca``: The ``BUS:B:CPHY:CA`` command tree. + - ``.cgnd``: The ``BUS:B:CPHY:CGND`` command tree. + - ``.lp``: The ``BUS:B:CPHY:LP`` command tree. + - ``.signaltype``: The ``BUS:B:CPHY:SIGNALTYpe`` command. + - ``.subtype``: The ``BUS:B:CPHY:SUBTYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._a = BusBItemCphyA(device, f"{self._cmd_syntax}:A") + self._ab = BusBItemCphyAb(device, f"{self._cmd_syntax}:AB") + self._agnd = BusBItemCphyAgnd(device, f"{self._cmd_syntax}:AGND") + self._b = BusBItemCphyB(device, f"{self._cmd_syntax}:B") + self._bc = BusBItemCphyBc(device, f"{self._cmd_syntax}:BC") + self._bitrate = BusBItemCphyBitrate(device, f"{self._cmd_syntax}:BITRate") + self._c = BusBItemCphyC(device, f"{self._cmd_syntax}:C") + self._ca = BusBItemCphyCa(device, f"{self._cmd_syntax}:CA") + self._cgnd = BusBItemCphyCgnd(device, f"{self._cmd_syntax}:CGND") + self._lp = BusBItemCphyLp(device, f"{self._cmd_syntax}:LP") + self._signaltype = BusBItemCphySignaltype(device, f"{self._cmd_syntax}:SIGNALTYpe") + self._subtype = BusBItemCphySubtype(device, f"{self._cmd_syntax}:SUBTYPe") + + @property + def a(self) -> BusBItemCphyA: + """Return the ``BUS:B:CPHY:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:A?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:A?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.data``: The ``BUS:B:CPHY:A:DATA`` command tree. + - ``.lp``: The ``BUS:B:CPHY:A:LP`` command tree. + - ``.source``: The ``BUS:B:CPHY:A:SOUrce`` command. + """ + return self._a + + @property + def ab(self) -> BusBItemCphyAb: + """Return the ``BUS:B:CPHY:AB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AB?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:CPHY:AB:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:AB:THReshold`` command. + """ + return self._ab + + @property + def agnd(self) -> BusBItemCphyAgnd: + """Return the ``BUS:B:CPHY:AGND`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:AGND?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:AGND?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:CPHY:AGND:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:AGND:THReshold`` command. + """ + return self._agnd + + @property + def b(self) -> BusBItemCphyB: + """Return the ``BUS:B:CPHY:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:B?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.data``: The ``BUS:B:CPHY:B:DATA`` command tree. + - ``.source``: The ``BUS:B:CPHY:B:SOUrce`` command. + """ + return self._b + + @property + def bc(self) -> BusBItemCphyBc: + """Return the ``BUS:B:CPHY:BC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BC?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:CPHY:BC:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:BC:THReshold`` command. + """ + return self._bc + + @property + def bitrate(self) -> BusBItemCphyBitrate: + """Return the ``BUS:B:CPHY:BITRate`` command. + + Description: + - This command sets or queries the bit rate for the specified CPHY bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:BITRate + - BUS:B:CPHY:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the bit rate. The default bit rate is 1 Gbps and varies 4 Mbps ~ + 10Gps. + """ + return self._bitrate + + @property + def c(self) -> BusBItemCphyC: + """Return the ``BUS:B:CPHY:C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:C?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.data``: The ``BUS:B:CPHY:C:DATA`` command tree. + - ``.lp``: The ``BUS:B:CPHY:C:LP`` command tree. + - ``.source``: The ``BUS:B:CPHY:C:SOUrce`` command. + """ + return self._c + + @property + def ca(self) -> BusBItemCphyCa: + """Return the ``BUS:B:CPHY:CA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CA?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:CPHY:CA:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:CA:THReshold`` command. + """ + return self._ca + + @property + def cgnd(self) -> BusBItemCphyCgnd: + """Return the ``BUS:B:CPHY:CGND`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:CGND?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:CGND?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.source``: The ``BUS:B:CPHY:CGND:SOUrce`` command. + - ``.threshold``: The ``BUS:B:CPHY:CGND:THReshold`` command. + """ + return self._cgnd + + @property + def lp(self) -> BusBItemCphyLp: + """Return the ``BUS:B:CPHY:LP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:LP?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:LP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.direction``: The ``BUS:B:CPHY:LP:DIRection`` command. + """ + return self._lp + + @property + def signaltype(self) -> BusBItemCphySignaltype: + """Return the ``BUS:B:CPHY:SIGNALTYpe`` command. + + Description: + - This command sets or queries the signal type for CPHY bus decode. The bus is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:SIGNALTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:SIGNALTYpe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:CPHY:SIGNALTYpe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``SINGLE`` specifies the signal type to single ended. + - ``DIFF`` specifies the signal type to differential. The default type is differential. + """ + return self._signaltype + + @property + def subtype(self) -> BusBItemCphySubtype: + """Return the ``BUS:B:CPHY:SUBTYPe`` command. + + Description: + - This command sets or queries the sub type for CPHY bus decode. The bus is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY:SUBTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY:SUBTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CPHY:SUBTYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CPHY:SUBTYPe {CSI|DSI|Word|Symbol} + - BUS:B:CPHY:SUBTYPe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``CSI`` specifies the protocol type to CSI. The default type is CSI. + - ``DSI`` specifies the protocol type to DSI. + - ``Word`` specifies the protocol type to word. + - ``Symbol`` specifies the protocol type to symbol. + """ + return self._subtype + + +class BusBItemCanThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:THReshold`` command. + + Description: + - This command sets or queries the source channel threshold for the specified CAN bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:CAN:THReshold + - BUS:B:CAN:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the source channel threshold for the specified CAN bus. + """ + + +class BusBItemCanStandard(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:STANDard`` command. + + Description: + - This command sets or queries which CAN standard specification to analyze the specified CAN + bus with. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:STANDard?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:STANDard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:STANDard value`` command. + + SCPI Syntax: + ``` + - BUS:B:CAN:STANDard {CAN2X|FDISO|FDNONISO} + - BUS:B:CAN:STANDard? + ``` + + Info: + - ``B`` is the number of the bus. + - ``CAN2X`` sets the CAN bus standard to CAN 2.0. + - ``FDISO`` sets the CAN bus standard to ISO CAN FD (11898-``1:2015``). + - ``FDNONISO`` sets the CAN bus standard to non-ISO CAN FD (``Bosch:2012``). + """ + + +class BusBItemCanSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:SOUrce`` command. + + Description: + - This command sets or queries the CAN source channel for the specified CAN bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:CAN:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:CAN:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel, and the digital + channel. + - ``CH_D`` specifies an analog channel and the digital channel as the source. + - ``REF_D`` specifies a reference waveform and digital channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class BusBItemCanSignal(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:SIGNal`` command. + + Description: + - This command sets or queries the signal type for the specified CAN bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:SIGNal?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:SIGNal?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:SIGNal value`` command. + + SCPI Syntax: + ``` + - BUS:B:CAN:SIGNal {DIFFerential|CANH|CANL|RX|TX} + - BUS:B:CAN:SIGNal? + ``` + + Info: + - ``B`` is the number of the bus. + """ + + +class BusBItemCanSamplepoint(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:SAMPLEpoint`` command. + + Description: + - This command sets or queries the sample point for the specified CAN bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:SAMPLEpoint?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:SAMPLEpoint?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:SAMPLEpoint value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:SAMPLEpoint + - BUS:B:CAN:SAMPLEpoint? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the sample point, in percent, for the specified CAN bus. + """ + + +class BusBItemCanFdBitrateCustom(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:FD:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the custom bit rate for the increased data phase of CAN FD + packets on the specified CAN bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:FD:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:FD:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:FD:BITRate:CUSTom value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:FD:BITRate:CUSTom + - BUS:B:CAN:FD:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the custom FD bit rate for the specified bus. + """ + + +class BusBItemCanFdBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:FD:BITRate`` command. + + Description: + - This command sets or queries the increased data phase bit rate used by CAN FD packets on + the specified CAN bus. The bus is specified by x. If you select Custom, use + ``BUS:B:CAN:FD:BITRate:CUSTom`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:FD:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:FD:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:FD:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:FD:BITRate {RATE1M|RATE2M|RATE3M|RATE4M|RATE5M|RATE6M|RATE7M|RATE8M|RATE9M|RATE10M|RATE11M|RATE12M|RATE13M|RATE14M|RATE15M|RATE16M|CUSTom} + - BUS:B:CAN:FD:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.custom``: The ``BUS:B:CAN:FD:BITRate:CUSTom`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._custom = BusBItemCanFdBitrateCustom(device, f"{self._cmd_syntax}:CUSTom") + + @property + def custom(self) -> BusBItemCanFdBitrateCustom: + """Return the ``BUS:B:CAN:FD:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the custom bit rate for the increased data phase of CAN + FD packets on the specified CAN bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:FD:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:FD:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:CAN:FD:BITRate:CUSTom value`` command. + + SCPI Syntax: + ``` + - BUS:B:CAN:FD:BITRate:CUSTom + - BUS:B:CAN:FD:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the custom FD bit rate for the specified bus. + """ + return self._custom + + +class BusBItemCanFd(SCPICmdRead): + """The ``BUS:B:CAN:FD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:FD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:FD?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:CAN:FD:BITRate`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemCanFdBitrate(device, f"{self._cmd_syntax}:BITRate") + + @property + def bitrate(self) -> BusBItemCanFdBitrate: + """Return the ``BUS:B:CAN:FD:BITRate`` command. + + Description: + - This command sets or queries the increased data phase bit rate used by CAN FD packets + on the specified CAN bus. The bus is specified by x. If you select Custom, use + ``BUS:B:CAN:FD:BITRate:CUSTom`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:FD:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:FD:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:FD:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:FD:BITRate {RATE1M|RATE2M|RATE3M|RATE4M|RATE5M|RATE6M|RATE7M|RATE8M|RATE9M|RATE10M|RATE11M|RATE12M|RATE13M|RATE14M|RATE15M|RATE16M|CUSTom} + - BUS:B:CAN:FD:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.custom``: The ``BUS:B:CAN:FD:BITRate:CUSTom`` command. + """ # noqa: E501 + return self._bitrate + + +class BusBItemCanBitrateValue(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:BITRate:VALue`` command. + + Description: + - This command sets or queries CAN bit rate when Custom is selected by + ``BUS:BX:CAN:BITRATE``. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:BITRate:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:BITRate:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:BITRate:VALue value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:BITRate:VALue + - BUS:B:CAN:BITRate:VALue? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the CAN bit rate. + """ + + +class BusBItemCanBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:CAN:BITRate`` command. + + Description: + - This command sets or queries the CAN bit rate. The bus number is specified by x. If you + select Custom, use ``BUS:BX:CAN:BITRATE:VALUE`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:BITRate value`` command. + + SCPI Syntax: + ``` + - BUS:B:CAN:BITRate {RATE10K|RATE100K|RATE1M|RATE125K|RATE153K|RATE20K|RATE25K|RATE250K|RATE31K|RATE33K|RATE400K|RATE50K|RATE500K|RATE62K|RATE68K|RATE800K|RATE83K|RATE92K|CUSTom} + - BUS:B:CAN:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.value``: The ``BUS:B:CAN:BITRate:VALue`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = BusBItemCanBitrateValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> BusBItemCanBitrateValue: + """Return the ``BUS:B:CAN:BITRate:VALue`` command. + + Description: + - This command sets or queries CAN bit rate when Custom is selected by + ``BUS:BX:CAN:BITRATE``. The bus number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:BITRate:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:BITRate:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:BITRate:VALue value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:BITRate:VALue + - BUS:B:CAN:BITRate:VALue? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the CAN bit rate. + """ + return self._value + + +class BusBItemCan(SCPICmdRead): + """The ``BUS:B:CAN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:CAN:BITRate`` command. + - ``.fd``: The ``BUS:B:CAN:FD`` command tree. + - ``.samplepoint``: The ``BUS:B:CAN:SAMPLEpoint`` command. + - ``.signal``: The ``BUS:B:CAN:SIGNal`` command. + - ``.source``: The ``BUS:B:CAN:SOUrce`` command. + - ``.standard``: The ``BUS:B:CAN:STANDard`` command. + - ``.threshold``: The ``BUS:B:CAN:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemCanBitrate(device, f"{self._cmd_syntax}:BITRate") + self._fd = BusBItemCanFd(device, f"{self._cmd_syntax}:FD") + self._samplepoint = BusBItemCanSamplepoint(device, f"{self._cmd_syntax}:SAMPLEpoint") + self._signal = BusBItemCanSignal(device, f"{self._cmd_syntax}:SIGNal") + self._source = BusBItemCanSource(device, f"{self._cmd_syntax}:SOUrce") + self._standard = BusBItemCanStandard(device, f"{self._cmd_syntax}:STANDard") + self._threshold = BusBItemCanThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def bitrate(self) -> BusBItemCanBitrate: + """Return the ``BUS:B:CAN:BITRate`` command. + + Description: + - This command sets or queries the CAN bit rate. The bus number is specified by x. If + you select Custom, use ``BUS:BX:CAN:BITRATE:VALUE`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:BITRate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:BITRate {RATE10K|RATE100K|RATE1M|RATE125K|RATE153K|RATE20K|RATE25K|RATE250K|RATE31K|RATE33K|RATE400K|RATE50K|RATE500K|RATE62K|RATE68K|RATE800K|RATE83K|RATE92K|CUSTom} + - BUS:B:CAN:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.value``: The ``BUS:B:CAN:BITRate:VALue`` command. + """ # noqa: E501 + return self._bitrate + + @property + def fd(self) -> BusBItemCanFd: + """Return the ``BUS:B:CAN:FD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:FD?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:FD?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:CAN:FD:BITRate`` command. + """ + return self._fd + + @property + def samplepoint(self) -> BusBItemCanSamplepoint: + """Return the ``BUS:B:CAN:SAMPLEpoint`` command. + + Description: + - This command sets or queries the sample point for the specified CAN bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:SAMPLEpoint?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:SAMPLEpoint?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:SAMPLEpoint value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:SAMPLEpoint + - BUS:B:CAN:SAMPLEpoint? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the sample point, in percent, for the specified CAN bus. + """ + return self._samplepoint + + @property + def signal(self) -> BusBItemCanSignal: + """Return the ``BUS:B:CAN:SIGNal`` command. + + Description: + - This command sets or queries the signal type for the specified CAN bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:SIGNal?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:SIGNal?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:SIGNal value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:SIGNal {DIFFerential|CANH|CANL|RX|TX} + - BUS:B:CAN:SIGNal? + ``` + + Info: + - ``B`` is the number of the bus. + """ + return self._signal + + @property + def source(self) -> BusBItemCanSource: + """Return the ``BUS:B:CAN:SOUrce`` command. + + Description: + - This command sets or queries the CAN source channel for the specified CAN bus. The bus + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:CAN:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies the remote scope number, the analog channel, and the + digital channel. + - ``CH_D`` specifies an analog channel and the digital channel as the source. + - ``REF_D`` specifies a reference waveform and digital channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def standard(self) -> BusBItemCanStandard: + """Return the ``BUS:B:CAN:STANDard`` command. + + Description: + - This command sets or queries which CAN standard specification to analyze the specified + CAN bus with. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:STANDard?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:STANDard?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:STANDard value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:STANDard {CAN2X|FDISO|FDNONISO} + - BUS:B:CAN:STANDard? + ``` + + Info: + - ``B`` is the number of the bus. + - ``CAN2X`` sets the CAN bus standard to CAN 2.0. + - ``FDISO`` sets the CAN bus standard to ISO CAN FD (11898-``1:2015``). + - ``FDNONISO`` sets the CAN bus standard to non-ISO CAN FD (``Bosch:2012``). + """ + return self._standard + + @property + def threshold(self) -> BusBItemCanThreshold: + """Return the ``BUS:B:CAN:THReshold`` command. + + Description: + - This command sets or queries the source channel threshold for the specified CAN bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:CAN:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:CAN:THReshold + - BUS:B:CAN:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the source channel threshold for the specified CAN bus. + """ + return self._threshold + + +class BusBItemAutoethernetType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:TYPe`` command. + + Description: + - This command sets or queries the AutoEthernet standard speed. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUTOETHERnet:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:TYPe {HUNDREDBASET1} + - BUS:B:AUTOETHERnet:TYPe? + ``` + + Info: + - ``B`` is the Bus number. + - ``HUNDREDBASET1`` specifies the AutoEthernet speed as 100Base-T1. + """ + + +class BusBItemAutoethernetThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:THRESHold`` command. + + Description: + - This command sets or queries the AutoEthernet DATA source High threshold level for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUTOETHERnet:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:THRESHold + - BUS:B:AUTOETHERnet:THRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet DATA source High threshold level for the specified bus, + in volts. + """ + + +class BusBItemAutoethernetSourceDplus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the AutoEthernet D+ source for the specified bus. This + command specifies the source channel to use when the signal type is single ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SOUrce:DPLUs?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:SOUrce:DPLUs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce:DPLUs value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DPLUs? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source for the D+ signal, where is the + channel number. + - ``MATH`` specifies a math channel as the source for the D+ signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the D+ signal, where is + the reference waveform number. + """ + + +class BusBItemAutoethernetSourceDminus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the AutoEthernet D- source for the specified bus. This + command specifies the source channel to use when the signal type is single ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SOUrce:DMINus?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:SOUrce:DMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce:DMINus value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DMINus? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the D- signal, where is the + channel number. + - ``MATH`` specifies a math channel as the source for the D- signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the D- signal, where is + the reference waveform number. + """ + + +class BusBItemAutoethernetSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:SOUrce`` command. + + Description: + - This command sets or queries the AutoEthernet data (SDATA) source for the specified bus. + This command controls the source channel when the signal type is differential. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUTOETHERnet:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``CH`` specifies an analog channel as the AutoEthernet data source for differential + input, where is the channel number. + - ``MATH`` specifies a math channel as the AutoEthernet data source for differential + input, where is the math waveform number. + - ``REF`` specifies a reference waveform as the AutoEthernet data source for differential + input, where is the reference waveform number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + + Properties: + - ``.dminus``: The ``BUS:B:AUTOETHERnet:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:AUTOETHERnet:SOUrce:DPLUs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dminus = BusBItemAutoethernetSourceDminus(device, f"{self._cmd_syntax}:DMINus") + self._dplus = BusBItemAutoethernetSourceDplus(device, f"{self._cmd_syntax}:DPLUs") + + @property + def dminus(self) -> BusBItemAutoethernetSourceDminus: + """Return the ``BUS:B:AUTOETHERnet:SOUrce:DMINus`` command. + + Description: + - This command sets or queries the AutoEthernet D- source for the specified bus. This + command specifies the source channel to use when the signal type is single ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SOUrce:DMINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce:DMINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce:DMINus value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SOUrce:DMINus {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DMINus? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source for the D- signal, where is + the channel number. + - ``MATH`` specifies a math channel as the source for the D- signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the D- signal, where + is the reference waveform number. + """ + return self._dminus + + @property + def dplus(self) -> BusBItemAutoethernetSourceDplus: + """Return the ``BUS:B:AUTOETHERnet:SOUrce:DPLUs`` command. + + Description: + - This command sets or queries the AutoEthernet D+ source for the specified bus. This + command specifies the source channel to use when the signal type is single ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SOUrce:DPLUs?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce:DPLUs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce:DPLUs value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SOUrce:DPLUs {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce:DPLUs? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source for the D+ signal, where is + the channel number. + - ``MATH`` specifies a math channel as the source for the D+ signal, where is the + math waveform number. + - ``REF`` specifies a reference waveform as the source for the D+ signal, where + is the reference waveform number. + """ + return self._dplus + + +class BusBItemAutoethernetSignaltype(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:SIGNALTYpe`` command. + + Description: + - This command sets or queries the AutoEthernet signal type for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SIGNALTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:SIGNALTYpe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SIGNALTYpe value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:AUTOETHERnet:SIGNALTYpe? + ``` + + Info: + - ``B`` is the Bus number. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + + +class BusBItemAutoethernetLowthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:LOWTHRESHold`` command. + + Description: + - This command sets or queries the AutoEthernet Data source Low threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is + differential. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:LOWTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:LOWTHRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:LOWTHRESHold + - BUS:B:AUTOETHERnet:LOWTHRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet DATA source Low threshold level for the specified bus, + in volts. This threshold only applies when the AutoEthernet signal type is differential. + """ + + +class BusBItemAutoethernetLowdataplus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:LOWDATAPLUS`` command. + + Description: + - This command sets or queries the AutoEthernet D+ source low threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is single + ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:LOWDATAPLUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:LOWDATAPLUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWDATAPLUS value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:LOWDATAPLUS + - BUS:B:AUTOETHERnet:LOWDATAPLUS? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D+ source low threshold level for the specified bus, in + volts. This threshold only applies when the AutoEthernet signal type is single ended. + """ + + +class BusBItemAutoethernetLowdataminus(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:LOWDATAMINus`` command. + + Description: + - This command sets or queries the AutoEthernet D- source low threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is single + ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:LOWDATAMINus?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:LOWDATAMINus?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWDATAMINus value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:LOWDATAMINus + - BUS:B:AUTOETHERnet:LOWDATAMINus? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D- source low threshold level for the specified bus, in + volts. This threshold only applies when the AutoEthernet signal type is single ended. + """ + + +class BusBItemAutoethernetDataplusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the AutoEthernet D+ source threshold level for the specified + bus. This threshold only applies when the AutoEthernet signal type is single ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:DATAPLUSTHRESHold + - BUS:B:AUTOETHERnet:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D+ source threshold for the specified bus, in volts. + This threshold only applies when the AutoEthernet signal type is single ended. + """ + + +class BusBItemAutoethernetDataminusthreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD`` command. + + Description: + - This command sets or queries the AutoEthernet D- source threshold level for the specified + bus. This threshold only applies when the AutoEthernet signal type is single ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD + - BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D- source threshold level for the specified bus, in + volts. This threshold only applies when the AutoEthernet signal type is single ended. + """ + + +# pylint: disable=too-many-instance-attributes +class BusBItemAutoethernet(SCPICmdRead): + """The ``BUS:B:AUTOETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Properties: + - ``.dataminusthreshold``: The ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD`` command. + - ``.dataplusthreshold``: The ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold`` command. + - ``.lowdataminus``: The ``BUS:B:AUTOETHERnet:LOWDATAMINus`` command. + - ``.lowdataplus``: The ``BUS:B:AUTOETHERnet:LOWDATAPLUS`` command. + - ``.lowthreshold``: The ``BUS:B:AUTOETHERnet:LOWTHRESHold`` command. + - ``.signaltype``: The ``BUS:B:AUTOETHERnet:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:AUTOETHERnet:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUTOETHERnet:THRESHold`` command. + - ``.type``: The ``BUS:B:AUTOETHERnet:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dataminusthreshold = BusBItemAutoethernetDataminusthreshold( + device, f"{self._cmd_syntax}:DATAMINUSTHRESHOLD" + ) + self._dataplusthreshold = BusBItemAutoethernetDataplusthreshold( + device, f"{self._cmd_syntax}:DATAPLUSTHRESHold" + ) + self._lowdataminus = BusBItemAutoethernetLowdataminus( + device, f"{self._cmd_syntax}:LOWDATAMINus" + ) + self._lowdataplus = BusBItemAutoethernetLowdataplus( + device, f"{self._cmd_syntax}:LOWDATAPLUS" + ) + self._lowthreshold = BusBItemAutoethernetLowthreshold( + device, f"{self._cmd_syntax}:LOWTHRESHold" + ) + self._signaltype = BusBItemAutoethernetSignaltype(device, f"{self._cmd_syntax}:SIGNALTYpe") + self._source = BusBItemAutoethernetSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemAutoethernetThreshold(device, f"{self._cmd_syntax}:THRESHold") + self._type = BusBItemAutoethernetType(device, f"{self._cmd_syntax}:TYPe") + + @property + def dataminusthreshold(self) -> BusBItemAutoethernetDataminusthreshold: + """Return the ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD`` command. + + Description: + - This command sets or queries the AutoEthernet D- source threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is single + ended. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD + - BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D- source threshold level for the specified bus, in + volts. This threshold only applies when the AutoEthernet signal type is single ended. + """ + return self._dataminusthreshold + + @property + def dataplusthreshold(self) -> BusBItemAutoethernetDataplusthreshold: + """Return the ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold`` command. + + Description: + - This command sets or queries the AutoEthernet D+ source threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is single + ended. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:DATAPLUSTHRESHold + - BUS:B:AUTOETHERnet:DATAPLUSTHRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D+ source threshold for the specified bus, in + volts. This threshold only applies when the AutoEthernet signal type is single ended. + """ + return self._dataplusthreshold + + @property + def lowdataminus(self) -> BusBItemAutoethernetLowdataminus: + """Return the ``BUS:B:AUTOETHERnet:LOWDATAMINus`` command. + + Description: + - This command sets or queries the AutoEthernet D- source low threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is single + ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:LOWDATAMINus?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWDATAMINus?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWDATAMINus value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:LOWDATAMINus + - BUS:B:AUTOETHERnet:LOWDATAMINus? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D- source low threshold level for the specified + bus, in volts. This threshold only applies when the AutoEthernet signal type is single + ended. + """ + return self._lowdataminus + + @property + def lowdataplus(self) -> BusBItemAutoethernetLowdataplus: + """Return the ``BUS:B:AUTOETHERnet:LOWDATAPLUS`` command. + + Description: + - This command sets or queries the AutoEthernet D+ source low threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is single + ended. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:LOWDATAPLUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWDATAPLUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWDATAPLUS value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:LOWDATAPLUS + - BUS:B:AUTOETHERnet:LOWDATAPLUS? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet D+ source low threshold level for the specified + bus, in volts. This threshold only applies when the AutoEthernet signal type is single + ended. + """ + return self._lowdataplus + + @property + def lowthreshold(self) -> BusBItemAutoethernetLowthreshold: + """Return the ``BUS:B:AUTOETHERnet:LOWTHRESHold`` command. + + Description: + - This command sets or queries the AutoEthernet Data source Low threshold level for the + specified bus. This threshold only applies when the AutoEthernet signal type is + differential. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:LOWTHRESHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWTHRESHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:LOWTHRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:LOWTHRESHold + - BUS:B:AUTOETHERnet:LOWTHRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet DATA source Low threshold level for the specified + bus, in volts. This threshold only applies when the AutoEthernet signal type is + differential. + """ + return self._lowthreshold + + @property + def signaltype(self) -> BusBItemAutoethernetSignaltype: + """Return the ``BUS:B:AUTOETHERnet:SIGNALTYpe`` command. + + Description: + - This command sets or queries the AutoEthernet signal type for the specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SIGNALTYpe?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUTOETHERnet:SIGNALTYpe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SIGNALTYpe value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SIGNALTYpe {SINGLE|DIFF} + - BUS:B:AUTOETHERnet:SIGNALTYpe? + ``` + + Info: + - ``B`` is the Bus number. + - ``SINGLE`` specifies single-ended signals. + - ``DIFF`` specifies differential signals. + """ + return self._signaltype + + @property + def source(self) -> BusBItemAutoethernetSource: + """Return the ``BUS:B:AUTOETHERnet:SOUrce`` command. + + Description: + - This command sets or queries the AutoEthernet data (SDATA) source for the specified + bus. This command controls the source channel when the signal type is differential. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:SOUrce {S_Ch|CH|MATH|REF} + - BUS:B:AUTOETHERnet:SOUrce? + ``` + + Info: + - ``Bus`` is the Bus number. + - ``CH`` specifies an analog channel as the AutoEthernet data source for differential + input, where is the channel number. + - ``MATH`` specifies a math channel as the AutoEthernet data source for differential + input, where is the math waveform number. + - ``REF`` specifies a reference waveform as the AutoEthernet data source for + differential input, where is the reference waveform number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + + Sub-properties: + - ``.dminus``: The ``BUS:B:AUTOETHERnet:SOUrce:DMINus`` command. + - ``.dplus``: The ``BUS:B:AUTOETHERnet:SOUrce:DPLUs`` command. + """ + return self._source + + @property + def threshold(self) -> BusBItemAutoethernetThreshold: + """Return the ``BUS:B:AUTOETHERnet:THRESHold`` command. + + Description: + - This command sets or queries the AutoEthernet DATA source High threshold level for the + specified bus. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:THRESHold?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUTOETHERnet:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:THRESHold + - BUS:B:AUTOETHERnet:THRESHold? + ``` + + Info: + - ``B`` is the Bus number. + - ``NR3`` specifies the AutoEthernet DATA source High threshold level for the specified + bus, in volts. + """ + return self._threshold + + @property + def type(self) -> BusBItemAutoethernetType: + """Return the ``BUS:B:AUTOETHERnet:TYPe`` command. + + Description: + - This command sets or queries the AutoEthernet standard speed. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUTOETHERnet:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUTOETHERnet:TYPe {HUNDREDBASET1} + - BUS:B:AUTOETHERnet:TYPe? + ``` + + Info: + - ``B`` is the Bus number. + - ``HUNDREDBASET1`` specifies the AutoEthernet speed as 100Base-T1. + """ + return self._type + + +class BusBItemAudioWordselThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:WORDSel:THReshold`` command. + + Description: + - This command sets or queries the audio word select source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:WORDSel:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:WORDSel:THReshold + - BUS:B:AUDio:WORDSel:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio word select source threshold for the specified bus. + """ + + +class BusBItemAudioWordselSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:WORDSel:SOUrce`` command. + + Description: + - This command sets or queries the audio word select source waveform for the specified audio + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:WORDSel:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:WORDSel:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:AUDio:WORDSel:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the word select source waveform. + - ``CH_D`` specifies a digital channel as the word select source waveform. + - ``MATH`` specifies an math waveform as the word select source waveform. + - ``REF`` specifies an reference waveform as the word select source waveform. + - ``REF_D`` specifies a digital reference waveform as the word select source waveform + for the specified audio bus. + """ # noqa: E501 + + +class BusBItemAudioWordselPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:WORDSel:POLarity`` command. + + Description: + - This command sets or queries the word select source polarity for the specified audio bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:WORDSel:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:WORDSel:POLarity {NORMal|INVERTed} + - BUS:B:AUDio:WORDSel:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORMal`` specifies positive polarity. + - ``INVERTed`` specifies negative polarity. + """ + + +class BusBItemAudioWordsel(SCPICmdRead): + """The ``BUS:B:AUDio:WORDSel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.polarity``: The ``BUS:B:AUDio:WORDSel:POLarity`` command. + - ``.source``: The ``BUS:B:AUDio:WORDSel:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUDio:WORDSel:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemAudioWordselPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemAudioWordselSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemAudioWordselThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemAudioWordselPolarity: + """Return the ``BUS:B:AUDio:WORDSel:POLarity`` command. + + Description: + - This command sets or queries the word select source polarity for the specified audio + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:WORDSel:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:WORDSel:POLarity {NORMal|INVERTed} + - BUS:B:AUDio:WORDSel:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORMal`` specifies positive polarity. + - ``INVERTed`` specifies negative polarity. + """ + return self._polarity + + @property + def source(self) -> BusBItemAudioWordselSource: + """Return the ``BUS:B:AUDio:WORDSel:SOUrce`` command. + + Description: + - This command sets or queries the audio word select source waveform for the specified + audio bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:WORDSel:SOUrce value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:WORDSel:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:AUDio:WORDSel:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the word select source waveform. + - ``CH_D`` specifies a digital channel as the word select source waveform. + - ``MATH`` specifies an math waveform as the word select source waveform. + - ``REF`` specifies an reference waveform as the word select source waveform. + - ``REF_D`` specifies a digital reference waveform as the word select source + waveform for the specified audio bus. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemAudioWordselThreshold: + """Return the ``BUS:B:AUDio:WORDSel:THReshold`` command. + + Description: + - This command sets or queries the audio word select source threshold for the specified + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUDio:WORDSel:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:WORDSel:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:WORDSel:THReshold + - BUS:B:AUDio:WORDSel:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio word select source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemAudioType(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:TYPe`` command. + + Description: + - This command sets or queries the audio format (type) for the specified audio bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:TYPe value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:TYPe {I2S|LJ|RJ|TDM} + - BUS:B:AUDio:TYPe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``I2S`` specifies the I2S audio format. + - ``LJ`` specifies the left-justified audio format. + - ``RJ`` specifies the right-justified audio format. + - ``TDM`` specifies the time-division multiplexing audio format. + """ + + +class BusBItemAudioFrameSize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:FRAME:SIZe`` command. + + Description: + - This command sets or queries the number of audio channels in each frame for the specified + AUDIO bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:FRAME:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:FRAME:SIZe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:FRAME:SIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:FRAME:SIZe + - BUS:B:AUDio:FRAME:SIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the number of channels in each frame. + """ + + +class BusBItemAudioFrameClockbitsperchannel(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL`` command. + + Description: + - This command sets or queries the audio bits of sync width for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL + - BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio bits of sync width for the specified bus. + """ + + +class BusBItemAudioFrame(SCPICmdRead): + """The ``BUS:B:AUDio:FRAME`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:FRAME?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:FRAME?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.clockbitsperchannel``: The ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL`` command. + - ``.size``: The ``BUS:B:AUDio:FRAME:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clockbitsperchannel = BusBItemAudioFrameClockbitsperchannel( + device, f"{self._cmd_syntax}:CLOCKBITSPERCHANNEL" + ) + self._size = BusBItemAudioFrameSize(device, f"{self._cmd_syntax}:SIZe") + + @property + def clockbitsperchannel(self) -> BusBItemAudioFrameClockbitsperchannel: + """Return the ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL`` command. + + Description: + - This command sets or queries the audio bits of sync width for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL?`` query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL + - BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio bits of sync width for the specified bus. + """ + return self._clockbitsperchannel + + @property + def size(self) -> BusBItemAudioFrameSize: + """Return the ``BUS:B:AUDio:FRAME:SIZe`` command. + + Description: + - This command sets or queries the number of audio channels in each frame for the + specified AUDIO bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:FRAME:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:FRAME:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:FRAME:SIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:FRAME:SIZe + - BUS:B:AUDio:FRAME:SIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the number of channels in each frame. + """ + return self._size + + +class BusBItemAudioDataWordsize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:DATa:WORDSize`` command. + + Description: + - This command sets or queries the audio bits per word for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:WORDSize?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:WORDSize?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:WORDSize value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:WORDSize + - BUS:B:AUDio:DATa:WORDSize? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio bits per word for the specified bus. + """ + + +class BusBItemAudioDataThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:DATa:THReshold`` command. + + Description: + - This command sets or queries the audio data source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:THReshold + - BUS:B:AUDio:DATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio data source threshold for the specified bus. + """ + + +class BusBItemAudioDataSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:DATa:SOUrce`` command. + + Description: + - This command sets or queries the audio data source for the specified audio bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:AUDio:DATa:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the data source waveform for the audio bus. + - ``CH_D`` specifies a digital channel as the data source waveform for the audio bus. + - ``MATH`` specifies an math waveform as the data source waveform for the audio bus. + - ``REF`` specifies an reference waveform as the data source waveform for the audio bus. + - ``REF_D`` specifies a digital reference waveform as the data source waveform for the + specified audio bus. + """ + + +class BusBItemAudioDataSize(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:DATa:SIZe`` command. + + Description: + - This command sets or queries the number of bits per channel for the specified audio bus. + This command only applies to the TDM Audio type. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:SIZe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:SIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:SIZe + - BUS:B:AUDio:DATa:SIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NR1`` specifies the number of bits per word. + """ + + +class BusBItemAudioDataPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:DATa:POLarity`` command. + + Description: + - This command sets or queries the audio data source polarity for the specified audio bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:POLarity {HIGH|LOW} + - BUS:B:AUDio:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``HIGH`` specifies positive data polarity for the audio bus. + - ``LOW`` specifies negative data polarity for the audio bus. + """ + + +class BusBItemAudioData(SCPICmdRead): + """The ``BUS:B:AUDio:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.polarity``: The ``BUS:B:AUDio:DATa:POLarity`` command. + - ``.size``: The ``BUS:B:AUDio:DATa:SIZe`` command. + - ``.source``: The ``BUS:B:AUDio:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUDio:DATa:THReshold`` command. + - ``.wordsize``: The ``BUS:B:AUDio:DATa:WORDSize`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemAudioDataPolarity(device, f"{self._cmd_syntax}:POLarity") + self._size = BusBItemAudioDataSize(device, f"{self._cmd_syntax}:SIZe") + self._source = BusBItemAudioDataSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemAudioDataThreshold(device, f"{self._cmd_syntax}:THReshold") + self._wordsize = BusBItemAudioDataWordsize(device, f"{self._cmd_syntax}:WORDSize") + + @property + def polarity(self) -> BusBItemAudioDataPolarity: + """Return the ``BUS:B:AUDio:DATa:POLarity`` command. + + Description: + - This command sets or queries the audio data source polarity for the specified audio + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:DATa:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:POLarity {HIGH|LOW} + - BUS:B:AUDio:DATa:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``HIGH`` specifies positive data polarity for the audio bus. + - ``LOW`` specifies negative data polarity for the audio bus. + """ + return self._polarity + + @property + def size(self) -> BusBItemAudioDataSize: + """Return the ``BUS:B:AUDio:DATa:SIZe`` command. + + Description: + - This command sets or queries the number of bits per channel for the specified audio + bus. This command only applies to the TDM Audio type. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:SIZe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:SIZe + - BUS:B:AUDio:DATa:SIZe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NR1`` specifies the number of bits per word. + """ + return self._size + + @property + def source(self) -> BusBItemAudioDataSource: + """Return the ``BUS:B:AUDio:DATa:SOUrce`` command. + + Description: + - This command sets or queries the audio data source for the specified audio bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:DATa:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - BUS:B:AUDio:DATa:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the data source waveform for the audio bus. + - ``CH_D`` specifies a digital channel as the data source waveform for the audio + bus. + - ``MATH`` specifies an math waveform as the data source waveform for the audio bus. + - ``REF`` specifies an reference waveform as the data source waveform for the audio + bus. + - ``REF_D`` specifies a digital reference waveform as the data source waveform for + the specified audio bus. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemAudioDataThreshold: + """Return the ``BUS:B:AUDio:DATa:THReshold`` command. + + Description: + - This command sets or queries the audio data source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:DATa:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:THReshold + - BUS:B:AUDio:DATa:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio data source threshold for the specified bus. + """ + return self._threshold + + @property + def wordsize(self) -> BusBItemAudioDataWordsize: + """Return the ``BUS:B:AUDio:DATa:WORDSize`` command. + + Description: + - This command sets or queries the audio bits per word for the specified bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa:WORDSize?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa:WORDSize?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:DATa:WORDSize value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:DATa:WORDSize + - BUS:B:AUDio:DATa:WORDSize? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio bits per word for the specified bus. + """ + return self._wordsize + + +class BusBItemAudioClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the audio clock source threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:CLOCk:THReshold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:CLOCk:THReshold + - BUS:B:AUDio:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio clock source threshold for the specified bus. + """ + + +class BusBItemAudioClockSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the clock source waveform for the specified AUDIO bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:CLOCk:SOUrce {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - BUS:B:AUDio:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the clock source waveform for the audio bus. + - ``CH_D`` specifies a digital channel as the clock source waveform for the specified + audio bus. + - ``Math`` specifies a math waveform as the clock source waveform for the audio bus. + - ``REF`` specifies a reference waveform as the clock source waveform for the audio bus. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform for + the specified audio bus. + """ + + +class BusBItemAudioClockPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:CLOCk:POLarity`` command. + + Description: + - This command sets or queries the clock source polarity for the specified AUDIO bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:CLOCk:POLarity value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:CLOCk:POLarity {FALL|RISE} + - BUS:B:AUDio:CLOCk:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FALL`` sets falling edge as the clock polarity. + - ``RISE`` sets rising edge as the clock polarity. + """ + + +class BusBItemAudioClock(SCPICmdRead): + """The ``BUS:B:AUDio:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.polarity``: The ``BUS:B:AUDio:CLOCk:POLarity`` command. + - ``.source``: The ``BUS:B:AUDio:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUDio:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._polarity = BusBItemAudioClockPolarity(device, f"{self._cmd_syntax}:POLarity") + self._source = BusBItemAudioClockSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemAudioClockThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def polarity(self) -> BusBItemAudioClockPolarity: + """Return the ``BUS:B:AUDio:CLOCk:POLarity`` command. + + Description: + - This command sets or queries the clock source polarity for the specified AUDIO bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:CLOCk:POLarity value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:CLOCk:POLarity {FALL|RISE} + - BUS:B:AUDio:CLOCk:POLarity? + ``` + + Info: + - ``B`` is the number of the bus. + - ``FALL`` sets falling edge as the clock polarity. + - ``RISE`` sets rising edge as the clock polarity. + """ + return self._polarity + + @property + def source(self) -> BusBItemAudioClockSource: + """Return the ``BUS:B:AUDio:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the clock source waveform for the specified AUDIO bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:CLOCk:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:CLOCk:SOUrce {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - BUS:B:AUDio:CLOCk:SOUrce? + ``` + + Info: + - ``B`` is the number of the bus. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an analog channel as the clock source waveform for the audio bus. + - ``CH_D`` specifies a digital channel as the clock source waveform for the + specified audio bus. + - ``Math`` specifies a math waveform as the clock source waveform for the audio bus. + - ``REF`` specifies a reference waveform as the clock source waveform for the audio + bus. + - ``REF_D`` specifies a digital reference waveform as the clock source waveform + for the specified audio bus. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> BusBItemAudioClockThreshold: + """Return the ``BUS:B:AUDio:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the audio clock source threshold for the specified bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:AUDio:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:CLOCk:THReshold + - BUS:B:AUDio:CLOCk:THReshold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the audio clock source threshold for the specified bus. + """ + return self._threshold + + +class BusBItemAudioBitorder(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:BITOrder`` command. + + Description: + - Specifies the bit order for the specified AUDIO bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:BITOrder?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:BITOrder value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:BITOrder {MSB|LSB} + - BUS:B:AUDio:BITOrder? + ``` + + Info: + - ``B`` is the number of the bus. + - ``MSB`` specifies that the most significant bit will be expected first in the order. + - ``LSB`` specifies that the least significant bit will be expected first in the order. + """ + + +class BusBItemAudioBitdelay(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:AUDio:BITDelay`` command. + + Description: + - This command sets or queries the number of delay bits for the specified AUDIO bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:BITDelay?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:BITDelay?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:BITDelay value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:BITDelay + - BUS:B:AUDio:BITDelay? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the number of delay bits. + """ + + +class BusBItemAudio(SCPICmdRead): + """The ``BUS:B:AUDio`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitdelay``: The ``BUS:B:AUDio:BITDelay`` command. + - ``.bitorder``: The ``BUS:B:AUDio:BITOrder`` command. + - ``.clock``: The ``BUS:B:AUDio:CLOCk`` command tree. + - ``.data``: The ``BUS:B:AUDio:DATa`` command tree. + - ``.frame``: The ``BUS:B:AUDio:FRAME`` command tree. + - ``.type``: The ``BUS:B:AUDio:TYPe`` command. + - ``.wordsel``: The ``BUS:B:AUDio:WORDSel`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitdelay = BusBItemAudioBitdelay(device, f"{self._cmd_syntax}:BITDelay") + self._bitorder = BusBItemAudioBitorder(device, f"{self._cmd_syntax}:BITOrder") + self._clock = BusBItemAudioClock(device, f"{self._cmd_syntax}:CLOCk") + self._data = BusBItemAudioData(device, f"{self._cmd_syntax}:DATa") + self._frame = BusBItemAudioFrame(device, f"{self._cmd_syntax}:FRAME") + self._type = BusBItemAudioType(device, f"{self._cmd_syntax}:TYPe") + self._wordsel = BusBItemAudioWordsel(device, f"{self._cmd_syntax}:WORDSel") + + @property + def bitdelay(self) -> BusBItemAudioBitdelay: + """Return the ``BUS:B:AUDio:BITDelay`` command. + + Description: + - This command sets or queries the number of delay bits for the specified AUDIO bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:BITDelay?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:BITDelay?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:BITDelay value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:BITDelay + - BUS:B:AUDio:BITDelay? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` specifies the number of delay bits. + """ + return self._bitdelay + + @property + def bitorder(self) -> BusBItemAudioBitorder: + """Return the ``BUS:B:AUDio:BITOrder`` command. + + Description: + - Specifies the bit order for the specified AUDIO bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:BITOrder?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:BITOrder?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:BITOrder value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:BITOrder {MSB|LSB} + - BUS:B:AUDio:BITOrder? + ``` + + Info: + - ``B`` is the number of the bus. + - ``MSB`` specifies that the most significant bit will be expected first in the order. + - ``LSB`` specifies that the least significant bit will be expected first in the order. + """ + return self._bitorder + + @property + def clock(self) -> BusBItemAudioClock: + """Return the ``BUS:B:AUDio:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:CLOCk?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.polarity``: The ``BUS:B:AUDio:CLOCk:POLarity`` command. + - ``.source``: The ``BUS:B:AUDio:CLOCk:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUDio:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def data(self) -> BusBItemAudioData: + """Return the ``BUS:B:AUDio:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:DATa?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.polarity``: The ``BUS:B:AUDio:DATa:POLarity`` command. + - ``.size``: The ``BUS:B:AUDio:DATa:SIZe`` command. + - ``.source``: The ``BUS:B:AUDio:DATa:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUDio:DATa:THReshold`` command. + - ``.wordsize``: The ``BUS:B:AUDio:DATa:WORDSize`` command. + """ + return self._data + + @property + def frame(self) -> BusBItemAudioFrame: + """Return the ``BUS:B:AUDio:FRAME`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:FRAME?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:FRAME?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.clockbitsperchannel``: The ``BUS:B:AUDio:FRAME:CLOCKBITSPERCHANNEL`` command. + - ``.size``: The ``BUS:B:AUDio:FRAME:SIZe`` command. + """ + return self._frame + + @property + def type(self) -> BusBItemAudioType: + """Return the ``BUS:B:AUDio:TYPe`` command. + + Description: + - This command sets or queries the audio format (type) for the specified audio bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:AUDio:TYPe value`` + command. + + SCPI Syntax: + ``` + - BUS:B:AUDio:TYPe {I2S|LJ|RJ|TDM} + - BUS:B:AUDio:TYPe? + ``` + + Info: + - ``B`` is the number of the bus. + - ``I2S`` specifies the I2S audio format. + - ``LJ`` specifies the left-justified audio format. + - ``RJ`` specifies the right-justified audio format. + - ``TDM`` specifies the time-division multiplexing audio format. + """ + return self._type + + @property + def wordsel(self) -> BusBItemAudioWordsel: + """Return the ``BUS:B:AUDio:WORDSel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio:WORDSel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio:WORDSel?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.polarity``: The ``BUS:B:AUDio:WORDSel:POLarity`` command. + - ``.source``: The ``BUS:B:AUDio:WORDSel:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUDio:WORDSel:THReshold`` command. + """ + return self._wordsel + + +class BusBItemArinc429aThreshold(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ARINC429A:THRESHold`` command. + + Description: + - This command sets or queries the ARINC429 upper threshold for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:THRESHold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:THRESHold value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:THRESHold + - BUS:B:ARINC429A:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the ARINC429 lower threshold for the specified bus. + """ + + +class BusBItemArinc429aSource(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ARINC429A:SOUrce`` command. + + Description: + - This command sets or queries the source for the specified ARINC429 bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:SOUrce {S_Ch|CH|Math|REF} + - BUS:B:ARINC429A:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source waveform for the ARINC429 bus. + - ``Math`` specifies a math waveform as the source waveform for the ARINC429 bus. + - ``REF`` specifies a reference waveform as the source waveform for the ARINC429 bus. + """ + + +class BusBItemArinc429aPolarity(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ARINC429A:POLARITY`` command. + + Description: + - This command sets or queries the source polarity for the specified ARINC429 bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:POLARITY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:POLARITY?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:POLARITY value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:POLARITY {NORMal|INVERTed} + - BUS:B:ARINC429A:POLARITY? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORMal`` specifies normal polarity. + - ``INVERTed`` specifies inverted polarity. + """ + + +class BusBItemArinc429aDataformat(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ARINC429A:DATAFORmat`` command. + + Description: + - This command sets or queries the format of the DATA field for the specified ARINC429 bus. + The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:DATAFORmat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:DATAFORmat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:DATAFORmat value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:DATAFORmat {DATA|SDIDATA|SDIDATASSM} + - BUS:B:ARINC429A:DATAFORmat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``DATA`` specifies a DATA field width of 19 bits (covering bits 11 through 29 of the 32 + bit packet). + - ``SDIDATA`` specifies a DATA field width of 21 bits (covering bits 9 through 29 of the 32 + bit packet). + - ``SDIDATASSM`` specifies a DATA field width of 23 bits (covering bits 9 through 31 of the + 32 bit packet). + """ + + +class BusBItemArinc429aBitrateCustom(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ARINC429A:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the ARINC429 custom bit rate for the specified bus. The bus + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:BITRate:CUSTom?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:BITRate:CUSTom?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ARINC429A:BITRate:CUSTom value`` command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:BITRate:CUSTom + - BUS:B:ARINC429A:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the ARINC429 custom bit rate for the specified bus. + """ + + +class BusBItemArinc429aBitrate(SCPICmdWrite, SCPICmdRead): + """The ``BUS:B:ARINC429A:BITRate`` command. + + Description: + - This command sets or queries the ARINC429 bit rate for the specified bus. The bus number + is specified by x. If you select Custom, use ``BUS:B:ARINC429A:BITRate:CUSTom`` to set + the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:BITRate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:BITRate {LOW|HI|CUSTom} + - BUS:B:ARINC429A:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ``LOW`` sets the bit rate to handle low speed signals. + - ``HI`` sets the bit rate to handle high speed signals. + - ``CUSTom`` uses the custom bit rate set by ``BUS:B:ARINC429A:BITRate:CUSTom``. + + Properties: + - ``.custom``: The ``BUS:B:ARINC429A:BITRate:CUSTom`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._custom = BusBItemArinc429aBitrateCustom(device, f"{self._cmd_syntax}:CUSTom") + + @property + def custom(self) -> BusBItemArinc429aBitrateCustom: + """Return the ``BUS:B:ARINC429A:BITRate:CUSTom`` command. + + Description: + - This command sets or queries the ARINC429 custom bit rate for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:BITRate:CUSTom?`` + query. + - Using the ``.verify(value)`` method will send the + ``BUS:B:ARINC429A:BITRate:CUSTom?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ARINC429A:BITRate:CUSTom value`` command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:BITRate:CUSTom + - BUS:B:ARINC429A:BITRate:CUSTom? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the ARINC429 custom bit rate for the specified bus. + """ + return self._custom + + +class BusBItemArinc429a(SCPICmdRead): + """The ``BUS:B:ARINC429A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.bitrate``: The ``BUS:B:ARINC429A:BITRate`` command. + - ``.dataformat``: The ``BUS:B:ARINC429A:DATAFORmat`` command. + - ``.polarity``: The ``BUS:B:ARINC429A:POLARITY`` command. + - ``.source``: The ``BUS:B:ARINC429A:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ARINC429A:THRESHold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bitrate = BusBItemArinc429aBitrate(device, f"{self._cmd_syntax}:BITRate") + self._dataformat = BusBItemArinc429aDataformat(device, f"{self._cmd_syntax}:DATAFORmat") + self._polarity = BusBItemArinc429aPolarity(device, f"{self._cmd_syntax}:POLARITY") + self._source = BusBItemArinc429aSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = BusBItemArinc429aThreshold(device, f"{self._cmd_syntax}:THRESHold") + + @property + def bitrate(self) -> BusBItemArinc429aBitrate: + """Return the ``BUS:B:ARINC429A:BITRate`` command. + + Description: + - This command sets or queries the ARINC429 bit rate for the specified bus. The bus + number is specified by x. If you select Custom, use + ``BUS:B:ARINC429A:BITRate:CUSTom`` to set the bit rate. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:BITRate?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:BITRate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:BITRate value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:BITRate {LOW|HI|CUSTom} + - BUS:B:ARINC429A:BITRate? + ``` + + Info: + - ``B`` is the number of the bus. + - ``LOW`` sets the bit rate to handle low speed signals. + - ``HI`` sets the bit rate to handle high speed signals. + - ``CUSTom`` uses the custom bit rate set by ``BUS:B:ARINC429A:BITRate:CUSTom``. + + Sub-properties: + - ``.custom``: The ``BUS:B:ARINC429A:BITRate:CUSTom`` command. + """ + return self._bitrate + + @property + def dataformat(self) -> BusBItemArinc429aDataformat: + """Return the ``BUS:B:ARINC429A:DATAFORmat`` command. + + Description: + - This command sets or queries the format of the DATA field for the specified ARINC429 + bus. The bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:DATAFORmat?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:DATAFORmat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ARINC429A:DATAFORmat value`` command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:DATAFORmat {DATA|SDIDATA|SDIDATASSM} + - BUS:B:ARINC429A:DATAFORmat? + ``` + + Info: + - ``B`` is the number of the bus. + - ``DATA`` specifies a DATA field width of 19 bits (covering bits 11 through 29 of the + 32 bit packet). + - ``SDIDATA`` specifies a DATA field width of 21 bits (covering bits 9 through 29 of the + 32 bit packet). + - ``SDIDATASSM`` specifies a DATA field width of 23 bits (covering bits 9 through 31 of + the 32 bit packet). + """ + return self._dataformat + + @property + def polarity(self) -> BusBItemArinc429aPolarity: + """Return the ``BUS:B:ARINC429A:POLARITY`` command. + + Description: + - This command sets or queries the source polarity for the specified ARINC429 bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:POLARITY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:POLARITY?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:POLARITY value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:POLARITY {NORMal|INVERTed} + - BUS:B:ARINC429A:POLARITY? + ``` + + Info: + - ``B`` is the number of the bus. + - ``NORMal`` specifies normal polarity. + - ``INVERTed`` specifies inverted polarity. + """ + return self._polarity + + @property + def source(self) -> BusBItemArinc429aSource: + """Return the ``BUS:B:ARINC429A:SOUrce`` command. + + Description: + - This command sets or queries the source for the specified ARINC429 bus. The bus is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:ARINC429A:SOUrce value`` + command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:SOUrce {S_Ch|CH|Math|REF} + - BUS:B:ARINC429A:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies an analog channel as the source waveform for the ARINC429 bus. + - ``Math`` specifies a math waveform as the source waveform for the ARINC429 bus. + - ``REF`` specifies a reference waveform as the source waveform for the ARINC429 bus. + """ + return self._source + + @property + def threshold(self) -> BusBItemArinc429aThreshold: + """Return the ``BUS:B:ARINC429A:THRESHold`` command. + + Description: + - This command sets or queries the ARINC429 upper threshold for the specified bus. The + bus is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A:THRESHold?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A:THRESHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``BUS:B:ARINC429A:THRESHold value`` command. + + SCPI Syntax: + ``` + - BUS:B:ARINC429A:THRESHold + - BUS:B:ARINC429A:THRESHold? + ``` + + Info: + - ``B`` is the number of the bus. + - ```` is the ARINC429 lower threshold for the specified bus. + """ + return self._threshold + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class BusBItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``BUS:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Properties: + - ``.arinc429a``: The ``BUS:B:ARINC429A`` command tree. + - ``.audio``: The ``BUS:B:AUDio`` command tree. + - ``.autoethernet``: The ``BUS:B:AUTOETHERnet`` command tree. + - ``.can``: The ``BUS:B:CAN`` command tree. + - ``.cphy``: The ``BUS:B:CPHY`` command tree. + - ``.cxpi``: The ``BUS:B:CXPI`` command tree. + - ``.display``: The ``BUS:B:DISplay`` command tree. + - ``.dphy``: The ``BUS:B:DPHY`` command tree. + - ``.espi``: The ``BUS:B:ESPI`` command tree. + - ``.ethercat``: The ``BUS:B:ETHERCAT`` command tree. + - ``.ethernet``: The ``BUS:B:ETHERnet`` command tree. + - ``.eusb``: The ``BUS:B:EUSB`` command tree. + - ``.flexray``: The ``BUS:B:FLEXray`` command tree. + - ``.i2c``: The ``BUS:B:I2C`` command tree. + - ``.i3c``: The ``BUS:B:I3C`` command tree. + - ``.label``: The ``BUS:B:LABel`` command tree. + - ``.lin``: The ``BUS:B:LIN`` command tree. + - ``.manchester``: The ``BUS:B:MANChester`` command tree. + - ``.mdio``: The ``BUS:B:MDIO`` command tree. + - ``.mil1553b``: The ``BUS:B:MIL1553B`` command tree. + - ``.nrz``: The ``BUS:B:NRZ`` command tree. + - ``.onewire``: The ``BUS:B:ONEWIRe`` command tree. + - ``.parallel``: The ``BUS:B:PARallel`` command tree. + - ``.psifive``: The ``BUS:B:PSIFIVe`` command tree. + - ``.rs232c``: The ``BUS:B:RS232C`` command tree. + - ``.s8b10b``: The ``BUS:B:S8B10B`` command tree. + - ``.sdlc``: The ``BUS:B:SDLC`` command tree. + - ``.sent``: The ``BUS:B:SENT`` command tree. + - ``.smbus``: The ``BUS:B:SMBUS`` command tree. + - ``.spacewire``: The ``BUS:B:SPACEWIRe`` command tree. + - ``.spi``: The ``BUS:B:SPI`` command tree. + - ``.spmi``: The ``BUS:B:SPMI`` command tree. + - ``.svid``: The ``BUS:B:SVID`` command tree. + - ``.type``: The ``BUS:B:TYPe`` command. + - ``.usb``: The ``BUS:B:USB`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._arinc429a = BusBItemArinc429a(device, f"{self._cmd_syntax}:ARINC429A") + self._audio = BusBItemAudio(device, f"{self._cmd_syntax}:AUDio") + self._autoethernet = BusBItemAutoethernet(device, f"{self._cmd_syntax}:AUTOETHERnet") + self._can = BusBItemCan(device, f"{self._cmd_syntax}:CAN") + self._cphy = BusBItemCphy(device, f"{self._cmd_syntax}:CPHY") + self._cxpi = BusBItemCxpi(device, f"{self._cmd_syntax}:CXPI") + self._display = BusBItemDisplay(device, f"{self._cmd_syntax}:DISplay") + self._dphy = BusBItemDphy(device, f"{self._cmd_syntax}:DPHY") + self._espi = BusBItemEspi(device, f"{self._cmd_syntax}:ESPI") + self._ethercat = BusBItemEthercat(device, f"{self._cmd_syntax}:ETHERCAT") + self._ethernet = BusBItemEthernet(device, f"{self._cmd_syntax}:ETHERnet") + self._eusb = BusBItemEusb(device, f"{self._cmd_syntax}:EUSB") + self._flexray = BusBItemFlexray(device, f"{self._cmd_syntax}:FLEXray") + self._i2c = BusBItemI2c(device, f"{self._cmd_syntax}:I2C") + self._i3c = BusBItemI3c(device, f"{self._cmd_syntax}:I3C") + self._label = BusBItemLabel(device, f"{self._cmd_syntax}:LABel") + self._lin = BusBItemLin(device, f"{self._cmd_syntax}:LIN") + self._manchester = BusBItemManchester(device, f"{self._cmd_syntax}:MANChester") + self._mdio = BusBItemMdio(device, f"{self._cmd_syntax}:MDIO") + self._mil1553b = BusBItemMil1553b(device, f"{self._cmd_syntax}:MIL1553B") + self._nrz = BusBItemNrz(device, f"{self._cmd_syntax}:NRZ") + self._onewire = BusBItemOnewire(device, f"{self._cmd_syntax}:ONEWIRe") + self._parallel = BusBItemParallel(device, f"{self._cmd_syntax}:PARallel") + self._psifive = BusBItemPsifive(device, f"{self._cmd_syntax}:PSIFIVe") + self._rs232c = BusBItemRs232c(device, f"{self._cmd_syntax}:RS232C") + self._s8b10b = BusBItemS8b10b(device, f"{self._cmd_syntax}:S8B10B") + self._sdlc = BusBItemSdlc(device, f"{self._cmd_syntax}:SDLC") + self._sent = BusBItemSent(device, f"{self._cmd_syntax}:SENT") + self._smbus = BusBItemSmbus(device, f"{self._cmd_syntax}:SMBUS") + self._spacewire = BusBItemSpacewire(device, f"{self._cmd_syntax}:SPACEWIRe") + self._spi = BusBItemSpi(device, f"{self._cmd_syntax}:SPI") + self._spmi = BusBItemSpmi(device, f"{self._cmd_syntax}:SPMI") + self._svid = BusBItemSvid(device, f"{self._cmd_syntax}:SVID") + self._type = BusBItemType(device, f"{self._cmd_syntax}:TYPe") + self._usb = BusBItemUsb(device, f"{self._cmd_syntax}:USB") + + @property + def arinc429a(self) -> BusBItemArinc429a: + """Return the ``BUS:B:ARINC429A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ARINC429A?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ARINC429A?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:ARINC429A:BITRate`` command. + - ``.dataformat``: The ``BUS:B:ARINC429A:DATAFORmat`` command. + - ``.polarity``: The ``BUS:B:ARINC429A:POLARITY`` command. + - ``.source``: The ``BUS:B:ARINC429A:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ARINC429A:THRESHold`` command. + """ + return self._arinc429a + + @property + def audio(self) -> BusBItemAudio: + """Return the ``BUS:B:AUDio`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUDio?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUDio?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitdelay``: The ``BUS:B:AUDio:BITDelay`` command. + - ``.bitorder``: The ``BUS:B:AUDio:BITOrder`` command. + - ``.clock``: The ``BUS:B:AUDio:CLOCk`` command tree. + - ``.data``: The ``BUS:B:AUDio:DATa`` command tree. + - ``.frame``: The ``BUS:B:AUDio:FRAME`` command tree. + - ``.type``: The ``BUS:B:AUDio:TYPe`` command. + - ``.wordsel``: The ``BUS:B:AUDio:WORDSel`` command tree. + """ + return self._audio + + @property + def autoethernet(self) -> BusBItemAutoethernet: + """Return the ``BUS:B:AUTOETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:AUTOETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:AUTOETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.dataminusthreshold``: The ``BUS:B:AUTOETHERnet:DATAMINUSTHRESHOLD`` command. + - ``.dataplusthreshold``: The ``BUS:B:AUTOETHERnet:DATAPLUSTHRESHold`` command. + - ``.lowdataminus``: The ``BUS:B:AUTOETHERnet:LOWDATAMINus`` command. + - ``.lowdataplus``: The ``BUS:B:AUTOETHERnet:LOWDATAPLUS`` command. + - ``.lowthreshold``: The ``BUS:B:AUTOETHERnet:LOWTHRESHold`` command. + - ``.signaltype``: The ``BUS:B:AUTOETHERnet:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:AUTOETHERnet:SOUrce`` command. + - ``.threshold``: The ``BUS:B:AUTOETHERnet:THRESHold`` command. + - ``.type``: The ``BUS:B:AUTOETHERnet:TYPe`` command. + """ + return self._autoethernet + + @property + def can(self) -> BusBItemCan: + """Return the ``BUS:B:CAN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CAN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:CAN:BITRate`` command. + - ``.fd``: The ``BUS:B:CAN:FD`` command tree. + - ``.samplepoint``: The ``BUS:B:CAN:SAMPLEpoint`` command. + - ``.signal``: The ``BUS:B:CAN:SIGNal`` command. + - ``.source``: The ``BUS:B:CAN:SOUrce`` command. + - ``.standard``: The ``BUS:B:CAN:STANDard`` command. + - ``.threshold``: The ``BUS:B:CAN:THReshold`` command. + """ + return self._can + + @property + def cphy(self) -> BusBItemCphy: + """Return the ``BUS:B:CPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CPHY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CPHY?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.a``: The ``BUS:B:CPHY:A`` command tree. + - ``.ab``: The ``BUS:B:CPHY:AB`` command tree. + - ``.agnd``: The ``BUS:B:CPHY:AGND`` command tree. + - ``.b``: The ``BUS:B:CPHY:B`` command tree. + - ``.bc``: The ``BUS:B:CPHY:BC`` command tree. + - ``.bitrate``: The ``BUS:B:CPHY:BITRate`` command. + - ``.c``: The ``BUS:B:CPHY:C`` command tree. + - ``.ca``: The ``BUS:B:CPHY:CA`` command tree. + - ``.cgnd``: The ``BUS:B:CPHY:CGND`` command tree. + - ``.lp``: The ``BUS:B:CPHY:LP`` command tree. + - ``.signaltype``: The ``BUS:B:CPHY:SIGNALTYpe`` command. + - ``.subtype``: The ``BUS:B:CPHY:SUBTYPe`` command. + """ + return self._cphy + + @property + def cxpi(self) -> BusBItemCxpi: + """Return the ``BUS:B:CXPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:CXPI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:CXPI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:CXPI:BITRate`` command. + - ``.rec``: The ``BUS:B:CXPI:REC`` command tree. + - ``.source``: The ``BUS:B:CXPI:SOUrce`` command. + """ + return self._cxpi + + @property + def display(self) -> BusBItemDisplay: + """Return the ``BUS:B:DISplay`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DISplay?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.format``: The ``BUS:B:DISplay:FORMat`` command. + - ``.layout``: The ``BUS:B:DISplay:LAYout`` command. + """ + return self._display + + @property + def dphy(self) -> BusBItemDphy: + """Return the ``BUS:B:DPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:DPHY?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:DPHY?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.clock``: The ``BUS:B:DPHY:CLOCk`` command tree. + - ``.dminus``: The ``BUS:B:DPHY:DMINus`` command tree. + - ``.dplus``: The ``BUS:B:DPHY:DPlus`` command tree. + - ``.lp``: The ``BUS:B:DPHY:LP`` command tree. + - ``.protocol``: The ``BUS:B:DPHY:PROTocol`` command tree. + - ``.signal``: The ``BUS:B:DPHY:SIGNal`` command tree. + """ + return self._dphy + + @property + def espi(self) -> BusBItemEspi: + """Return the ``BUS:B:ESPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ESPI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ESPI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the Bus number. + + Sub-properties: + - ``.alertview``: The ``BUS:B:ESPI:ALERTVIEW`` command. + - ``.alert``: The ``BUS:B:ESPI:ALERt`` command tree. + - ``.chipselect``: The ``BUS:B:ESPI:CHIPSELect`` command tree. + - ``.clock``: The ``BUS:B:ESPI:CLOCk`` command tree. + - ``.dataone``: The ``BUS:B:ESPI:DATAONE`` command tree. + - ``.datatwo``: The ``BUS:B:ESPI:DATATWO`` command tree. + - ``.iomode``: The ``BUS:B:ESPI:IOMODe`` command. + """ + return self._espi + + @property + def ethercat(self) -> BusBItemEthercat: + """Return the ``BUS:B:ETHERCAT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERCAT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERCAT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.dataminusthreshold``: The ``BUS:B:ETHERCAT:DATAMINUSTHRESHold`` command. + - ``.dataplusthreshold``: The ``BUS:B:ETHERCAT:DATAPLUSTHRESHold`` command. + - ``.signaltype``: The ``BUS:B:ETHERCAT:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:ETHERCAT:SOUrce`` command tree. + - ``.threshold``: The ``BUS:B:ETHERCAT:THRESHold`` command. + """ + return self._ethercat + + @property + def ethernet(self) -> BusBItemEthernet: + """Return the ``BUS:B:ETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.dataminusthreshold``: The ``BUS:B:ETHERnet:DATAMINUSTHRESHold`` command. + - ``.dataplusthreshold``: The ``BUS:B:ETHERnet:DATAPLUSTHRESHold`` command. + - ``.ipvfour``: The ``BUS:B:ETHERnet:IPVFOUR`` command. + - ``.lowthreshold``: The ``BUS:B:ETHERnet:LOWTHRESHold`` command. + - ``.qtagging``: The ``BUS:B:ETHERnet:QTAGGING`` command. + - ``.signaltype``: The ``BUS:B:ETHERnet:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:ETHERnet:SOUrce`` command. + - ``.threshold``: The ``BUS:B:ETHERnet:THRESHold`` command. + - ``.type``: The ``BUS:B:ETHERnet:TYPe`` command. + """ + return self._ethernet + + @property + def eusb(self) -> BusBItemEusb: + """Return the ``BUS:B:EUSB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:EUSB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:EUSB?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:EUSB:BITRate`` command. + - ``.dataminus``: The ``BUS:B:EUSB:DATAMINUS`` command tree. + - ``.dataminusthreshold``: The ``BUS:B:EUSB:DATAMINUSTHRESHold`` command. + - ``.dataplus``: The ``BUS:B:EUSB:DATAPLUS`` command tree. + - ``.dataplusthreshold``: The ``BUS:B:EUSB:DATAPLUSTHRESHold`` command. + - ``.lowthreshold``: The ``BUS:B:EUSB:LOWTHRESHold`` command. + - ``.operating``: The ``BUS:B:EUSB:OPERating`` command tree. + - ``.signaltype``: The ``BUS:B:EUSB:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:EUSB:SOUrce`` command tree. + - ``.threshold``: The ``BUS:B:EUSB:THRESHold`` command. + """ + return self._eusb + + @property + def flexray(self) -> BusBItemFlexray: + """Return the ``BUS:B:FLEXray`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:FLEXray?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:FLEXray?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:FLEXray:BITRate`` command. + - ``.channel``: The ``BUS:B:FLEXray:CHannel`` command. + - ``.lowthreshold``: The ``BUS:B:FLEXray:LOWTHRESHold`` command. + - ``.signal``: The ``BUS:B:FLEXray:SIGnal`` command. + - ``.source``: The ``BUS:B:FLEXray:SOUrce`` command. + - ``.threshold``: The ``BUS:B:FLEXray:THRESHold`` command. + - ``.txrxthreshold``: The ``BUS:B:FLEXray:TXRXTHRESHold`` command. + """ + return self._flexray + + @property + def i2c(self) -> BusBItemI2c: + """Return the ``BUS:B:I2C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I2C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.clock``: The ``BUS:B:I2C:CLOCk`` command tree. + - ``.data``: The ``BUS:B:I2C:DATa`` command tree. + - ``.rwinaddr``: The ``BUS:B:I2C:RWINADDR`` command. + """ + return self._i2c + + @property + def i3c(self) -> BusBItemI3c: + """Return the ``BUS:B:I3C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:I3C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:I3C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` specifies the bus number. + + Sub-properties: + - ``.clock``: The ``BUS:B:I3C:CLOCk`` command tree. + - ``.data``: The ``BUS:B:I3C:DATa`` command tree. + """ + return self._i3c + + @property + def label(self) -> BusBItemLabel: + """Return the ``BUS:B:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LABel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.color``: The ``BUS:B:LABel:COLor`` command. + - ``.font``: The ``BUS:B:LABel:FONT`` command tree. + - ``.xpos``: The ``BUS:B:LABel:XPOS`` command. + - ``.ypos``: The ``BUS:B:LABel:YPOS`` command. + - ``.name``: The ``BUS:B:LABel:name`` command. + """ + return self._label + + @property + def lin(self) -> BusBItemLin: + """Return the ``BUS:B:LIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:LIN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:LIN:BITRate`` command. + - ``.idformat``: The ``BUS:B:LIN:IDFORmat`` command. + - ``.polarity``: The ``BUS:B:LIN:POLarity`` command. + - ``.samplepoint``: The ``BUS:B:LIN:SAMPLEpoint`` command. + - ``.source``: The ``BUS:B:LIN:SOUrce`` command. + - ``.standard``: The ``BUS:B:LIN:STANDard`` command. + """ + return self._lin + + @property + def manchester(self) -> BusBItemManchester: + """Return the ``BUS:B:MANChester`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MANChester?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MANChester?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitorder``: The ``BUS:B:MANChester:BITORDer`` command. + - ``.bitrate``: The ``BUS:B:MANChester:BITRate`` command. + - ``.displaymode``: The ``BUS:B:MANChester:DISplaymode`` command. + - ``.header``: The ``BUS:B:MANChester:HEADer`` command tree. + - ``.idle``: The ``BUS:B:MANChester:IDLE`` command tree. + - ``.source``: The ``BUS:B:MANChester:SOUrce`` command. + - ``.start``: The ``BUS:B:MANChester:START`` command tree. + - ``.sync``: The ``BUS:B:MANChester:SYNC`` command tree. + - ``.threshold``: The ``BUS:B:MANChester:THReshold`` command. + - ``.tolerance``: The ``BUS:B:MANChester:TOLerance`` command. + - ``.transtion``: The ``BUS:B:MANChester:TRANstion`` command tree. + - ``.trailer``: The ``BUS:B:MANChester:TRAiler`` command tree. + - ``.word``: The ``BUS:B:MANChester:WORD`` command tree. + - ``.wordsize``: The ``BUS:B:MANChester:WORDSIZe`` command. + - ``.parity``: The ``BUS:B:MANChester:parity`` command. + """ + return self._manchester + + @property + def mdio(self) -> BusBItemMdio: + """Return the ``BUS:B:MDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MDIO?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MDIO?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.clock``: The ``BUS:B:MDIO:CLOCk`` command tree. + - ``.data``: The ``BUS:B:MDIO:DATA`` command tree. + """ + return self._mdio + + @property + def mil1553b(self) -> BusBItemMil1553b: + """Return the ``BUS:B:MIL1553B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:MIL1553B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.lowthreshold``: The ``BUS:B:MIL1553B:LOWTHRESHold`` command. + - ``.polarity``: The ``BUS:B:MIL1553B:POLarity`` command. + - ``.responsetime``: The ``BUS:B:MIL1553B:RESPonsetime`` command tree. + - ``.source``: The ``BUS:B:MIL1553B:SOUrce`` command. + - ``.threshold``: The ``BUS:B:MIL1553B:THRESHold`` command. + """ + return self._mil1553b + + @property + def nrz(self) -> BusBItemNrz: + """Return the ``BUS:B:NRZ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:NRZ?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:NRZ?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitorder``: The ``BUS:B:NRZ:BITOrder`` command. + - ``.bitrate``: The ``BUS:B:NRZ:BITRate`` command. + - ``.polarity``: The ``BUS:B:NRZ:POLarity`` command. + - ``.source``: The ``BUS:B:NRZ:SOUrce`` command. + - ``.spmi``: The ``BUS:B:NRZ:SPMI`` command tree. + - ``.threshold``: The ``BUS:B:NRZ:THReshold`` command. + """ + return self._nrz + + @property + def onewire(self) -> BusBItemOnewire: + """Return the ``BUS:B:ONEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:ONEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:ONEWIRe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.data``: The ``BUS:B:ONEWIRe:DATA`` command tree. + - ``.mode``: The ``BUS:B:ONEWIRe:MODe`` command. + """ + return self._onewire + + @property + def parallel(self) -> BusBItemParallel: + """Return the ``BUS:B:PARallel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PARallel?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PARallel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.allthresholds``: The ``BUS:B:PARallel:ALLTHResholds`` command. + - ``.bitsource``: The ``BUS:B:PARallel:BITSOUrce`` command. + - ``.clock``: The ``BUS:B:PARallel:CLOCk`` command tree. + - ``.clocksource``: The ``BUS:B:PARallel:CLOCkSOUrce`` command. + """ + return self._parallel + + @property + def psifive(self) -> BusBItemPsifive: + """Return the ``BUS:B:PSIFIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:PSIFIVe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:PSIFIVe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitperiod``: The ``BUS:B:PSIFIVe:BITPERiod`` command. + - ``.bitrate``: The ``BUS:B:PSIFIVe:BITRate`` command. + - ``.comm``: The ``BUS:B:PSIFIVe:COMM`` command tree. + - ``.dataa``: The ``BUS:B:PSIFIVe:DATAA`` command. + - ``.datab``: The ``BUS:B:PSIFIVe:DATAB`` command. + - ``.dataformat``: The ``BUS:B:PSIFIVe:DATAFORMat`` command. + - ``.ecusource``: The ``BUS:B:PSIFIVe:ECUSOURce`` command. + - ``.framecontrol``: The ``BUS:B:PSIFIVe:FRAMECONTrol`` command. + - ``.messaging``: The ``BUS:B:PSIFIVe:MESSaging`` command. + - ``.source``: The ``BUS:B:PSIFIVe:SOUrce`` command. + - ``.status``: The ``BUS:B:PSIFIVe:STATus`` command. + - ``.syncmode``: The ``BUS:B:PSIFIVe:SYNCMODe`` command. + - ``.syncthreshold``: The ``BUS:B:PSIFIVe:SYNCTHRESHold`` command. + - ``.threshold``: The ``BUS:B:PSIFIVe:THRESHold`` command. + """ + return self._psifive + + @property + def rs232c(self) -> BusBItemRs232c: + """Return the ``BUS:B:RS232C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:RS232C?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:RS232C?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:RS232C:BITRate`` command. + - ``.databits``: The ``BUS:B:RS232C:DATABits`` command. + - ``.delimiter``: The ``BUS:B:RS232C:DELIMiter`` command. + - ``.displaymode``: The ``BUS:B:RS232C:DISplaymode`` command. + - ``.parity``: The ``BUS:B:RS232C:PARity`` command. + - ``.polarity``: The ``BUS:B:RS232C:POLarity`` command. + - ``.source``: The ``BUS:B:RS232C:SOUrce`` command. + """ + return self._rs232c + + @property + def s8b10b(self) -> BusBItemS8b10b: + """Return the ``BUS:B:S8B10B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:S8B10B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:S8B10B?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:S8B10B:BITRate`` command. + - ``.source``: The ``BUS:B:S8B10B:SOUrce`` command. + - ``.threshold``: The ``BUS:B:S8B10B:THReshold`` command. + """ + return self._s8b10b + + @property + def sdlc(self) -> BusBItemSdlc: + """Return the ``BUS:B:SDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SDLC?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SDLC?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:SDLC:BITRate`` command. + - ``.data``: The ``BUS:B:SDLC:DATA`` command tree. + - ``.encoding``: The ``BUS:B:SDLC:ENCoding`` command. + - ``.modulo``: The ``BUS:B:SDLC:MODulo`` command. + """ + return self._sdlc + + @property + def sent(self) -> BusBItemSent: + """Return the ``BUS:B:SENT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SENT?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SENT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.chanwidth``: The ``BUS:B:SENT:CHANWidth`` command. + - ``.nibblecount``: The ``BUS:B:SENT:NIBBLECount`` command. + - ``.numchannel``: The ``BUS:B:SENT:NUMCHANnel`` command. + - ``.pausepulse``: The ``BUS:B:SENT:PAUSEPULSe`` command. + - ``.polarity``: The ``BUS:B:SENT:POLARITY`` command. + - ``.slow``: The ``BUS:B:SENT:SLOW`` command. + - ``.source``: The ``BUS:B:SENT:SOUrce`` command. + - ``.threshold``: The ``BUS:B:SENT:THRESHold`` command. + - ``.ticktime``: The ``BUS:B:SENT:TICKTIME`` command. + - ``.ticktolerance``: The ``BUS:B:SENT:TICKTOLerance`` command. + """ + return self._sent + + @property + def smbus(self) -> BusBItemSmbus: + """Return the ``BUS:B:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SMBUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SMBUS?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.clock``: The ``BUS:B:SMBUS:CLOCk`` command tree. + - ``.data``: The ``BUS:B:SMBUS:DATA`` command tree. + - ``.pec``: The ``BUS:B:SMBUS:PEC`` command tree. + """ + return self._smbus + + @property + def spacewire(self) -> BusBItemSpacewire: + """Return the ``BUS:B:SPACEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPACEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPACEWIRe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the bus number. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:SPACEWIRe:BITRate`` command. + - ``.data``: The ``BUS:B:SPACEWIRe:DATa`` command tree. + - ``.decode``: The ``BUS:B:SPACEWIRe:DECode`` command tree. + - ``.strobe``: The ``BUS:B:SPACEWIRe:STRobe`` command tree. + - ``.sync``: The ``BUS:B:SPACEWIRe:SYNC`` command. + """ + return self._spacewire + + @property + def spi(self) -> BusBItemSpi: + """Return the ``BUS:B:SPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.bitorder``: The ``BUS:B:SPI:BITOrder`` command. + - ``.clock``: The ``BUS:B:SPI:CLOCk`` command tree. + - ``.data``: The ``BUS:B:SPI:DATa`` command tree. + - ``.framing``: The ``BUS:B:SPI:FRAMING`` command. + - ``.idletime``: The ``BUS:B:SPI:IDLETime`` command. + - ``.miso``: The ``BUS:B:SPI:MISo`` command tree. + - ``.mosi``: The ``BUS:B:SPI:MOSi`` command tree. + - ``.number``: The ``BUS:B:SPI:NUMBer`` command tree. + - ``.select``: The ``BUS:B:SPI:SELect`` command tree. + """ + return self._spi + + @property + def spmi(self) -> BusBItemSpmi: + """Return the ``BUS:B:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SPMI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.sclk``: The ``BUS:B:SPMI:SCLk`` command tree. + - ``.sdata``: The ``BUS:B:SPMI:SDATa`` command tree. + """ + return self._spmi + + @property + def svid(self) -> BusBItemSvid: + """Return the ``BUS:B:SVID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:SVID?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:SVID?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.alert``: The ``BUS:B:SVID:ALERT`` command tree. + - ``.clock``: The ``BUS:B:SVID:CLOCk`` command tree. + - ``.data``: The ``BUS:B:SVID:DATA`` command tree. + """ + return self._svid + + @property + def type(self) -> BusBItemType: + """Return the ``BUS:B:TYPe`` command. + + Description: + - This command sets or queries the bus type or standard for the specified bus. The bus + is specified by x. Arguments for a bus type are only available then the required + serial bus option is installed. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``BUS:B:TYPe value`` command. + + SCPI Syntax: + ``` + - BUS:B:TYPe {ARINC429|AUDio|CAN|ETHernet|EUSB|FLEXRAY|I2C|I3C|LIN|MDIO|MIL1553B|PARallel|RS232C|SENT|SPI|SPMI|SVID|USB} + - BUS:B:TYPe? + ``` + + Info: + - ``B`` is the number of the bus waveform. + - ``ARINC429`` specifies the ARINC 429 avionics serial bus. + - ``AUDio`` specifies an audio bus. + - ``CAN`` specifies a Controller Area Network bus. + - ``ETHernet`` specifies the Ethernet bus. + - ``EUSB`` specifies a eUSB bus. Requires option SR-EUSB2. + - ``FLEXRAY`` specifies a FlexRay bus. + - ``I2C`` specifies the Inter-IC bus. + - ``I3C`` specifies the MIPI Improved Inter Integrated Circuit (I3C) bus. + - ``LIN`` specifies a Local Interconnect Network bus. + - ``MDIO`` specifies a MDIO bus. + - ``MIL1553B`` specifies the MIL-STD-1553 avionics serial bus. + - ``PARallel`` specifies a parallel bus. + - ``RS232C`` specifies the RS-232 Serial bus. + - ``SENT`` specifies the Single Edge Nibble Transmission (SENT) automotive serial bus. + - ``SPI`` specifies the Serial Peripheral Interface bus. + - ``SPMI`` Specifies a System Power Management Interface bus. + - ``SVID`` Specifies a Serial VID bus. + - ``USB`` specifies the Universal Serial bus. + """ # noqa: E501 + return self._type + + @property + def usb(self) -> BusBItemUsb: + """Return the ``BUS:B:USB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B:USB?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B:USB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus waveform. + + Sub-properties: + - ``.bitrate``: The ``BUS:B:USB:BITRate`` command. + - ``.dataminusthreshold``: The ``BUS:B:USB:DATAMINUSTHRESHold`` command. + - ``.dataplusthreshold``: The ``BUS:B:USB:DATAPLUSTHRESHold`` command. + - ``.lowthreshold``: The ``BUS:B:USB:LOWTHRESHold`` command. + - ``.signaltype``: The ``BUS:B:USB:SIGNALTYpe`` command. + - ``.source``: The ``BUS:B:USB:SOUrce`` command. + - ``.threshold``: The ``BUS:B:USB:THRESHold`` command. + """ + return self._usb + + +class BusAddnew(SCPICmdWrite): + """The ``BUS:ADDNew`` command. + + Description: + - This command adds the specified bus. This command creates/adds the bus but does not + display it (turn it on). In order to enable bus decoding and see the bus display on + screen, send the ``DISPLAY:WAVEVIEWX:BUS:BX:STATE ON`` command. + + Usage: + - Using the ``.write(value)`` method will send the ``BUS:ADDNew value`` command. + + SCPI Syntax: + ``` + - BUS:ADDNew + ``` + + Info: + - ```` is a quoted string of the form 'B' where NR1 is ≥1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Bus(SCPICmdRead): + """The ``BUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``BUS:ADDNew`` command. + - ``.b``: The ``BUS:B`` command tree. + - ``.delete``: The ``BUS:DELete`` command. + - ``.list``: The ``BUS:LIST`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "BUS") -> None: + super().__init__(device, cmd_syntax) + self._addnew = BusAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._b: Dict[int, BusBItem] = DefaultDictPassKeyToFactory( + lambda x: BusBItem(device, f"{self._cmd_syntax}:B{x}") + ) + self._delete = BusDelete(device, f"{self._cmd_syntax}:DELete") + self._list = BusList(device, f"{self._cmd_syntax}:LIST") + + @property + def addnew(self) -> BusAddnew: + """Return the ``BUS:ADDNew`` command. + + Description: + - This command adds the specified bus. This command creates/adds the bus but does not + display it (turn it on). In order to enable bus decoding and see the bus display on + screen, send the ``DISPLAY:WAVEVIEWX:BUS:BX:STATE ON`` command. + + Usage: + - Using the ``.write(value)`` method will send the ``BUS:ADDNew value`` command. + + SCPI Syntax: + ``` + - BUS:ADDNew + ``` + + Info: + - ```` is a quoted string of the form 'B' where NR1 is ≥1. + """ + return self._addnew + + @property + def b(self) -> Dict[int, BusBItem]: + """Return the ``BUS:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS:B?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``B`` is the number of the bus. + + Sub-properties: + - ``.arinc429a``: The ``BUS:B:ARINC429A`` command tree. + - ``.audio``: The ``BUS:B:AUDio`` command tree. + - ``.autoethernet``: The ``BUS:B:AUTOETHERnet`` command tree. + - ``.can``: The ``BUS:B:CAN`` command tree. + - ``.cphy``: The ``BUS:B:CPHY`` command tree. + - ``.cxpi``: The ``BUS:B:CXPI`` command tree. + - ``.display``: The ``BUS:B:DISplay`` command tree. + - ``.dphy``: The ``BUS:B:DPHY`` command tree. + - ``.espi``: The ``BUS:B:ESPI`` command tree. + - ``.ethercat``: The ``BUS:B:ETHERCAT`` command tree. + - ``.ethernet``: The ``BUS:B:ETHERnet`` command tree. + - ``.eusb``: The ``BUS:B:EUSB`` command tree. + - ``.flexray``: The ``BUS:B:FLEXray`` command tree. + - ``.i2c``: The ``BUS:B:I2C`` command tree. + - ``.i3c``: The ``BUS:B:I3C`` command tree. + - ``.label``: The ``BUS:B:LABel`` command tree. + - ``.lin``: The ``BUS:B:LIN`` command tree. + - ``.manchester``: The ``BUS:B:MANChester`` command tree. + - ``.mdio``: The ``BUS:B:MDIO`` command tree. + - ``.mil1553b``: The ``BUS:B:MIL1553B`` command tree. + - ``.nrz``: The ``BUS:B:NRZ`` command tree. + - ``.onewire``: The ``BUS:B:ONEWIRe`` command tree. + - ``.parallel``: The ``BUS:B:PARallel`` command tree. + - ``.psifive``: The ``BUS:B:PSIFIVe`` command tree. + - ``.rs232c``: The ``BUS:B:RS232C`` command tree. + - ``.s8b10b``: The ``BUS:B:S8B10B`` command tree. + - ``.sdlc``: The ``BUS:B:SDLC`` command tree. + - ``.sent``: The ``BUS:B:SENT`` command tree. + - ``.smbus``: The ``BUS:B:SMBUS`` command tree. + - ``.spacewire``: The ``BUS:B:SPACEWIRe`` command tree. + - ``.spi``: The ``BUS:B:SPI`` command tree. + - ``.spmi``: The ``BUS:B:SPMI`` command tree. + - ``.svid``: The ``BUS:B:SVID`` command tree. + - ``.type``: The ``BUS:B:TYPe`` command. + - ``.usb``: The ``BUS:B:USB`` command tree. + """ + return self._b + + @property + def delete(self) -> BusDelete: + """Return the ``BUS:DELete`` command. + + Description: + - This command deletes the specified bus. + + Usage: + - Using the ``.write(value)`` method will send the ``BUS:DELete value`` command. + + SCPI Syntax: + ``` + - BUS:DELete + ``` + + Info: + - ```` specifies the bus to delete and is of the form 'B', where is + ≥1. + """ + return self._delete + + @property + def list(self) -> BusList: + """Return the ``BUS:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined buses. + + Usage: + - Using the ``.query()`` method will send the ``BUS:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``BUS:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - BUS:LIST? + ``` + """ + return self._list diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/callouts.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/callouts.py new file mode 100644 index 00000000..500cb61a --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/callouts.py @@ -0,0 +1,879 @@ +"""The callouts commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - CALLOUTS:CALLOUT + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class CalloutsCalloutItemType(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:TYPE`` command. + + Description: + - This command sets or queries type of the callout. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + ``` + + Info: + - ``NOTE`` specifies callout type as note. + - ``ARROW`` specifies callout type as arrow. + - ``RECTANGLE`` specifies callout type as rectangle. + - ``BOOKMARK`` specifies callout type as bookmark. + """ + + +class CalloutsCalloutItemText(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:TEXT`` command. + + Description: + - This command sets or queries the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + ``` + + Info: + - ```` specifies the callout text. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + + Description: + - This command sets or queries the underline state of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + ``` + + Info: + - ``1`` underlines the callout text. + - ``0`` does not underline the callout text. + """ + + +class CalloutsCalloutItemFontType(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + + Description: + - This command sets or queries type of the callout. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + ``` + + Info: + - ```` specifies the type of font for the callout text. The available font types + include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, Monospace, Sans + Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemFontSize(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + ``` + + Info: + - ```` specifies the font size in points. + """ + + +class CalloutsCalloutItemFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + + Description: + - This command sets or queries the italic state of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + ``` + + Info: + - ``1`` specifies the callout font style as italic. + - ``0`` does not specify the font style as italic. + """ + + +class CalloutsCalloutItemFontBold(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + ``` + + Info: + - ``1`` specifies the callout font weight as bold. + - ``0`` specifies the callout font weight as normal. + """ + + +class CalloutsCalloutItemFont(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = CalloutsCalloutItemFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = CalloutsCalloutItemFontItalic(device, f"{self._cmd_syntax}:ITALIC") + self._size = CalloutsCalloutItemFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = CalloutsCalloutItemFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = CalloutsCalloutItemFontUnderline(device, f"{self._cmd_syntax}:UNDERLine") + + @property + def bold(self) -> CalloutsCalloutItemFontBold: + """Return the ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:BOLD value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:BOLD {1|0} + - CALLOUTS:CALLOUT:FONT:BOLD? + ``` + + Info: + - ``1`` specifies the callout font weight as bold. + - ``0`` specifies the callout font weight as normal. + """ + return self._bold + + @property + def italic(self) -> CalloutsCalloutItemFontItalic: + """Return the ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + + Description: + - This command sets or queries the italic state of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:ITALIC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:ITALIC value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:ITALIC {1|0} + - CALLOUTS:CALLOUT:FONT:ITALIC? + ``` + + Info: + - ``1`` specifies the callout font style as italic. + - ``0`` does not specify the font style as italic. + """ + return self._italic + + @property + def size(self) -> CalloutsCalloutItemFontSize: + """Return the ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:SIZE value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:SIZE + - CALLOUTS:CALLOUT:FONT:SIZE? + ``` + + Info: + - ```` specifies the font size in points. + """ + return self._size + + @property + def type(self) -> CalloutsCalloutItemFontType: + """Return the ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + + Description: + - This command sets or queries type of the callout. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:TYPE value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:TYPE + - CALLOUTS:CALLOUT:FONT:TYPE? + ``` + + Info: + - ```` specifies the type of font for the callout text. The available font + types include: DejaVu Sans, DejaVu Sans Mono, DejaVu Serif, Frutiger LT Std, + Monospace, Sans Serif, Serif, Ubuntu, Ubuntu Condensed, and Ubuntu Mono. + """ + return self._type + + @property + def underline(self) -> CalloutsCalloutItemFontUnderline: + """Return the ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + + Description: + - This command sets or queries the underline state of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:FONT:UNDERLine value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:FONT:UNDERLine {1|0} + - CALLOUTS:CALLOUT:FONT:UNDERLine? + ``` + + Info: + - ``1`` underlines the callout text. + - ``0`` does not underline the callout text. + """ + return self._underline + + +class CalloutsCalloutItemDisplaypositionY(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + + Description: + - This command sets or queries vertical display position of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + ``` + + Info: + - ```` specifies the callout vertical display position. + """ + + +class CalloutsCalloutItemDisplaypositionX(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + + Description: + - This command sets or queries horizontal display position of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + ``` + + Info: + - ```` specifies the callout horizontal display position. + """ + + +class CalloutsCalloutItemDisplayposition(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._x = CalloutsCalloutItemDisplaypositionX(device, f"{self._cmd_syntax}:X") + self._y = CalloutsCalloutItemDisplaypositionY(device, f"{self._cmd_syntax}:Y") + + @property + def x(self) -> CalloutsCalloutItemDisplaypositionX: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + + Description: + - This command sets or queries horizontal display position of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:X value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:DISPLAYPOSition:X + - CALLOUTS:CALLOUT:DISPLAYPOSition:X? + ``` + + Info: + - ```` specifies the callout horizontal display position. + """ + return self._x + + @property + def y(self) -> CalloutsCalloutItemDisplaypositionY: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + + Description: + - This command sets or queries vertical display position of the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y + - CALLOUTS:CALLOUT:DISPLAYPOSition:Y? + ``` + + Info: + - ```` specifies the callout vertical display position. + """ + return self._y + + +class CalloutsCalloutItemColor(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:COLOR`` command. + + Description: + - This command sets or queries the text color of the callout. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + ``` + + Info: + - ```` specifies the callout text color using hexadecimal color values. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class CalloutsCalloutItemBookmarkXpos(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + + Description: + - This command sets or queries the X-Position of the Bookmark callout type. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + ``` + + Info: + - ```` specifies the location of the bookmark linked to the source waveform in X-axis. + """ + + +class CalloutsCalloutItemBookmarkSource(SCPICmdWrite, SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + + Description: + - This command sets or queries the source of the Bookmark callout type. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + ``` + + Info: + - ``CH1`` specifies the bookmark callout source as Ch1. + - ``CH2`` specifies the bookmark callout source as Ch2. + - ``CH3`` specifies the bookmark callout source as Ch3. + - ``CH4`` specifies the bookmark callout source as Ch4. + """ + + +class CalloutsCalloutItemBookmark(SCPICmdRead): + """The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = CalloutsCalloutItemBookmarkSource(device, f"{self._cmd_syntax}:SOURCE") + self._xpos = CalloutsCalloutItemBookmarkXpos(device, f"{self._cmd_syntax}:XPOS") + + @property + def source(self) -> CalloutsCalloutItemBookmarkSource: + """Return the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + + Description: + - This command sets or queries the source of the Bookmark callout type. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:SOURCE value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:BOOKMark:SOURCE {CH} + - CALLOUTS:CALLOUT:BOOKMark:SOURCE? + ``` + + Info: + - ``CH1`` specifies the bookmark callout source as Ch1. + - ``CH2`` specifies the bookmark callout source as Ch2. + - ``CH3`` specifies the bookmark callout source as Ch3. + - ``CH4`` specifies the bookmark callout source as Ch4. + """ + return self._source + + @property + def xpos(self) -> CalloutsCalloutItemBookmarkXpos: + """Return the ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + + Description: + - This command sets or queries the X-Position of the Bookmark callout type. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CALLOUTS:CALLOUT:BOOKMark:XPOS value`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:BOOKMark:XPOS + - CALLOUTS:CALLOUT:BOOKMark:XPOS? + ``` + + Info: + - ```` specifies the location of the bookmark linked to the source waveform in + X-axis. + """ + return self._xpos + + +class CalloutsCalloutItem(ValidatedDynamicNumberCmd, SCPICmdWriteNoArguments, SCPICmdRead): + """The ``CALLOUTS:CALLOUT`` command. + + Description: + - This command creates a new note. A Note is the default callout value. The callout number + is specified by x. + + Usage: + - Using the ``.write()`` method will send the ``CALLOUTS:CALLOUT`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT + ``` + + Properties: + - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. + - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. + - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bookmark = CalloutsCalloutItemBookmark(device, f"{self._cmd_syntax}:BOOKMark") + self._color = CalloutsCalloutItemColor(device, f"{self._cmd_syntax}:COLOR") + self._displayposition = CalloutsCalloutItemDisplayposition( + device, f"{self._cmd_syntax}:DISPLAYPOSition" + ) + self._font = CalloutsCalloutItemFont(device, f"{self._cmd_syntax}:FONT") + self._text = CalloutsCalloutItemText(device, f"{self._cmd_syntax}:TEXT") + self._type = CalloutsCalloutItemType(device, f"{self._cmd_syntax}:TYPE") + + @property + def bookmark(self) -> CalloutsCalloutItemBookmark: + """Return the ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:BOOKMark?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``CALLOUTS:CALLOUT:BOOKMark:SOURCE`` command. + - ``.xpos``: The ``CALLOUTS:CALLOUT:BOOKMark:XPOS`` command. + """ + return self._bookmark + + @property + def color(self) -> CalloutsCalloutItemColor: + """Return the ``CALLOUTS:CALLOUT:COLOR`` command. + + Description: + - This command sets or queries the text color of the callout. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:COLOR value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:COLOR + - CALLOUTS:CALLOUT:COLOR? + ``` + + Info: + - ```` specifies the callout text color using hexadecimal color values. + """ + return self._color + + @property + def displayposition(self) -> CalloutsCalloutItemDisplayposition: + """Return the ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``CALLOUTS:CALLOUT:DISPLAYPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.x``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:X`` command. + - ``.y``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition:Y`` command. + """ + return self._displayposition + + @property + def font(self) -> CalloutsCalloutItemFont: + """Return the ``CALLOUTS:CALLOUT:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``CALLOUTS:CALLOUT:FONT:BOLD`` command. + - ``.italic``: The ``CALLOUTS:CALLOUT:FONT:ITALIC`` command. + - ``.size``: The ``CALLOUTS:CALLOUT:FONT:SIZE`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:FONT:TYPE`` command. + - ``.underline``: The ``CALLOUTS:CALLOUT:FONT:UNDERLine`` command. + """ + return self._font + + @property + def text(self) -> CalloutsCalloutItemText: + """Return the ``CALLOUTS:CALLOUT:TEXT`` command. + + Description: + - This command sets or queries the callout text. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TEXT value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:TEXT + - CALLOUTS:CALLOUT:TEXT? + ``` + + Info: + - ```` specifies the callout text. + """ + return self._text + + @property + def type(self) -> CalloutsCalloutItemType: + """Return the ``CALLOUTS:CALLOUT:TYPE`` command. + + Description: + - This command sets or queries type of the callout. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CALLOUTS:CALLOUT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT:TYPE {NOTE|ARROW|RECTANGLE|BOOKMARK} + - CALLOUTS:CALLOUT:TYPE? + ``` + + Info: + - ``NOTE`` specifies callout type as note. + - ``ARROW`` specifies callout type as arrow. + - ``RECTANGLE`` specifies callout type as rectangle. + - ``BOOKMARK`` specifies callout type as bookmark. + """ + return self._type + + +class Callouts(SCPICmdRead): + """The ``CALLOUTS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "CALLOUTS") -> None: + super().__init__(device, cmd_syntax) + self._callout: Dict[int, CalloutsCalloutItem] = DefaultDictPassKeyToFactory( + lambda x: CalloutsCalloutItem(device, f"{self._cmd_syntax}:CALLOUT{x}") + ) + + @property + def callout(self) -> Dict[int, CalloutsCalloutItem]: + """Return the ``CALLOUTS:CALLOUT`` command. + + Description: + - This command creates a new note. A Note is the default callout value. The callout + number is specified by x. + + Usage: + - Using the ``.write()`` method will send the ``CALLOUTS:CALLOUT`` command. + + SCPI Syntax: + ``` + - CALLOUTS:CALLOUT + ``` + + Sub-properties: + - ``.bookmark``: The ``CALLOUTS:CALLOUT:BOOKMark`` command tree. + - ``.color``: The ``CALLOUTS:CALLOUT:COLOR`` command. + - ``.displayposition``: The ``CALLOUTS:CALLOUT:DISPLAYPOSition`` command tree. + - ``.font``: The ``CALLOUTS:CALLOUT:FONT`` command tree. + - ``.text``: The ``CALLOUTS:CALLOUT:TEXT`` command. + - ``.type``: The ``CALLOUTS:CALLOUT:TYPE`` command. + """ + return self._callout diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/ch.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/ch.py new file mode 100644 index 00000000..302704e4 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/ch.py @@ -0,0 +1,3196 @@ +"""The ch commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - CH:BANdwidth {|FULl} + - CH:BANdwidth:FILTer:OPTIMIZation {STEPRESPONSE|FLATNESS} + - CH:BANdwidth:FILTer:OPTIMIZation? + - CH:BANdwidth? + - CH:DITHERrange + - CH:INVert {ON|OFF|} + - CH:INVert? + - CH:PROBECOntrol {AUTO|MANual} + - CH:PROBECOntrol? + - CH:PROBECal? + - CH:PROBEFunc:EXTAtten + - CH:PROBEFunc:EXTAtten? + - CH:PROBEFunc:EXTDBatten + - CH:PROBEFunc:EXTDBatten? + - CH:PROBEFunc:EXTUnits + - CH:PROBEFunc:EXTUnits:STATE {ON|OFF|} + - CH:PROBEFunc:EXTUnits? + - CH:PRObe:AUTOZero EXECute + - CH:PRObe:COMPensate + - CH:PRObe:DEGAUSS EXECute + - CH:PRObe:DEGAUSS:STATE? + - CH:PRObe:FORCEDRange + - CH:PRObe:FORCEDRange? + - CH:PRObe:GAIN? + - CH:PRObe:ID:SERnumber? + - CH:PRObe:ID:TYPe? + - CH:PRObe:ID? + - CH:PRObe:INPUTMode {A|B|C|D} + - CH:PRObe:INPUTMode:AOFFSet + - CH:PRObe:INPUTMode:AOFFSet? + - CH:PRObe:INPUTMode:BOFFSet + - CH:PRObe:INPUTMode:BOFFSet? + - CH:PRObe:INPUTMode:COFFSet + - CH:PRObe:INPUTMode:COFFSet? + - CH:PRObe:INPUTMode:DOFFSet + - CH:PRObe:INPUTMode:DOFFSet? + - CH:PRObe:INPUTMode? + - CH:PRObe:RESistance? + - CH:PRObe:SELFCal EXECUTE + - CH:PRObe:SELFCal:State? EXECUTE + - CH:PRObe:SET + - CH:PRObe:SET? + - CH:PRObe:STATus? + - CH:PRObe:UNIts? + - CH:PRObe? + - CH:SCALERATio + - CH:SCALERATio? + - CH:SV:SPANABovebw? + - CH:SV:SPANBELowdc? + - CH:TERmination + - CH:TERmination? + - CH:VTERm:BIAS + - CH:VTERm:BIAS? + - CH? + - CH_D:LABel:COLor + - CH_D:LABel:COLor? + - CH_D:LABel:FONT:BOLD {ON|OFF|} + - CH_D:LABel:FONT:BOLD? + - CH_D:LABel:FONT:ITALic {ON|OFF|} + - CH_D:LABel:FONT:ITALic? + - CH_D:LABel:FONT:SIZE + - CH_D:LABel:FONT:SIZE? + - CH_D:LABel:FONT:TYPE + - CH_D:LABel:FONT:TYPE? + - CH_D:LABel:FONT:UNDERline {ON|OFF|} + - CH_D:LABel:FONT:UNDERline? + - CH_D:LABel:NAMe + - CH_D:LABel:NAMe? + - CH_DALL:LABel:COLor + - CH_DALL:LABel:COLor? + - CH_DALL:LABel:FONT:BOLD {ON|OFF|} + - CH_DALL:LABel:FONT:BOLD? + - CH_DALL:LABel:FONT:ITALic {ON|OFF|} + - CH_DALL:LABel:FONT:ITALic? + - CH_DALL:LABel:FONT:SIZE + - CH_DALL:LABel:FONT:SIZE? + - CH_DALL:LABel:FONT:TYPE + - CH_DALL:LABel:FONT:TYPE? + - CH_DALL:LABel:FONT:UNDERline {ON|OFF|} + - CH_DALL:LABel:FONT:UNDERline? + - CH_DALL:LABel:NAMe + - CH_DALL:LABel:NAMe? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdReadWithArguments, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDigitalBit, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class ChannelDallLabelName(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:NAMe`` command. + + Description: + - This command sets or queries the label of the specified digital group. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:NAMe value`` command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:NAMe + - CH_DALL:LABel:NAMe? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the name of the group. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelDallLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified digital group. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:UNDERline {ON|OFF|} + - CH_DALL:LABel:FONT:UNDERline? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + + +class ChannelDallLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified digital group, such as Arial + or Times New Roman. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:TYPE + - CH_DALL:LABel:FONT:TYPE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelDallLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified digital group. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:SIZE + - CH_DALL:LABel:FONT:SIZE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font size. + """ + + +class ChannelDallLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified digital group. The channel + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:ITALic {ON|OFF|} + - CH_DALL:LABel:FONT:ITALic? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + + +class ChannelDallLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified digital group. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:BOLD {ON|OFF|} + - CH_DALL:LABel:FONT:BOLD? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + + +class ChannelDallLabelFont(SCPICmdRead): + """The ``CH_DALL:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.bold``: The ``CH_DALL:LABel:FONT:BOLD`` command. + - ``.italic``: The ``CH_DALL:LABel:FONT:ITALic`` command. + - ``.size``: The ``CH_DALL:LABel:FONT:SIZE`` command. + - ``.type``: The ``CH_DALL:LABel:FONT:TYPE`` command. + - ``.underline``: The ``CH_DALL:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = ChannelDallLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = ChannelDallLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = ChannelDallLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = ChannelDallLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = ChannelDallLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> ChannelDallLabelFontBold: + """Return the ``CH_DALL:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified digital group. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:BOLD {ON|OFF|} + - CH_DALL:LABel:FONT:BOLD? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + return self._bold + + @property + def italic(self) -> ChannelDallLabelFontItalic: + """Return the ``CH_DALL:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified digital group. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH_DALL:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:ITALic {ON|OFF|} + - CH_DALL:LABel:FONT:ITALic? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + return self._italic + + @property + def size(self) -> ChannelDallLabelFontSize: + """Return the ``CH_DALL:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified digital group. The channel + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:SIZE + - CH_DALL:LABel:FONT:SIZE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> ChannelDallLabelFontType: + """Return the ``CH_DALL:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified digital group, such as + Arial or Times New Roman. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:TYPE + - CH_DALL:LABel:FONT:TYPE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font type. + """ + return self._type + + @property + def underline(self) -> ChannelDallLabelFontUnderline: + """Return the ``CH_DALL:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified digital group. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH_DALL:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:FONT:UNDERline {ON|OFF|} + - CH_DALL:LABel:FONT:UNDERline? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + return self._underline + + +class ChannelDallLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``CH_DALL:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified digital group label. The channel + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:COLor value`` command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:COLor + - CH_DALL:LABel:COLor? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the color of the digital group label. To return the color to the default + color, send an empty string as in this example: ``:CH5_DALL:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelDallLabel(SCPICmdRead): + """The ``CH_DALL:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.color``: The ``CH_DALL:LABel:COLor`` command. + - ``.font``: The ``CH_DALL:LABel:FONT`` command tree. + - ``.name``: The ``CH_DALL:LABel:NAMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = ChannelDallLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = ChannelDallLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = ChannelDallLabelName(device, f"{self._cmd_syntax}:NAMe") + + @property + def color(self) -> ChannelDallLabelColor: + """Return the ``CH_DALL:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified digital group label. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:COLor + - CH_DALL:LABel:COLor? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the color of the digital group label. To return the color to the + default color, send an empty string as in this example: ``:CH5_DALL:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> ChannelDallLabelFont: + """Return the ``CH_DALL:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.bold``: The ``CH_DALL:LABel:FONT:BOLD`` command. + - ``.italic``: The ``CH_DALL:LABel:FONT:ITALic`` command. + - ``.size``: The ``CH_DALL:LABel:FONT:SIZE`` command. + - ``.type``: The ``CH_DALL:LABel:FONT:TYPE`` command. + - ``.underline``: The ``CH_DALL:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> ChannelDallLabelName: + """Return the ``CH_DALL:LABel:NAMe`` command. + + Description: + - This command sets or queries the label of the specified digital group. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_DALL:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - CH_DALL:LABel:NAMe + - CH_DALL:LABel:NAMe? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the name of the group. + """ + return self._name + + +class ChannelDall(SCPICmdRead): + """The ``CH_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.label``: The ``CH_DALL:LABel`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._label = ChannelDallLabel(device, f"{self._cmd_syntax}:LABel") + + @property + def label(self) -> ChannelDallLabel: + """Return the ``CH_DALL:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.color``: The ``CH_DALL:LABel:COLor`` command. + - ``.font``: The ``CH_DALL:LABel:FONT`` command tree. + - ``.name``: The ``CH_DALL:LABel:NAMe`` command. + """ + return self._label + + +class ChannelDigitalBitLabelName(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:NAMe`` command. + + Description: + - Sets or queries the label of the specified digital bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:NAMe value`` command. + + SCPI Syntax: + ``` + - CH_D:LABel:NAMe + - CH_D:LABel:NAMe? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the label. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelDigitalBitLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the label of the specified digital + bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:UNDERline value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:UNDERline {ON|OFF|} + - CH_D:LABel:FONT:UNDERline? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + + +class ChannelDigitalBitLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the label of the specified digital bit, such + as Arial or Times New Roman. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:TYPE + - CH_D:LABel:FONT:TYPE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font type of the label. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelDigitalBitLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the label of the specified digital bit. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:SIZE + - CH_D:LABel:FONT:SIZE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font size. + """ + + +class ChannelDigitalBitLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the label of the specified digital bit. + The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:ITALic {ON|OFF|} + - CH_D:LABel:FONT:ITALic? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + + +class ChannelDigitalBitLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the label of the specified digital bit. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:BOLD {ON|OFF|} + - CH_D:LABel:FONT:BOLD? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + + +class ChannelDigitalBitLabelFont(SCPICmdRead): + """The ``CH_D:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.bold``: The ``CH_D:LABel:FONT:BOLD`` command. + - ``.italic``: The ``CH_D:LABel:FONT:ITALic`` command. + - ``.size``: The ``CH_D:LABel:FONT:SIZE`` command. + - ``.type``: The ``CH_D:LABel:FONT:TYPE`` command. + - ``.underline``: The ``CH_D:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = ChannelDigitalBitLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = ChannelDigitalBitLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = ChannelDigitalBitLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = ChannelDigitalBitLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = ChannelDigitalBitLabelFontUnderline( + device, f"{self._cmd_syntax}:UNDERline" + ) + + @property + def bold(self) -> ChannelDigitalBitLabelFontBold: + """Return the ``CH_D:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the label of the specified digital bit. + The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:BOLD {ON|OFF|} + - CH_D:LABel:FONT:BOLD? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + return self._bold + + @property + def italic(self) -> ChannelDigitalBitLabelFontItalic: + """Return the ``CH_D:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the label of the specified digital + bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH_D:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:ITALic {ON|OFF|} + - CH_D:LABel:FONT:ITALic? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + return self._italic + + @property + def size(self) -> ChannelDigitalBitLabelFontSize: + """Return the ``CH_D:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the label of the specified digital bit. + The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:SIZE + - CH_D:LABel:FONT:SIZE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> ChannelDigitalBitLabelFontType: + """Return the ``CH_D:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the label of the specified digital bit, + such as Arial or Times New Roman. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:TYPE + - CH_D:LABel:FONT:TYPE? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the font type of the label. + """ + return self._type + + @property + def underline(self) -> ChannelDigitalBitLabelFontUnderline: + """Return the ``CH_D:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the label of the specified digital + bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH_D:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - CH_D:LABel:FONT:UNDERline {ON|OFF|} + - CH_D:LABel:FONT:UNDERline? + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + return self._underline + + +class ChannelDigitalBitLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``CH_D:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the label of the specified digital bit. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:COLor value`` command. + + SCPI Syntax: + ``` + - CH_D:LABel:COLor + - CH_D:LABel:COLor? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the label color. To return the color to the default color, send an empty + string as in this example: ``:CH5_D1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelDigitalBitLabel(SCPICmdRead): + """The ``CH_D:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.color``: The ``CH_D:LABel:COLor`` command. + - ``.font``: The ``CH_D:LABel:FONT`` command tree. + - ``.name``: The ``CH_D:LABel:NAMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = ChannelDigitalBitLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = ChannelDigitalBitLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = ChannelDigitalBitLabelName(device, f"{self._cmd_syntax}:NAMe") + + @property + def color(self) -> ChannelDigitalBitLabelColor: + """Return the ``CH_D:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the label of the specified digital bit. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:COLor + - CH_D:LABel:COLor? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the label color. To return the color to the default color, send an + empty string as in this example: ``:CH5_D1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> ChannelDigitalBitLabelFont: + """Return the ``CH_D:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.bold``: The ``CH_D:LABel:FONT:BOLD`` command. + - ``.italic``: The ``CH_D:LABel:FONT:ITALic`` command. + - ``.size``: The ``CH_D:LABel:FONT:SIZE`` command. + - ``.type``: The ``CH_D:LABel:FONT:TYPE`` command. + - ``.underline``: The ``CH_D:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> ChannelDigitalBitLabelName: + """Return the ``CH_D:LABel:NAMe`` command. + + Description: + - Sets or queries the label of the specified digital bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH_D:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - CH_D:LABel:NAMe + - CH_D:LABel:NAMe? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the label. + """ + return self._name + + +class ChannelDigitalBit(ValidatedDigitalBit, SCPICmdRead): + """The ``CH_D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_D?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.label``: The ``CH_D:LABel`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._label = ChannelDigitalBitLabel(device, f"{self._cmd_syntax}:LABel") + + @property + def label(self) -> ChannelDigitalBitLabel: + """Return the ``CH_D:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_D:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.color``: The ``CH_D:LABel:COLor`` command. + - ``.font``: The ``CH_D:LABel:FONT`` command tree. + - ``.name``: The ``CH_D:LABel:NAMe`` command. + """ + return self._label + + +class ChannelVtermBias(SCPICmdWrite, SCPICmdRead): + """The ``CH:VTERm:BIAS`` command. + + Description: + - Sets or queries the termination bias voltage for the specified channel (if control is + available). + + Usage: + - Using the ``.query()`` method will send the ``CH:VTERm:BIAS?`` query. + - Using the ``.verify(value)`` method will send the ``CH:VTERm:BIAS?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:VTERm:BIAS value`` command. + + SCPI Syntax: + ``` + - CH:VTERm:BIAS + - CH:VTERm:BIAS? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the termination voltage. + """ + + +class ChannelVterm(SCPICmdRead): + """The ``CH:VTERm`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:VTERm?`` query. + - Using the ``.verify(value)`` method will send the ``CH:VTERm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.bias``: The ``CH:VTERm:BIAS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bias = ChannelVtermBias(device, f"{self._cmd_syntax}:BIAS") + + @property + def bias(self) -> ChannelVtermBias: + """Return the ``CH:VTERm:BIAS`` command. + + Description: + - Sets or queries the termination bias voltage for the specified channel (if control is + available). + + Usage: + - Using the ``.query()`` method will send the ``CH:VTERm:BIAS?`` query. + - Using the ``.verify(value)`` method will send the ``CH:VTERm:BIAS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:VTERm:BIAS value`` command. + + SCPI Syntax: + ``` + - CH:VTERm:BIAS + - CH:VTERm:BIAS? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the termination voltage. + """ + return self._bias + + +class ChannelTermination(SCPICmdWrite, SCPICmdRead): + """The ``CH:TERmination`` command. + + Description: + - This command sets or queries the vertical termination for the specified analog channel. + The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:TERmination?`` query. + - Using the ``.verify(value)`` method will send the ``CH:TERmination?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:TERmination value`` command. + + SCPI Syntax: + ``` + - CH:TERmination + - CH:TERmination? + ``` + + Info: + - ``CH`` is the channel number. + - ```` specifies the channel input resistance, which can be specified as 50 Ω or + 1,000,000 Ω. + """ + + +class ChannelSvSpanbelowdc(SCPICmdRead): + """The ``CH:SV:SPANBELowdc`` command. + + Description: + - This command queries whether the start frequency for the specified spectrum trace channel + is below 0 Hz. + + Usage: + - Using the ``.query()`` method will send the ``CH:SV:SPANBELowdc?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SV:SPANBELowdc?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:SV:SPANBELowdc? + ``` + + Info: + - ``CH`` specifies the spectrum trace channel source. + """ + + +class ChannelSvSpanabovebw(SCPICmdRead): + """The ``CH:SV:SPANABovebw`` command. + + Description: + - This command queries whether the stop frequency for the specified spectrum trace channel + is above the scope input bandwidth. + + Usage: + - Using the ``.query()`` method will send the ``CH:SV:SPANABovebw?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SV:SPANABovebw?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:SV:SPANABovebw? + ``` + + Info: + - ``CH`` specifies the spectrum trace channel source. + """ + + +class ChannelSv(SCPICmdRead): + """The ``CH:SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:SV?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` specifies the spectrum trace channel source. + + Properties: + - ``.spanabovebw``: The ``CH:SV:SPANABovebw`` command. + - ``.spanbelowdc``: The ``CH:SV:SPANBELowdc`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._spanabovebw = ChannelSvSpanabovebw(device, f"{self._cmd_syntax}:SPANABovebw") + self._spanbelowdc = ChannelSvSpanbelowdc(device, f"{self._cmd_syntax}:SPANBELowdc") + + @property + def spanabovebw(self) -> ChannelSvSpanabovebw: + """Return the ``CH:SV:SPANABovebw`` command. + + Description: + - This command queries whether the stop frequency for the specified spectrum trace + channel is above the scope input bandwidth. + + Usage: + - Using the ``.query()`` method will send the ``CH:SV:SPANABovebw?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SV:SPANABovebw?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:SV:SPANABovebw? + ``` + + Info: + - ``CH`` specifies the spectrum trace channel source. + """ + return self._spanabovebw + + @property + def spanbelowdc(self) -> ChannelSvSpanbelowdc: + """Return the ``CH:SV:SPANBELowdc`` command. + + Description: + - This command queries whether the start frequency for the specified spectrum trace + channel is below 0 Hz. + + Usage: + - Using the ``.query()`` method will send the ``CH:SV:SPANBELowdc?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SV:SPANBELowdc?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:SV:SPANBELowdc? + ``` + + Info: + - ``CH`` specifies the spectrum trace channel source. + """ + return self._spanbelowdc + + +class ChannelScaleratio(SCPICmdWrite, SCPICmdRead): + """The ``CH:SCALERATio`` command. + + Description: + - This command sets or returns the scale ratio for the specified analog channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:SCALERATio?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SCALERATio?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:SCALERATio value`` command. + + SCPI Syntax: + ``` + - CH:SCALERATio + - CH:SCALERATio? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the scale ratio for the specified analog channel. + """ + + +class ChannelProbeUnits(SCPICmdRead): + """The ``CH:PRObe:UNIts`` command. + + Description: + - This query-only command returns a string describing the units of measure for the probe + attached to the specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:UNIts?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:UNIts?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:UNIts? + ``` + """ + + +class ChannelProbeStatus(SCPICmdRead): + """The ``CH:PRObe:STATus`` command. + + Description: + - Queries the probe unsigned integer error value. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:STATus?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:STATus?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:STATus? + ``` + """ + + +class ChannelProbeSet(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:SET`` command. + + Description: + - This command sets or queries aspects of probe accessory user interfaces, for example probe + attenuation factors or probe audible over range. The available arguments for this command + will vary depending on the accessory you attach to the instrument. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:SET?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:SET?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:SET value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:SET + - CH:PRObe:SET? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is a quoted string representing a settable aspect of the attached accessory. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class ChannelProbeSelfcalState(SCPICmdReadWithArguments): + """The ``CH:PRObe:SELFCal:State`` command. + + Description: + - This query-only command returns the self-calibration state. The channel is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``CH:PRObe:SELFCal:State? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``CH:PRObe:SELFCal:State? argument`` query and raise an AssertionError if the returned + value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:SELFCal:State? EXECUTE + ``` + """ + + +class ChannelProbeSelfcal(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:SELFCal`` command. + + Description: + - This command initiates self-calibration on the probe. The channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PRObe:SELFCal value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:SELFCal EXECUTE + ``` + + Properties: + - ``.state``: The ``CH:PRObe:SELFCal:State`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ChannelProbeSelfcalState(device, f"{self._cmd_syntax}:State") + + @property + def state(self) -> ChannelProbeSelfcalState: + """Return the ``CH:PRObe:SELFCal:State`` command. + + Description: + - This query-only command returns the self-calibration state. The channel is specified + by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``CH:PRObe:SELFCal:State? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``CH:PRObe:SELFCal:State? argument`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:SELFCal:State? EXECUTE + ``` + """ + return self._state + + +class ChannelProbeResistance(SCPICmdRead): + """The ``CH:PRObe:RESistance`` command. + + Description: + - This query-only command returns the resistance of the probe that is attached to the + specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:RESistance?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:RESistance?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:RESistance? + ``` + """ + + +class ChannelProbeInputmodeDoffset(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:INPUTMode:DOFFSet`` command. + + Description: + - Sets or queries the differential offset value of the probe that is attached to the + specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:DOFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:DOFFSet?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:INPUTMode:DOFFSet value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:DOFFSet + - CH:PRObe:INPUTMode:DOFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the D (differential) mode offset value, in vertical units (V or A). + """ + + +class ChannelProbeInputmodeCoffset(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:INPUTMode:COFFSet`` command. + + Description: + - Sets or queries the common mode offset value of the probe that is attached to the + specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:COFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:COFFSet?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:INPUTMode:COFFSet value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:COFFSet + - CH:PRObe:INPUTMode:COFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the C (common) mode offset value, in vertical units (V or A). + """ + + +class ChannelProbeInputmodeBoffset(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:INPUTMode:BOFFSet`` command. + + Description: + - Sets or queries the B mode offset control of the probe that is attached to the specified + channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:BOFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:BOFFSet?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:INPUTMode:BOFFSet value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:BOFFSet + - CH:PRObe:INPUTMode:BOFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the B mode offset value, in vertical units (V or A). + """ + + +class ChannelProbeInputmodeAoffset(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:INPUTMode:AOFFSet`` command. + + Description: + - Sets or queries the A mode offset control of the probe that is attached to the specified + channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:AOFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:AOFFSet?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:INPUTMode:AOFFSet value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:AOFFSet + - CH:PRObe:INPUTMode:AOFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the A mode offset value, in vertical units (V or A). + """ + + +class ChannelProbeInputmode(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:INPUTMode`` command. + + Description: + - Sets or queries the input mode of the probe that is attached to the specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:INPUTMode value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode {A|B|C|D} + - CH:PRObe:INPUTMode? + ``` + + Info: + - ``CH`` is the channel number. + - ``A`` sets the probe to send single-ended A signals to the instrument. + - ``B`` sets the probe to send single-ended B signals to the instrument. + - ``COMMONMODE`` sets the probe to send common-mode signals to the instrument. + - ``DIFFERENTIAL`` sets the probe to send differential signals to the instrument. + + Properties: + - ``.aoffset``: The ``CH:PRObe:INPUTMode:AOFFSet`` command. + - ``.boffset``: The ``CH:PRObe:INPUTMode:BOFFSet`` command. + - ``.coffset``: The ``CH:PRObe:INPUTMode:COFFSet`` command. + - ``.doffset``: The ``CH:PRObe:INPUTMode:DOFFSet`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aoffset = ChannelProbeInputmodeAoffset(device, f"{self._cmd_syntax}:AOFFSet") + self._boffset = ChannelProbeInputmodeBoffset(device, f"{self._cmd_syntax}:BOFFSet") + self._coffset = ChannelProbeInputmodeCoffset(device, f"{self._cmd_syntax}:COFFSet") + self._doffset = ChannelProbeInputmodeDoffset(device, f"{self._cmd_syntax}:DOFFSet") + + @property + def aoffset(self) -> ChannelProbeInputmodeAoffset: + """Return the ``CH:PRObe:INPUTMode:AOFFSet`` command. + + Description: + - Sets or queries the A mode offset control of the probe that is attached to the + specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:AOFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:AOFFSet?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH:PRObe:INPUTMode:AOFFSet value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:AOFFSet + - CH:PRObe:INPUTMode:AOFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the A mode offset value, in vertical units (V or A). + """ + return self._aoffset + + @property + def boffset(self) -> ChannelProbeInputmodeBoffset: + """Return the ``CH:PRObe:INPUTMode:BOFFSet`` command. + + Description: + - Sets or queries the B mode offset control of the probe that is attached to the + specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:BOFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:BOFFSet?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH:PRObe:INPUTMode:BOFFSet value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:BOFFSet + - CH:PRObe:INPUTMode:BOFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the B mode offset value, in vertical units (V or A). + """ + return self._boffset + + @property + def coffset(self) -> ChannelProbeInputmodeCoffset: + """Return the ``CH:PRObe:INPUTMode:COFFSet`` command. + + Description: + - Sets or queries the common mode offset value of the probe that is attached to the + specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:COFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:COFFSet?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH:PRObe:INPUTMode:COFFSet value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:COFFSet + - CH:PRObe:INPUTMode:COFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the C (common) mode offset value, in vertical units (V or A). + """ + return self._coffset + + @property + def doffset(self) -> ChannelProbeInputmodeDoffset: + """Return the ``CH:PRObe:INPUTMode:DOFFSet`` command. + + Description: + - Sets or queries the differential offset value of the probe that is attached to the + specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode:DOFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode:DOFFSet?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH:PRObe:INPUTMode:DOFFSet value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode:DOFFSet + - CH:PRObe:INPUTMode:DOFFSet? + ``` + + Info: + - ``CH`` is the channel number. + - ```` sets the D (differential) mode offset value, in vertical units (V or A). + """ + return self._doffset + + +class ChannelProbeIdType(SCPICmdRead): + """The ``CH:PRObe:ID:TYPe`` command. + + Description: + - This query-only command returns the type of probe that is attached to the specified + channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:ID:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:ID:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:ID:TYPe? + ``` + """ + + +class ChannelProbeIdSernumber(SCPICmdRead): + """The ``CH:PRObe:ID:SERnumber`` command. + + Description: + - This query-only command returns the serial number of the probe that is attached to the + specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:ID:SERnumber?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:ID:SERnumber?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:ID:SERnumber? + ``` + """ + + +class ChannelProbeId(SCPICmdRead): + """The ``CH:PRObe:ID`` command. + + Description: + - This query-only command returns the type and serial number of the probe that is attached + to the specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:ID?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:ID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:ID? + ``` + + Properties: + - ``.sernumber``: The ``CH:PRObe:ID:SERnumber`` command. + - ``.type``: The ``CH:PRObe:ID:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sernumber = ChannelProbeIdSernumber(device, f"{self._cmd_syntax}:SERnumber") + self._type = ChannelProbeIdType(device, f"{self._cmd_syntax}:TYPe") + + @property + def sernumber(self) -> ChannelProbeIdSernumber: + """Return the ``CH:PRObe:ID:SERnumber`` command. + + Description: + - This query-only command returns the serial number of the probe that is attached to the + specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:ID:SERnumber?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:ID:SERnumber?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:ID:SERnumber? + ``` + """ + return self._sernumber + + @property + def type(self) -> ChannelProbeIdType: + """Return the ``CH:PRObe:ID:TYPe`` command. + + Description: + - This query-only command returns the type of probe that is attached to the specified + channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:ID:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:ID:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:ID:TYPe? + ``` + """ + return self._type + + +class ChannelProbeGain(SCPICmdRead): + """The ``CH:PRObe:GAIN`` command. + + Description: + - This query-only command returns the gain factor of the probe that is attached to the + specified channel. The channel is specified by x. The gain of a probe is the output + divided by the input transfer ratio. For example, a common 10x probe has a gain of 0.1. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:GAIN?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:GAIN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:GAIN? + ``` + """ + + +class ChannelProbeForcedrange(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:FORCEDRange`` command. + + Description: + - This command sets the attached TekVPI probe to the specified range, or it queries the + range of the probe attached to the specified channel. If the argument does not match + one of the available ranges, the closest range will be selected. The channel is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:FORCEDRange?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:FORCEDRange?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:FORCEDRange value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:FORCEDRange + - CH:PRObe:FORCEDRange? + ``` + + Info: + - ``CH`` is the channel number. + - ```` specifies the probe dynamic range. + """ + + +class ChannelProbeDegaussState(SCPICmdRead): + """The ``CH:PRObe:DEGAUSS:STATE`` command. + + Description: + - This command queries whether the probe attached to the specified channel requires a + degauss operation. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:DEGAUSS:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:DEGAUSS:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:DEGAUSS:STATE? + ``` + """ + + +class ChannelProbeDegauss(SCPICmdWrite, SCPICmdRead): + """The ``CH:PRObe:DEGAUSS`` command. + + Description: + - This command starts a degauss cycle of the TekVPI probe attached to the specified channel. + The channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PRObe:DEGAUSS value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:DEGAUSS EXECute + ``` + + Info: + - ``CH`` is the channel number. + - ``EXECute`` starts the degauss cycle. + + Properties: + - ``.state``: The ``CH:PRObe:DEGAUSS:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ChannelProbeDegaussState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ChannelProbeDegaussState: + """Return the ``CH:PRObe:DEGAUSS:STATE`` command. + + Description: + - This command queries whether the probe attached to the specified channel requires a + degauss operation. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:DEGAUSS:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:DEGAUSS:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:DEGAUSS:STATE? + ``` + """ + return self._state + + +class ChannelProbeCompensate(SCPICmdWriteNoArguments): + """The ``CH:PRObe:COMPensate`` command. + + Description: + - This command starts the probe compensation procedure for passive probes. The channel is + specified by x. + + Usage: + - Using the ``.write()`` method will send the ``CH:PRObe:COMPensate`` command. + + SCPI Syntax: + ``` + - CH:PRObe:COMPensate + ``` + """ + + +class ChannelProbeAutozero(SCPICmdWrite): + """The ``CH:PRObe:AUTOZero`` command. + + Description: + - This command executes the attached probe's Auto Zero function, for probes that support + this feature. See your probe documentation for more details. The channel is specified by + x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PRObe:AUTOZero value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:AUTOZero EXECute + ``` + + Info: + - ``CH`` is the channel number. + - ``EXECute`` sets the probe attached to the specified channel to autozero. + """ + + +# pylint: disable=too-many-instance-attributes +class ChannelProbe(SCPICmdRead): + """The ``CH:PRObe`` command. + + Description: + - This query-only command returns all information concerning the probe that is attached to + the specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe? + ``` + + Properties: + - ``.autozero``: The ``CH:PRObe:AUTOZero`` command. + - ``.compensate``: The ``CH:PRObe:COMPensate`` command. + - ``.degauss``: The ``CH:PRObe:DEGAUSS`` command. + - ``.forcedrange``: The ``CH:PRObe:FORCEDRange`` command. + - ``.gain``: The ``CH:PRObe:GAIN`` command. + - ``.id``: The ``CH:PRObe:ID`` command. + - ``.inputmode``: The ``CH:PRObe:INPUTMode`` command. + - ``.resistance``: The ``CH:PRObe:RESistance`` command. + - ``.selfcal``: The ``CH:PRObe:SELFCal`` command. + - ``.set``: The ``CH:PRObe:SET`` command. + - ``.status``: The ``CH:PRObe:STATus`` command. + - ``.units``: The ``CH:PRObe:UNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autozero = ChannelProbeAutozero(device, f"{self._cmd_syntax}:AUTOZero") + self._compensate = ChannelProbeCompensate(device, f"{self._cmd_syntax}:COMPensate") + self._degauss = ChannelProbeDegauss(device, f"{self._cmd_syntax}:DEGAUSS") + self._forcedrange = ChannelProbeForcedrange(device, f"{self._cmd_syntax}:FORCEDRange") + self._gain = ChannelProbeGain(device, f"{self._cmd_syntax}:GAIN") + self._id = ChannelProbeId(device, f"{self._cmd_syntax}:ID") + self._inputmode = ChannelProbeInputmode(device, f"{self._cmd_syntax}:INPUTMode") + self._resistance = ChannelProbeResistance(device, f"{self._cmd_syntax}:RESistance") + self._selfcal = ChannelProbeSelfcal(device, f"{self._cmd_syntax}:SELFCal") + self._set = ChannelProbeSet(device, f"{self._cmd_syntax}:SET") + self._status = ChannelProbeStatus(device, f"{self._cmd_syntax}:STATus") + self._units = ChannelProbeUnits(device, f"{self._cmd_syntax}:UNIts") + + @property + def autozero(self) -> ChannelProbeAutozero: + """Return the ``CH:PRObe:AUTOZero`` command. + + Description: + - This command executes the attached probe's Auto Zero function, for probes that support + this feature. See your probe documentation for more details. The channel is specified + by x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PRObe:AUTOZero value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:AUTOZero EXECute + ``` + + Info: + - ``CH`` is the channel number. + - ``EXECute`` sets the probe attached to the specified channel to autozero. + """ + return self._autozero + + @property + def compensate(self) -> ChannelProbeCompensate: + """Return the ``CH:PRObe:COMPensate`` command. + + Description: + - This command starts the probe compensation procedure for passive probes. The channel + is specified by x. + + Usage: + - Using the ``.write()`` method will send the ``CH:PRObe:COMPensate`` command. + + SCPI Syntax: + ``` + - CH:PRObe:COMPensate + ``` + """ + return self._compensate + + @property + def degauss(self) -> ChannelProbeDegauss: + """Return the ``CH:PRObe:DEGAUSS`` command. + + Description: + - This command starts a degauss cycle of the TekVPI probe attached to the specified + channel. The channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PRObe:DEGAUSS value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:DEGAUSS EXECute + ``` + + Info: + - ``CH`` is the channel number. + - ``EXECute`` starts the degauss cycle. + + Sub-properties: + - ``.state``: The ``CH:PRObe:DEGAUSS:STATE`` command. + """ + return self._degauss + + @property + def forcedrange(self) -> ChannelProbeForcedrange: + """Return the ``CH:PRObe:FORCEDRange`` command. + + Description: + - This command sets the attached TekVPI probe to the specified range, or it queries the + range of the probe attached to the specified channel. If the argument does not + match one of the available ranges, the closest range will be selected. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:FORCEDRange?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:FORCEDRange?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:FORCEDRange value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:FORCEDRange + - CH:PRObe:FORCEDRange? + ``` + + Info: + - ``CH`` is the channel number. + - ```` specifies the probe dynamic range. + """ + return self._forcedrange + + @property + def gain(self) -> ChannelProbeGain: + """Return the ``CH:PRObe:GAIN`` command. + + Description: + - This query-only command returns the gain factor of the probe that is attached to the + specified channel. The channel is specified by x. The gain of a probe is the output + divided by the input transfer ratio. For example, a common 10x probe has a gain of + 0.1. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:GAIN?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:GAIN?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:GAIN? + ``` + """ + return self._gain + + @property + def id(self) -> ChannelProbeId: + """Return the ``CH:PRObe:ID`` command. + + Description: + - This query-only command returns the type and serial number of the probe that is + attached to the specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:ID?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:ID?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:ID? + ``` + + Sub-properties: + - ``.sernumber``: The ``CH:PRObe:ID:SERnumber`` command. + - ``.type``: The ``CH:PRObe:ID:TYPe`` command. + """ + return self._id + + @property + def inputmode(self) -> ChannelProbeInputmode: + """Return the ``CH:PRObe:INPUTMode`` command. + + Description: + - Sets or queries the input mode of the probe that is attached to the specified channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:INPUTMode?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:INPUTMode?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:INPUTMode value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:INPUTMode {A|B|C|D} + - CH:PRObe:INPUTMode? + ``` + + Info: + - ``CH`` is the channel number. + - ``A`` sets the probe to send single-ended A signals to the instrument. + - ``B`` sets the probe to send single-ended B signals to the instrument. + - ``COMMONMODE`` sets the probe to send common-mode signals to the instrument. + - ``DIFFERENTIAL`` sets the probe to send differential signals to the instrument. + + Sub-properties: + - ``.aoffset``: The ``CH:PRObe:INPUTMode:AOFFSet`` command. + - ``.boffset``: The ``CH:PRObe:INPUTMode:BOFFSet`` command. + - ``.coffset``: The ``CH:PRObe:INPUTMode:COFFSet`` command. + - ``.doffset``: The ``CH:PRObe:INPUTMode:DOFFSet`` command. + """ + return self._inputmode + + @property + def resistance(self) -> ChannelProbeResistance: + """Return the ``CH:PRObe:RESistance`` command. + + Description: + - This query-only command returns the resistance of the probe that is attached to the + specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:RESistance?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:RESistance?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:RESistance? + ``` + """ + return self._resistance + + @property + def selfcal(self) -> ChannelProbeSelfcal: + """Return the ``CH:PRObe:SELFCal`` command. + + Description: + - This command initiates self-calibration on the probe. The channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PRObe:SELFCal value`` + command. + + SCPI Syntax: + ``` + - CH:PRObe:SELFCal EXECUTE + ``` + + Sub-properties: + - ``.state``: The ``CH:PRObe:SELFCal:State`` command. + """ + return self._selfcal + + @property + def set_(self) -> ChannelProbeSet: + """Return the ``CH:PRObe:SET`` command. + + Description: + - This command sets or queries aspects of probe accessory user interfaces, for example + probe attenuation factors or probe audible over range. The available arguments for + this command will vary depending on the accessory you attach to the instrument. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:SET?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:SET?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PRObe:SET value`` command. + + SCPI Syntax: + ``` + - CH:PRObe:SET + - CH:PRObe:SET? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is a quoted string representing a settable aspect of the attached + accessory. + """ + return self._set + + @property + def status(self) -> ChannelProbeStatus: + """Return the ``CH:PRObe:STATus`` command. + + Description: + - Queries the probe unsigned integer error value. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:STATus?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:STATus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:STATus? + ``` + """ + return self._status + + @property + def units(self) -> ChannelProbeUnits: + """Return the ``CH:PRObe:UNIts`` command. + + Description: + - This query-only command returns a string describing the units of measure for the probe + attached to the specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe:UNIts?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe:UNIts?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe:UNIts? + ``` + """ + return self._units + + +class ChannelProbefuncExtunitsState(SCPICmdWrite): + """The ``CH:PROBEFunc:EXTUnits:STATE`` command. + + Description: + - This command sets or queries the custom units enable state for the specified channel. The + channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTUnits:STATE value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTUnits:STATE {ON|OFF|} + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off external units. + - ``ON`` argument turns on external units. + - ```` = 0 turns off external units; any other value turns on external units. + """ + + +class ChannelProbefuncExtunits(SCPICmdWrite, SCPICmdRead): + """The ``CH:PROBEFunc:EXTUnits`` command. + + Description: + - This command sets the unit of measurement for the external attenuator of the specified + channel. The channel is specified by x. The alternate units are used if they are enabled. + Use the ``CHX:PROBEFUNC:EXTUNITS:STATE`` command to enable or disable the alternate units. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc:EXTUnits?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc:EXTUnits?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTUnits value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTUnits + - CH:PROBEFunc:EXTUnits? + ``` + + Info: + - ``CH`` is the channel number. + - ```` indicates the attenuation unit of measurement for the specified channel. + + Properties: + - ``.state``: The ``CH:PROBEFunc:EXTUnits:STATE`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = ChannelProbefuncExtunitsState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> ChannelProbefuncExtunitsState: + """Return the ``CH:PROBEFunc:EXTUnits:STATE`` command. + + Description: + - This command sets or queries the custom units enable state for the specified channel. + The channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``CH:PROBEFunc:EXTUnits:STATE value`` command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTUnits:STATE {ON|OFF|} + ``` + + Info: + - ``CH`` is the channel number. + - ``OFF`` argument turns off external units. + - ``ON`` argument turns on external units. + - ```` = 0 turns off external units; any other value turns on external units. + """ + return self._state + + +class ChannelProbefuncExtdbatten(SCPICmdWrite, SCPICmdRead): + """The ``CH:PROBEFunc:EXTDBatten`` command. + + Description: + - This command sets or queries the input-output ratio (expressed in decibel units) of + external attenuation or gain between the signal and the instrument input channels. The + channel is specified by x. The query form of this command returns the user-specified + attenuation in decibels. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc:EXTDBatten?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc:EXTDBatten?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTDBatten value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTDBatten + - CH:PROBEFunc:EXTDBatten? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the attenuation value, which is specified in the range from -200.00 dB to + 200.00 dB. + """ + + +class ChannelProbefuncExtatten(SCPICmdWrite, SCPICmdRead): + """The ``CH:PROBEFunc:EXTAtten`` command. + + Description: + - This command is used to specify the attenuation value as a multiplier to the given scale + factor on the specified channel. The channel is specified by x. The query form of this + command returns the user-specified attenuation. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc:EXTAtten?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc:EXTAtten?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTAtten value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTAtten + - CH:PROBEFunc:EXTAtten? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the attenuation value, which is specified as a multiplier in the range from + 1.00E-10 to 1.00E+10. + """ + + +class ChannelProbefunc(SCPICmdRead): + """The ``CH:PROBEFunc`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.extatten``: The ``CH:PROBEFunc:EXTAtten`` command. + - ``.extdbatten``: The ``CH:PROBEFunc:EXTDBatten`` command. + - ``.extunits``: The ``CH:PROBEFunc:EXTUnits`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._extatten = ChannelProbefuncExtatten(device, f"{self._cmd_syntax}:EXTAtten") + self._extdbatten = ChannelProbefuncExtdbatten(device, f"{self._cmd_syntax}:EXTDBatten") + self._extunits = ChannelProbefuncExtunits(device, f"{self._cmd_syntax}:EXTUnits") + + @property + def extatten(self) -> ChannelProbefuncExtatten: + """Return the ``CH:PROBEFunc:EXTAtten`` command. + + Description: + - This command is used to specify the attenuation value as a multiplier to the given + scale factor on the specified channel. The channel is specified by x. The query form + of this command returns the user-specified attenuation. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc:EXTAtten?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc:EXTAtten?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTAtten value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTAtten + - CH:PROBEFunc:EXTAtten? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the attenuation value, which is specified as a multiplier in the range + from 1.00E-10 to 1.00E+10. + """ + return self._extatten + + @property + def extdbatten(self) -> ChannelProbefuncExtdbatten: + """Return the ``CH:PROBEFunc:EXTDBatten`` command. + + Description: + - This command sets or queries the input-output ratio (expressed in decibel units) of + external attenuation or gain between the signal and the instrument input channels. The + channel is specified by x. The query form of this command returns the user-specified + attenuation in decibels. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc:EXTDBatten?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc:EXTDBatten?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTDBatten value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTDBatten + - CH:PROBEFunc:EXTDBatten? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the attenuation value, which is specified in the range from -200.00 dB to + 200.00 dB. + """ + return self._extdbatten + + @property + def extunits(self) -> ChannelProbefuncExtunits: + """Return the ``CH:PROBEFunc:EXTUnits`` command. + + Description: + - This command sets the unit of measurement for the external attenuator of the specified + channel. The channel is specified by x. The alternate units are used if they are + enabled. Use the ``CHX:PROBEFUNC:EXTUNITS:STATE`` command to enable or disable the + alternate units. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc:EXTUnits?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc:EXTUnits?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBEFunc:EXTUnits value`` + command. + + SCPI Syntax: + ``` + - CH:PROBEFunc:EXTUnits + - CH:PROBEFunc:EXTUnits? + ``` + + Info: + - ``CH`` is the channel number. + - ```` indicates the attenuation unit of measurement for the specified channel. + + Sub-properties: + - ``.state``: The ``CH:PROBEFunc:EXTUnits:STATE`` command. + """ + return self._extunits + + +class ChannelProbecal(SCPICmdRead): + """The ``CH:PROBECal`` command. + + Description: + - This query-only command returns the probe calibration state for the specified channel. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBECal?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBECal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PROBECal? + ``` + """ + + +class ChannelProbecontrol(SCPICmdWrite, SCPICmdRead): + """The ``CH:PROBECOntrol`` command. + + Description: + - This command sets or queries multirange probe range-control policy preference of the probe + that is attached to CH. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBECOntrol?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBECOntrol?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBECOntrol value`` command. + + SCPI Syntax: + ``` + - CH:PROBECOntrol {AUTO|MANual} + - CH:PROBECOntrol? + ``` + + Info: + - ``CH`` is the channel number. + - ``AUTO`` sets the values. The probe range is automatically calculated. + - ``MANual`` allows you to select various valid values for the probe connected to a + particular channel. + """ + + +class ChannelInvert(SCPICmdWrite, SCPICmdRead): + """The ``CH:INVert`` command. + + Description: + - This command sets or queries invert state of the specified channel. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:INVert?`` query. + - Using the ``.verify(value)`` method will send the ``CH:INVert?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:INVert value`` command. + + SCPI Syntax: + ``` + - CH:INVert {ON|OFF|} + - CH:INVert? + ``` + + Info: + - ``OFF`` turns off the channel invert. + - ``ON`` turns on the channel invert. + - ```` 0 turns off the channel invert; any other value turns on the channel invert. + """ + + +class ChannelDitherrange(SCPICmdWrite): + """The ``CH:DITHERrange`` command. + + Description: + - This command sets or returns the amount of dithering for the specified analog channel. The + channel is specified by x. The amount of dithering is a percentage of full scale (10 times + volts/division). Note: Setting this value to 0.0 for any unused channels may slightly + improve performance. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:DITHERrange value`` command. + + SCPI Syntax: + ``` + - CH:DITHERrange + ``` + + Info: + - ```` is the amount of dithering as a percentage of full scale. Must be between 0.0 + and 100.0 and 0.0 disables dithering. + """ + + +class ChannelBandwidthFilterOptimization(SCPICmdWrite, SCPICmdRead): + """The ``CH:BANdwidth:FILTer:OPTIMIZation`` command. + + Description: + - This command sets or queries the channel filter shape. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:BANdwidth:FILTer:OPTIMIZation?`` + query. + - Using the ``.verify(value)`` method will send the ``CH:BANdwidth:FILTer:OPTIMIZation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH:BANdwidth:FILTer:OPTIMIZation value`` command. + + SCPI Syntax: + ``` + - CH:BANdwidth:FILTer:OPTIMIZation {STEPRESPONSE|FLATNESS} + - CH:BANdwidth:FILTer:OPTIMIZation? + ``` + + Info: + - ``CH`` is the channel number. + - ``STEPRESPONSE`` sets a Bessel-Thompson filter that minimizes overshoot with a gradual + rollof. + - ``FLATNESS`` sets selects a brick-wall filter optimized for flatness within band with a + sharp rolloff. Flatness filtering is not compatible with Peak Detect and Envelope + acquisition modes. + """ + + +class ChannelBandwidthFilter(SCPICmdRead): + """The ``CH:BANdwidth:FILTer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:BANdwidth:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``CH:BANdwidth:FILTer?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Properties: + - ``.optimization``: The ``CH:BANdwidth:FILTer:OPTIMIZation`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._optimization = ChannelBandwidthFilterOptimization( + device, f"{self._cmd_syntax}:OPTIMIZation" + ) + + @property + def optimization(self) -> ChannelBandwidthFilterOptimization: + """Return the ``CH:BANdwidth:FILTer:OPTIMIZation`` command. + + Description: + - This command sets or queries the channel filter shape. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:BANdwidth:FILTer:OPTIMIZation?`` + query. + - Using the ``.verify(value)`` method will send the + ``CH:BANdwidth:FILTer:OPTIMIZation?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``CH:BANdwidth:FILTer:OPTIMIZation value`` command. + + SCPI Syntax: + ``` + - CH:BANdwidth:FILTer:OPTIMIZation {STEPRESPONSE|FLATNESS} + - CH:BANdwidth:FILTer:OPTIMIZation? + ``` + + Info: + - ``CH`` is the channel number. + - ``STEPRESPONSE`` sets a Bessel-Thompson filter that minimizes overshoot with a gradual + rollof. + - ``FLATNESS`` sets selects a brick-wall filter optimized for flatness within band with + a sharp rolloff. Flatness filtering is not compatible with Peak Detect and Envelope + acquisition modes. + """ + return self._optimization + + +class ChannelBandwidth(SCPICmdWrite, SCPICmdRead): + """The ``CH:BANdwidth`` command. + + Description: + - This command sets or queries the selectable low-pass bandwidth limit filter of the + specified channel. The channel is specified by x. The query form of this command always + returns the approximate realized bandwidth of the channel. Available arguments depend upon + the instrument and the attached accessories. + + Usage: + - Using the ``.query()`` method will send the ``CH:BANdwidth?`` query. + - Using the ``.verify(value)`` method will send the ``CH:BANdwidth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:BANdwidth value`` command. + + SCPI Syntax: + ``` + - CH:BANdwidth {|FULl} + - CH:BANdwidth? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the desired bandwidth. The instrument rounds this value to an available + bandwidth using geometric rounding and then uses this value to set the upper bandwidth. + - ``FULl`` disables any optional bandwidth limiting. The specified channel operates at its + maximum bandwidth. + + Properties: + - ``.filter``: The ``CH:BANdwidth:FILTer`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._filter = ChannelBandwidthFilter(device, f"{self._cmd_syntax}:FILTer") + + @property + def filter(self) -> ChannelBandwidthFilter: + """Return the ``CH:BANdwidth:FILTer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:BANdwidth:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``CH:BANdwidth:FILTer?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.optimization``: The ``CH:BANdwidth:FILTer:OPTIMIZation`` command. + """ + return self._filter + + +# pylint: disable=too-many-instance-attributes +class Channel(ValidatedChannel, SCPICmdRead): + """The ``CH`` command. + + Description: + - This query-only command returns the vertical parameters for the specified channel. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH?`` query. + - Using the ``.verify(value)`` method will send the ``CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH? + ``` + + Properties: + - ``.bandwidth``: The ``CH:BANdwidth`` command. + - ``.ditherrange``: The ``CH:DITHERrange`` command. + - ``.invert``: The ``CH:INVert`` command. + - ``.probecontrol``: The ``CH:PROBECOntrol`` command. + - ``.probecal``: The ``CH:PROBECal`` command. + - ``.probefunc``: The ``CH:PROBEFunc`` command tree. + - ``.probe``: The ``CH:PRObe`` command. + - ``.scaleratio``: The ``CH:SCALERATio`` command. + - ``.sv``: The ``CH:SV`` command tree. + - ``.termination``: The ``CH:TERmination`` command. + - ``.vterm``: The ``CH:VTERm`` command tree. + - ``.d``: The ``CH_D`` command tree. + - ``.dall``: The ``CH_DALL`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "CH") -> None: + super().__init__(device, cmd_syntax) + self._bandwidth = ChannelBandwidth(device, f"{self._cmd_syntax}:BANdwidth") + self._ditherrange = ChannelDitherrange(device, f"{self._cmd_syntax}:DITHERrange") + self._invert = ChannelInvert(device, f"{self._cmd_syntax}:INVert") + self._probecontrol = ChannelProbecontrol(device, f"{self._cmd_syntax}:PROBECOntrol") + self._probecal = ChannelProbecal(device, f"{self._cmd_syntax}:PROBECal") + self._probefunc = ChannelProbefunc(device, f"{self._cmd_syntax}:PROBEFunc") + self._probe = ChannelProbe(device, f"{self._cmd_syntax}:PRObe") + self._scaleratio = ChannelScaleratio(device, f"{self._cmd_syntax}:SCALERATio") + self._sv = ChannelSv(device, f"{self._cmd_syntax}:SV") + self._termination = ChannelTermination(device, f"{self._cmd_syntax}:TERmination") + self._vterm = ChannelVterm(device, f"{self._cmd_syntax}:VTERm") + self._d: Dict[int, ChannelDigitalBit] = DefaultDictPassKeyToFactory( + lambda x: ChannelDigitalBit(device, f"{self._cmd_syntax}_D{x}") + ) + self._dall = ChannelDall(device, f"{self._cmd_syntax}_DALL") + + @property + def bandwidth(self) -> ChannelBandwidth: + """Return the ``CH:BANdwidth`` command. + + Description: + - This command sets or queries the selectable low-pass bandwidth limit filter of the + specified channel. The channel is specified by x. The query form of this command + always returns the approximate realized bandwidth of the channel. Available arguments + depend upon the instrument and the attached accessories. + + Usage: + - Using the ``.query()`` method will send the ``CH:BANdwidth?`` query. + - Using the ``.verify(value)`` method will send the ``CH:BANdwidth?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:BANdwidth value`` command. + + SCPI Syntax: + ``` + - CH:BANdwidth {|FULl} + - CH:BANdwidth? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the desired bandwidth. The instrument rounds this value to an available + bandwidth using geometric rounding and then uses this value to set the upper + bandwidth. + - ``FULl`` disables any optional bandwidth limiting. The specified channel operates at + its maximum bandwidth. + + Sub-properties: + - ``.filter``: The ``CH:BANdwidth:FILTer`` command tree. + """ + return self._bandwidth + + @property + def ditherrange(self) -> ChannelDitherrange: + """Return the ``CH:DITHERrange`` command. + + Description: + - This command sets or returns the amount of dithering for the specified analog channel. + The channel is specified by x. The amount of dithering is a percentage of full scale + (10 times volts/division). Note: Setting this value to 0.0 for any unused channels may + slightly improve performance. + + Usage: + - Using the ``.write(value)`` method will send the ``CH:DITHERrange value`` command. + + SCPI Syntax: + ``` + - CH:DITHERrange + ``` + + Info: + - ```` is the amount of dithering as a percentage of full scale. Must be between + 0.0 and 100.0 and 0.0 disables dithering. + """ + return self._ditherrange + + @property + def invert(self) -> ChannelInvert: + """Return the ``CH:INVert`` command. + + Description: + - This command sets or queries invert state of the specified channel. The channel is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:INVert?`` query. + - Using the ``.verify(value)`` method will send the ``CH:INVert?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:INVert value`` command. + + SCPI Syntax: + ``` + - CH:INVert {ON|OFF|} + - CH:INVert? + ``` + + Info: + - ``OFF`` turns off the channel invert. + - ``ON`` turns on the channel invert. + - ```` 0 turns off the channel invert; any other value turns on the channel invert. + """ + return self._invert + + @property + def probecontrol(self) -> ChannelProbecontrol: + """Return the ``CH:PROBECOntrol`` command. + + Description: + - This command sets or queries multirange probe range-control policy preference of the + probe that is attached to CH. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBECOntrol?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBECOntrol?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:PROBECOntrol value`` command. + + SCPI Syntax: + ``` + - CH:PROBECOntrol {AUTO|MANual} + - CH:PROBECOntrol? + ``` + + Info: + - ``CH`` is the channel number. + - ``AUTO`` sets the values. The probe range is automatically calculated. + - ``MANual`` allows you to select various valid values for the probe connected to a + particular channel. + """ + return self._probecontrol + + @property + def probecal(self) -> ChannelProbecal: + """Return the ``CH:PROBECal`` command. + + Description: + - This query-only command returns the probe calibration state for the specified channel. + The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBECal?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBECal?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PROBECal? + ``` + """ + return self._probecal + + @property + def probefunc(self) -> ChannelProbefunc: + """Return the ``CH:PROBEFunc`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:PROBEFunc?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PROBEFunc?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.extatten``: The ``CH:PROBEFunc:EXTAtten`` command. + - ``.extdbatten``: The ``CH:PROBEFunc:EXTDBatten`` command. + - ``.extunits``: The ``CH:PROBEFunc:EXTUnits`` command. + """ + return self._probefunc + + @property + def probe(self) -> ChannelProbe: + """Return the ``CH:PRObe`` command. + + Description: + - This query-only command returns all information concerning the probe that is attached + to the specified channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:PRObe?`` query. + - Using the ``.verify(value)`` method will send the ``CH:PRObe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH:PRObe? + ``` + + Sub-properties: + - ``.autozero``: The ``CH:PRObe:AUTOZero`` command. + - ``.compensate``: The ``CH:PRObe:COMPensate`` command. + - ``.degauss``: The ``CH:PRObe:DEGAUSS`` command. + - ``.forcedrange``: The ``CH:PRObe:FORCEDRange`` command. + - ``.gain``: The ``CH:PRObe:GAIN`` command. + - ``.id``: The ``CH:PRObe:ID`` command. + - ``.inputmode``: The ``CH:PRObe:INPUTMode`` command. + - ``.resistance``: The ``CH:PRObe:RESistance`` command. + - ``.selfcal``: The ``CH:PRObe:SELFCal`` command. + - ``.set``: The ``CH:PRObe:SET`` command. + - ``.status``: The ``CH:PRObe:STATus`` command. + - ``.units``: The ``CH:PRObe:UNIts`` command. + """ + return self._probe + + @property + def scaleratio(self) -> ChannelScaleratio: + """Return the ``CH:SCALERATio`` command. + + Description: + - This command sets or returns the scale ratio for the specified analog channel. + + Usage: + - Using the ``.query()`` method will send the ``CH:SCALERATio?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SCALERATio?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:SCALERATio value`` command. + + SCPI Syntax: + ``` + - CH:SCALERATio + - CH:SCALERATio? + ``` + + Info: + - ``CH`` is the channel number. + - ```` is the scale ratio for the specified analog channel. + """ + return self._scaleratio + + @property + def sv(self) -> ChannelSv: + """Return the ``CH:SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:SV?`` query. + - Using the ``.verify(value)`` method will send the ``CH:SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` specifies the spectrum trace channel source. + + Sub-properties: + - ``.spanabovebw``: The ``CH:SV:SPANABovebw`` command. + - ``.spanbelowdc``: The ``CH:SV:SPANBELowdc`` command. + """ + return self._sv + + @property + def termination(self) -> ChannelTermination: + """Return the ``CH:TERmination`` command. + + Description: + - This command sets or queries the vertical termination for the specified analog + channel. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH:TERmination?`` query. + - Using the ``.verify(value)`` method will send the ``CH:TERmination?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``CH:TERmination value`` command. + + SCPI Syntax: + ``` + - CH:TERmination + - CH:TERmination? + ``` + + Info: + - ``CH`` is the channel number. + - ```` specifies the channel input resistance, which can be specified as 50 Ω or + 1,000,000 Ω. + """ + return self._termination + + @property + def vterm(self) -> ChannelVterm: + """Return the ``CH:VTERm`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH:VTERm?`` query. + - Using the ``.verify(value)`` method will send the ``CH:VTERm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.bias``: The ``CH:VTERm:BIAS`` command. + """ + return self._vterm + + @property + def d(self) -> Dict[int, ChannelDigitalBit]: + """Return the ``CH_D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_D?`` query. + - Using the ``.verify(value)`` method will send the ``CH_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.label``: The ``CH_D:LABel`` command tree. + """ + return self._d + + @property + def dall(self) -> ChannelDall: + """Return the ``CH_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CH_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``CH_DALL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number. + + Sub-properties: + - ``.label``: The ``CH_DALL:LABel`` command tree. + """ + return self._dall diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/display.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/display.py new file mode 100644 index 00000000..9f657daf --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/display.py @@ -0,0 +1,16637 @@ +"""The display commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - DISplay:CH:INVERTColor COLOR + - DISplay:CH:INVERTColor? + - DISplay:CH:NORMALColor COLOR + - DISplay:CH:NORMALColor? + - DISplay:COLors {NORMal|INVERTed} + - DISplay:COLors? + - DISplay:GLObal:B:STATE {ON|OFF|} + - DISplay:GLObal:B:STATE? + - DISplay:GLObal:CH:STATE {ON|OFF|} + - DISplay:GLObal:CH:STATE? + - DISplay:GLObal:MATH:STATE {ON|OFF|} + - DISplay:GLObal:MATH:STATE? + - DISplay:GLObal:PLOT:STATE {ON|OFF|} + - DISplay:GLObal:PLOT:STATE? + - DISplay:GLObal:REF:STATE {ON|OFF|} + - DISplay:GLObal:REF:STATE? + - DISplay:INTENSITy:BACKLight {LOW|MEDium|HIGH} + - DISplay:INTENSITy:BACKLight:AUTODim:ENAble {ON|OFF} + - DISplay:INTENSITy:BACKLight:AUTODim:ENAble? + - DISplay:INTENSITy:BACKLight:AUTODim:TIMe + - DISplay:INTENSITy:BACKLight:AUTODim:TIMe? + - DISplay:INTENSITy:BACKLight? + - DISplay:INTENSITy? + - DISplay:MATHFFTView1:AUTOScale {ON|OFF|} + - DISplay:MATHFFTView1:AUTOScale? + - DISplay:MATHFFTView1:CURSor:ASOUrce? + - DISplay:MATHFFTView1:CURSor:BSOUrce? + - DISplay:MATHFFTView1:CURSor:DDT? + - DISplay:MATHFFTView1:CURSor:FUNCtion {WAVEform|VBArs|HBArs|SCREEN} + - DISplay:MATHFFTView1:CURSor:FUNCtion? + - DISplay:MATHFFTView1:CURSor:HBArs:APOSition + - DISplay:MATHFFTView1:CURSor:HBArs:APOSition? + - DISplay:MATHFFTView1:CURSor:HBArs:AUNIts? + - DISplay:MATHFFTView1:CURSor:HBArs:BPOSition + - DISplay:MATHFFTView1:CURSor:HBArs:BPOSition? + - DISplay:MATHFFTView1:CURSor:HBArs:BUNIts? + - DISplay:MATHFFTView1:CURSor:HBArs:DELTa? + - DISplay:MATHFFTView1:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:MATHFFTView1:CURSor:MODe? + - DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE? + - DISplay:MATHFFTView1:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:MATHFFTView1:CURSor:ROLOCATION? + - DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition? + - DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition? + - DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition? + - DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition? + - DISplay:MATHFFTView1:CURSor:STATE {ON|OFF|} + - DISplay:MATHFFTView1:CURSor:STATE? + - DISplay:MATHFFTView1:CURSor:VBArs:APOSition + - DISplay:MATHFFTView1:CURSor:VBArs:APOSition? + - DISplay:MATHFFTView1:CURSor:VBArs:AUNIts? + - DISplay:MATHFFTView1:CURSor:VBArs:BPOSition + - DISplay:MATHFFTView1:CURSor:VBArs:BPOSition? + - DISplay:MATHFFTView1:CURSor:VBArs:BUNIts? + - DISplay:MATHFFTView1:CURSor:VBArs:DELTa? + - DISplay:MATHFFTView1:CURSor:WAVEform:APOSition + - DISplay:MATHFFTView1:CURSor:WAVEform:APOSition? + - DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition + - DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition? + - DISplay:MATHFFTView1:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:MATHFFTView1:GRIDlines? + - DISplay:MATHFFTView1:MATH:MATH:STATE {ON|OFF|} + - DISplay:MATHFFTView1:MATH:MATH:STATE? + - DISplay:MATHFFTView1:XAXIS:SCALE {LINEAr|LOG} + - DISplay:MATHFFTView1:XAXIS:SCALE? + - DISplay:MATHFFTView1:YAXIS:SCALE {LINEAr|DBM} + - DISplay:MATHFFTView1:YAXIS:SCALE? + - DISplay:MATHFFTView1:ZOOM:XAXIS:FROM + - DISplay:MATHFFTView1:ZOOM:XAXIS:FROM? + - DISplay:MATHFFTView1:ZOOM:XAXIS:TO + - DISplay:MATHFFTView1:ZOOM:YAXIS:FROM + - DISplay:MATHFFTView1:ZOOM:YAXIS:FROM? + - DISplay:MATHFFTView1:ZOOM:YAXIS:TO + - DISplay:MATHFFTView1:ZOOM:YAXIS:TO? + - DISplay:Math:INVERTColor COLOR + - DISplay:Math:INVERTColor? + - DISplay:Math:NORMALColor COLOR + - DISplay:Math:NORMALColor? + - DISplay:PERSistence {OFF|AUTO|INFPersist|INFInite|VARpersist|CLEAR} + - DISplay:PERSistence:RESET + - DISplay:PERSistence? + - DISplay:PLOTVIEW:XAXIS:SCALE {LINEAR|LOG} + - DISplay:PLOTVIEW:XAXIS:SCALE? + - DISplay:PLOTVIEW:YAXIS:SCALE {LINEAR|LOG} + - DISplay:PLOTVIEW:YAXIS:SCALE? + - DISplay:PLOTView1:AUTOScale {ON|OFF|} + - DISplay:PLOTView1:AUTOScale? + - DISplay:PLOTView1:CURSor:ASOUrce? + - DISplay:PLOTView1:CURSor:BSOUrce? + - DISplay:PLOTView1:CURSor:DDT? + - DISplay:PLOTView1:CURSor:FUNCtion {WAVEFORM|VBArs|HBArs|SCREEN} + - DISplay:PLOTView1:CURSor:FUNCtion? + - DISplay:PLOTView1:CURSor:HBArs:APOSition + - DISplay:PLOTView1:CURSor:HBArs:APOSition? + - DISplay:PLOTView1:CURSor:HBArs:AUNIts? + - DISplay:PLOTView1:CURSor:HBArs:BPOSition + - DISplay:PLOTView1:CURSor:HBArs:BPOSition? + - DISplay:PLOTView1:CURSor:HBArs:BUNIts? + - DISplay:PLOTView1:CURSor:HBArs:DELTa? + - DISplay:PLOTView1:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:PLOTView1:CURSor:MODe? + - DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE? + - DISplay:PLOTView1:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:PLOTView1:CURSor:ROLOCATION? + - DISplay:PLOTView1:CURSor:SCREEN:AXPOSition + - DISplay:PLOTView1:CURSor:SCREEN:AXPOSition? + - DISplay:PLOTView1:CURSor:SCREEN:AYPOSition + - DISplay:PLOTView1:CURSor:SCREEN:AYPOSition? + - DISplay:PLOTView1:CURSor:SCREEN:BXPOSition + - DISplay:PLOTView1:CURSor:SCREEN:BXPOSition? + - DISplay:PLOTView1:CURSor:SCREEN:BYPOSition + - DISplay:PLOTView1:CURSor:SCREEN:BYPOSition? + - DISplay:PLOTView1:CURSor:SPLITMODE {SAME|SPLIT} + - DISplay:PLOTView1:CURSor:SPLITMODE? + - DISplay:PLOTView1:CURSor:STATE {ON|OFF|} + - DISplay:PLOTView1:CURSor:STATE? + - DISplay:PLOTView1:CURSor:VBArs:APOSition + - DISplay:PLOTView1:CURSor:VBArs:APOSition? + - DISplay:PLOTView1:CURSor:VBArs:BPOSition + - DISplay:PLOTView1:CURSor:VBArs:BPOSition? + - DISplay:PLOTView1:CURSor:VBArs:DELTa? + - DISplay:PLOTView1:CURSor:VBArs:UNIts? + - DISplay:PLOTView1:CURSor:WAVEform:APOSition + - DISplay:PLOTView1:CURSor:WAVEform:APOSition? + - DISplay:PLOTView1:CURSor:WAVEform:BPOSition + - DISplay:PLOTView1:CURSor:WAVEform:BPOSition? + - DISplay:PLOTView1:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:PLOTView1:GRIDlines? + - DISplay:PLOTView1:ZOOM:XAXIS:FROM + - DISplay:PLOTView1:ZOOM:XAXIS:FROM? + - DISplay:PLOTView1:ZOOM:XAXIS:TO + - DISplay:PLOTView1:ZOOM:XAXIS:TO? + - DISplay:PLOTView1:ZOOM:YAXIS:FROM + - DISplay:PLOTView1:ZOOM:YAXIS:FROM? + - DISplay:PLOTView1:ZOOM:YAXIS:TO + - DISplay:PLOTView1:ZOOM:YAXIS:TO? + - DISplay:REF:INVERTColor COLOR + - DISplay:REF:INVERTColor? + - DISplay:REF:NORMALColor COLOR + - DISplay:REF:NORMALColor? + - DISplay:REFFFTView:AUTOScale {OFF|ON|0|1} + - DISplay:REFFFTView:AUTOScale? + - DISplay:REFFFTView:CURSor:ASOUrce? + - DISplay:REFFFTView:CURSor:BSOUrce? + - DISplay:REFFFTView:CURSor:DDT? + - DISplay:REFFFTView:CURSor:FUNCtion {WAVEform|VBArs|HBArs|SCREEN} + - DISplay:REFFFTView:CURSor:FUNCtion? + - DISplay:REFFFTView:CURSor:HBArs:APOSition + - DISplay:REFFFTView:CURSor:HBArs:APOSition? + - DISplay:REFFFTView:CURSor:HBArs:AUNIts? + - DISplay:REFFFTView:CURSor:HBArs:BPOSition + - DISplay:REFFFTView:CURSor:HBArs:BPOSition? + - DISplay:REFFFTView:CURSor:HBArs:BUNIts? + - DISplay:REFFFTView:CURSor:HBArs:DELTa? + - DISplay:REFFFTView:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:REFFFTView:CURSor:MODe? + - DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE? + - DISplay:REFFFTView:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:REFFFTView:CURSor:ROLOCATION? + - DISplay:REFFFTView:CURSor:SCREEN:AXPOSition + - DISplay:REFFFTView:CURSor:SCREEN:AXPOSition? + - DISplay:REFFFTView:CURSor:SCREEN:AYPOSition + - DISplay:REFFFTView:CURSor:SCREEN:AYPOSition? + - DISplay:REFFFTView:CURSor:SCREEN:BXPOSition + - DISplay:REFFFTView:CURSor:SCREEN:BXPOSition? + - DISplay:REFFFTView:CURSor:SCREEN:BYPOSition + - DISplay:REFFFTView:CURSor:SCREEN:BYPOSition? + - DISplay:REFFFTView:CURSor:SPLITMODE {SAME|SPLIT} + - DISplay:REFFFTView:CURSor:SPLITMODE? + - DISplay:REFFFTView:CURSor:STATE {OFF|ON|0|1} + - DISplay:REFFFTView:CURSor:STATE? + - DISplay:REFFFTView:CURSor:VBArs:APOSition + - DISplay:REFFFTView:CURSor:VBArs:APOSition? + - DISplay:REFFFTView:CURSor:VBArs:BPOSition + - DISplay:REFFFTView:CURSor:VBArs:BPOSition? + - DISplay:REFFFTView:CURSor:VBArs:DELTa? + - DISplay:REFFFTView:CURSor:VBArs:UNIts? + - DISplay:REFFFTView:CURSor:WAVEform:AHPOSition? + - DISplay:REFFFTView:CURSor:WAVEform:APOSition + - DISplay:REFFFTView:CURSor:WAVEform:APOSition? + - DISplay:REFFFTView:CURSor:WAVEform:AVPOSition? + - DISplay:REFFFTView:CURSor:WAVEform:BHPOSition? + - DISplay:REFFFTView:CURSor:WAVEform:BPOSition + - DISplay:REFFFTView:CURSor:WAVEform:BPOSition? + - DISplay:REFFFTView:CURSor:WAVEform:BVPOSition? + - DISplay:REFFFTView:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:REFFFTView:GRIDlines? + - DISplay:REFFFTView:REF:REF:STATE boolean + - DISplay:REFFFTView:REF:REF:STATE? + - DISplay:REFFFTView:XAXIS:SCALE {LINEAr|LOG} + - DISplay:REFFFTView:XAXIS:SCALE? + - DISplay:REFFFTView:ZOOM:XAXIS:FROM + - DISplay:REFFFTView:ZOOM:XAXIS:FROM? + - DISplay:REFFFTView:ZOOM:XAXIS:TO + - DISplay:REFFFTView:ZOOM:XAXIS:TO? + - DISplay:REFFFTView:ZOOM:YAXIS:FROM + - DISplay:REFFFTView:ZOOM:YAXIS:FROM? + - DISplay:REFFFTView:ZOOM:YAXIS:TO + - DISplay:REFFFTView:ZOOM:YAXIS:TO? + - DISplay:SELect:BUS BUS + - DISplay:SELect:BUS? + - DISplay:SELect:MATH MATH + - DISplay:SELect:MATH? + - DISplay:SELect:REFerence {NONE|REF} + - DISplay:SELect:REFerence? + - DISplay:SELect:SOUrce {NONE|CH|BUS|MATH|PLOT|REF} + - DISplay:SELect:SOUrce? + - DISplay:SELect:SPECView1:SOUrce {CH} + - DISplay:SELect:SPECView1:SOUrce? + - DISplay:SELect:VIEW {WAVEVIEW1|MATHFFT|PLOTVIEW|REFFFT} + - DISplay:SELect:VIEW? + - DISplay:SELect:WAVEView1:SOUrce {S_Ch|CH|MATH|BUS|REF|PLOT} + - DISplay:SELect:WAVEView1:SOUrce? + - DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity? + - DISplay:SPECView1:CURSor:CURSOR:ASOUrce {AUTO|CH} + - DISplay:SPECView1:CURSor:CURSOR:ASOUrce? + - DISplay:SPECView1:CURSor:CURSOR:BNOISE? + - DISplay:SPECView1:CURSor:CURSOR:BSOUrce {AUTO|CH} + - DISplay:SPECView1:CURSor:CURSOR:BSOUrce? + - DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition? + - DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts? + - DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition? + - DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts? + - DISplay:SPECView1:CURSor:CURSOR:READout {ABSOLUTE|DELTA} + - DISplay:SPECView1:CURSor:CURSOR:READout? + - DISplay:SPECView1:CURSor:CURSOR:SPLITMODE {SAME|SPLIT} + - DISplay:SPECView1:CURSor:CURSOR:SPLITMODE? + - DISplay:SPECView1:CURSor:CURSOR:STATE {ON|OFF} + - DISplay:SPECView1:CURSor:CURSOR:STATE? + - DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition + - DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition? + - DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition + - DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition? + - DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts? + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition? + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition? + - DISplay:SPECView1:GRAticule {GRId|TIMe|FULl|NONe} + - DISplay:SPECView1:GRAticule? + - DISplay:SPECView1:HORZ {LOG|LINEAr} + - DISplay:SPECView1:HORZ? + - DISplay:SPECView1:INTENSITy:GRATicule + - DISplay:SPECView1:INTENSITy:GRATicule? + - DISplay:SPECView1:INTENSITy:WAVEform + - DISplay:SPECView1:INTENSITy:WAVEform? + - DISplay:SPECView1:VIEWStyle {OVErlay|STAcked} + - DISplay:SPECView1:VIEWStyle? + - DISplay:VARpersist + - DISplay:VARpersist? + - DISplay:WAVEView1:BUS:B:STATE {OFF|ON|0|1} + - DISplay:WAVEView1:BUS:B:STATE? + - DISplay:WAVEView1:BUS:B:VERTical:POSition + - DISplay:WAVEView1:BUS:B:VERTical:POSition? + - DISplay:WAVEView1:CH:STATE {ON|OFF|} + - DISplay:WAVEView1:CH:STATE? + - DISplay:WAVEView1:CH:VERTical:POSition + - DISplay:WAVEView1:CH:VERTical:POSition? + - DISplay:WAVEView1:CH:VERTical:SCAle + - DISplay:WAVEView1:CH:VERTical:SCAle? + - DISplay:WAVEView1:CH_D:STATE {ON|OFF|} + - DISplay:WAVEView1:CH_D:STATE? + - DISplay:WAVEView1:CH_DALL:STATE {ON|OFF|} + - DISplay:WAVEView1:CH_DALL:STATE? + - DISplay:WAVEView1:CH_DALL:VERTical:POSition + - DISplay:WAVEView1:CH_DALL:VERTical:POSition? + - DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce {AUTO|CH|BUS|MATH|REF|PLOT} + - DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce? + - DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce {CH|BUS|MATH|REF|PLOT} + - DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce? + - DISplay:WAVEView1:CURSor:CURSOR1:DDT? + - DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion {SCREEN|WAVEFORM|VBArs|HBArs} + - DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion? + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts? + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts? + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa? + - DISplay:WAVEView1:CURSor:CURSOR1:MODe {INDEPENDENT|TRACK} + - DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE? + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE {SAME|SPLIT} + - DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE? + - DISplay:WAVEView1:CURSor:CURSOR1:STATE {ON|OFF|} + - DISplay:WAVEView1:CURSor:CURSOR1:STATE? + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa? + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts? + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition? + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition? + - DISplay:WAVEView1:CURSor:CURSOR1? + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values? + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition? + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition? + - DISplay:WAVEView1:CURSor? + - DISplay:WAVEView1:FILTer {SINX|LINear} + - DISplay:WAVEView1:FILTer? + - DISplay:WAVEView1:GRAticule {GRId|TIMe|FULl|NONe} + - DISplay:WAVEView1:GRAticule? + - DISplay:WAVEView1:INTENSITy:GRATicule + - DISplay:WAVEView1:INTENSITy:GRATicule? + - DISplay:WAVEView1:INTENSITy:WAVEform + - DISplay:WAVEView1:INTENSITy:WAVEform? + - DISplay:WAVEView1:MATH:MATH:AUTOScale {ON|OFF|} + - DISplay:WAVEView1:MATH:MATH:AUTOScale? + - DISplay:WAVEView1:MATH:MATH:STATE {ON|OFF|} + - DISplay:WAVEView1:MATH:MATH:STATE? + - DISplay:WAVEView1:MATH:MATH:VERTical:POSition + - DISplay:WAVEView1:MATH:MATH:VERTical:POSition? + - DISplay:WAVEView1:MATH:MATH:VERTical:SCAle + - DISplay:WAVEView1:MATH:MATH:VERTical:SCAle? + - DISplay:WAVEView1:PLOT:PLOT:AUTOScale {ON|OFF|} + - DISplay:WAVEView1:PLOT:PLOT:AUTOScale? + - DISplay:WAVEView1:PLOT:PLOT:STATE {ON|OFF|} + - DISplay:WAVEView1:PLOT:PLOT:STATE? + - DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition + - DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition? + - DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle + - DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle? + - DISplay:WAVEView1:REF:REF:FRAMe + - DISplay:WAVEView1:REF:REF:FRAMe? + - DISplay:WAVEView1:REF:REF:STATE {ON|OFF|} + - DISplay:WAVEView1:REF:REF:STATE? + - DISplay:WAVEView1:REF:REF:VERTical:POSition + - DISplay:WAVEView1:REF:REF:VERTical:POSition? + - DISplay:WAVEView1:REF:REF:VERTical:SCAle + - DISplay:WAVEView1:REF:REF:VERTical:SCAle? + - DISplay:WAVEView1:REF_DALL:FRAMe + - DISplay:WAVEView1:REF_DALL:FRAMe? + - DISplay:WAVEView1:RF_FREQuency:VERTical:POSition + - DISplay:WAVEView1:RF_FREQuency:VERTical:POSition? + - DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle + - DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle? + - DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition + - DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition? + - DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle + - DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle? + - DISplay:WAVEView1:RF_PHASe:VERTical:POSition + - DISplay:WAVEView1:RF_PHASe:VERTical:POSition? + - DISplay:WAVEView1:RF_PHASe:VERTical:SCAle + - DISplay:WAVEView1:RF_PHASe:VERTical:SCAle? + - DISplay:WAVEView1:STYle {VECtors|DOTsonly} + - DISplay:WAVEView1:STYle? + - DISplay:WAVEView1:VIEWStyle {OVErlay|STAcked} + - DISplay:WAVEView1:VIEWStyle? + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition? + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe? + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe? + - DISplay:WAVEView1:ZOOM:ZOOM1:STATe {ON|OFF|} + - DISplay:WAVEView1:ZOOM:ZOOM1:STATe? + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition? + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe? + - DISplay:WAVEView1:ZOOM:ZOOM1? + - DISplay:WAVEView1:ZOOM? + - DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION {GRATICULE|BADGE} + - DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION? + - DISplay:WAVEView:GRIDTYPE {MOVEABLE|FIXED} + - DISplay:WAVEView:GRIDTYPE? + - DISplay:WAVEform {ON|OFF|} + - DISplay:WAVEform? + - DISplay? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDigitalBit, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class DisplayWaveform(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEform`` command. + + Description: + - This command globally enables or disables the waveform display. When disabled, the + waveform is still acquired and held in memory, but it is not drawn to the screen. + Disabling the waveform display may improve processing speed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEform?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEform value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEform {ON|OFF|} + - DISplay:WAVEform? + ``` + + Info: + - ```` enables or disables the waveform display. 0 disables the waveform display; any + other value enables the waveform display. + - ``ON`` enables the waveform display. + - ``OFF`` disables the waveform display. + """ + + +class DisplayWaveviewGridtype(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView:GRIDTYPE`` command. + + Description: + - This command sets or queries the Waveform View Graticule type. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView:GRIDTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView:GRIDTYPE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView:GRIDTYPE value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView:GRIDTYPE {MOVEABLE|FIXED} + - DISplay:WAVEView:GRIDTYPE? + ``` + + Info: + - ``MOVEABLE`` sets the Waveform View so that both the waveform and the grid (graticule) + move together when moving the waveform horizontally. + - ``FIXED`` sets the Waveform View so that the grid dows not move when moving the waveform + horizontally. + """ + + +class DisplayWaveviewCursorCursor1Rolocation(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the Waveform View cursor readouts (in + the Waveform View graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION {GRATICULE|BADGE} + - DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION? + ``` + + Info: + - ``GRATICULE`` sets the Waveform View cursor readouts to display as part of the cursors in + the plot view. + - ``BADGE`` removes the Waveform View cursor readouts from the cursors in the graticule and + displays the cursor information as a badge in the Results Bar. + """ + + +class DisplayWaveviewCursorCursor1(SCPICmdRead): + """The ``DISplay:WAVEView:CURSor:CURSOR1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView:CURSor:CURSOR1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView:CURSor:CURSOR1?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rolocation``: The ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rolocation = DisplayWaveviewCursorCursor1Rolocation( + device, f"{self._cmd_syntax}:ROLOCATION" + ) + + @property + def rolocation(self) -> DisplayWaveviewCursorCursor1Rolocation: + """Return the ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the Waveform View cursor readouts + (in the Waveform View graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION {GRATICULE|BADGE} + - DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION? + ``` + + Info: + - ``GRATICULE`` sets the Waveform View cursor readouts to display as part of the cursors + in the plot view. + - ``BADGE`` removes the Waveform View cursor readouts from the cursors in the graticule + and displays the cursor information as a badge in the Results Bar. + """ + return self._rolocation + + +class DisplayWaveviewCursor(SCPICmdRead): + """The ``DISplay:WAVEView:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView:CURSor?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cursor1``: The ``DISplay:WAVEView:CURSor:CURSOR1`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cursor1 = DisplayWaveviewCursorCursor1(device, f"{self._cmd_syntax}:CURSOR1") + + @property + def cursor1(self) -> DisplayWaveviewCursorCursor1: + """Return the ``DISplay:WAVEView:CURSor:CURSOR1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView:CURSor:CURSOR1?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView:CURSor:CURSOR1?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rolocation``: The ``DISplay:WAVEView:CURSor:CURSOR1:ROLOCATION`` command. + """ + return self._cursor1 + + +class DisplayWaveview1ZoomZoom1VerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe`` command. + + Description: + - This command sets or queries the vertical zoom factor of the specified zoom in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe? + ``` + + Info: + - ```` is the amount of vertical expansion or compression. Based on the value that you + entered, this command uses the nearest scale factor. Setting the vertical scale to 1 + indicates unity (no zoom). + """ + + +class DisplayWaveview1ZoomZoom1VerticalPosition(SCPICmdWrite, SCPICmdRead): + r"""The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified zoom in the specified + Waveform View. It is freely movable within the confines of the acquired waveform. It is + measured from the top to bottom of the acquisition window. The top of the zoom window is + -5 \* vertical zoom factor. The bottom of the zoom window is +5 \* the vertical zoom + factor. For a zoom of 5x, the position ranges from -25 to 25. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition? + ``` + + Info: + - ``NR3`` is the vertical position of the specified zoom in the specified Waveform View. It + is freely movable within the confines of the acquired waveform. The top of the zoom window + is -5 \\* vertical zoom factor. The bottom of the zoom window is +5 \\* the vertical zoom + factor. For a vertical zoom of 5x, the position ranges from -25 to 25. + """ + + +class DisplayWaveview1ZoomZoom1Vertical(SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1ZoomZoom1VerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1ZoomZoom1VerticalScale(device, f"{self._cmd_syntax}:SCALe") + + @property + def position(self) -> DisplayWaveview1ZoomZoom1VerticalPosition: + r"""Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified zoom in the + specified Waveform View. It is freely movable within the confines of the acquired + waveform. It is measured from the top to bottom of the acquisition window. The top of + the zoom window is -5 \* vertical zoom factor. The bottom of the zoom window is +5 \* + the vertical zoom factor. For a zoom of 5x, the position ranges from -25 to 25. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition? + ``` + + Info: + - ``NR3`` is the vertical position of the specified zoom in the specified Waveform View. + It is freely movable within the confines of the acquired waveform. The top of the zoom + window is -5 \\* vertical zoom factor. The bottom of the zoom window is +5 \\* the + vertical zoom factor. For a vertical zoom of 5x, the position ranges from -25 to 25. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1ZoomZoom1VerticalScale: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe`` command. + + Description: + - This command sets or queries the vertical zoom factor of the specified zoom in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe? + ``` + + Info: + - ```` is the amount of vertical expansion or compression. Based on the value that + you entered, this command uses the nearest scale factor. Setting the vertical scale to + 1 indicates unity (no zoom). + """ + return self._scale + + +class DisplayWaveview1ZoomZoom1State(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe`` command. + + Description: + - This command sets or queries the zoom display state of the specified zoom in the specified + Waveform View. This command is equivalent to pushing the zoom button on the front panel. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:STATe {ON|OFF|} + - DISplay:WAVEView1:ZOOM:ZOOM1:STATe? + ``` + + Info: + - ``ON`` turns the specified zoom on. + - ``OFF`` turns specified zoom off. + - ```` = 0 disables the specified zoom; any other value enables the specified zoom. + """ + + +class DisplayWaveview1ZoomZoom1HorizontalWinscale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe`` command. + + Description: + - This command sets or queries the overview window horizontal scale in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe? + ``` + + Info: + - ```` is the horizontal scale of the zoom window. + """ + + +class DisplayWaveview1ZoomZoom1HorizontalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe`` command. + + Description: + - This command sets or queries the horizontal zoom factor of the specified zoom in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe? + ``` + + Info: + - ```` is the amount of expansion in the horizontal direction in 1-2-4 increments of + the specified zoom in the specified Waveform View. + """ + + +class DisplayWaveview1ZoomZoom1HorizontalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition`` command. + + Description: + - Sets or queries the horizontal zoom position (of the specified zoom in the specified + Waveform View) of the zoomed waveform or zoom waveform in the display, around which the + zoom waveform displays. It is freely movable around the acquisition settings (horizontal + span). An acquired waveform or reference could extend off screen. The valid zoom area does + not care about the waveform itself, only the user setting for acquisition. For example, if + horizontal scale is set to 1 second, position to 50, then the acquisition area will go + from -5 s to +5 s. Zoom window 0 will focus on -5 s and zoom area 100 will focus on +5 s. + If the instrument is stopped and the scale changed to 0.5 s, there will be data off the + ends of the display. However, 0% zoom will put the user focus on -2.5 s, the lower bound + of the acquisition span. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition? + ``` + + Info: + - ```` is a value from 0 to 100.00 and is the percent of the waveform that is to the + left of screen center, when the zoom factor is 2× or greater. + """ + + +class DisplayWaveview1ZoomZoom1Horizontal(SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe`` command. + - ``.winscale``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1ZoomZoom1HorizontalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1ZoomZoom1HorizontalScale(device, f"{self._cmd_syntax}:SCALe") + self._winscale = DisplayWaveview1ZoomZoom1HorizontalWinscale( + device, f"{self._cmd_syntax}:WINSCALe" + ) + + @property + def position(self) -> DisplayWaveview1ZoomZoom1HorizontalPosition: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition`` command. + + Description: + - Sets or queries the horizontal zoom position (of the specified zoom in the specified + Waveform View) of the zoomed waveform or zoom waveform in the display, around which + the zoom waveform displays. It is freely movable around the acquisition settings + (horizontal span). An acquired waveform or reference could extend off screen. The + valid zoom area does not care about the waveform itself, only the user setting for + acquisition. For example, if horizontal scale is set to 1 second, position to 50, then + the acquisition area will go from -5 s to +5 s. Zoom window 0 will focus on -5 s and + zoom area 100 will focus on +5 s. If the instrument is stopped and the scale changed + to 0.5 s, there will be data off the ends of the display. However, 0% zoom will put + the user focus on -2.5 s, the lower bound of the acquisition span. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition? + ``` + + Info: + - ```` is a value from 0 to 100.00 and is the percent of the waveform that is to + the left of screen center, when the zoom factor is 2× or greater. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1ZoomZoom1HorizontalScale: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe`` command. + + Description: + - This command sets or queries the horizontal zoom factor of the specified zoom in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe? + ``` + + Info: + - ```` is the amount of expansion in the horizontal direction in 1-2-4 increments + of the specified zoom in the specified Waveform View. + """ + return self._scale + + @property + def winscale(self) -> DisplayWaveview1ZoomZoom1HorizontalWinscale: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe`` command. + + Description: + - This command sets or queries the overview window horizontal scale in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe + - DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe? + ``` + + Info: + - ```` is the horizontal scale of the zoom window. + """ + return self._winscale + + +class DisplayWaveview1ZoomZoom1(SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM:ZOOM1`` command. + + Description: + - This query returns the zoom parameters of the specified zoom in the specified Waveform + View. must be 1. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1? + ``` + + Properties: + - ``.horizontal``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal`` command tree. + - ``.state``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe`` command. + - ``.vertical``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._horizontal = DisplayWaveview1ZoomZoom1Horizontal( + device, f"{self._cmd_syntax}:HORizontal" + ) + self._state = DisplayWaveview1ZoomZoom1State(device, f"{self._cmd_syntax}:STATe") + self._vertical = DisplayWaveview1ZoomZoom1Vertical(device, f"{self._cmd_syntax}:VERTical") + + @property + def horizontal(self) -> DisplayWaveview1ZoomZoom1Horizontal: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:SCALe`` command. + - ``.winscale``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal:WINSCALe`` command. + """ + return self._horizontal + + @property + def state(self) -> DisplayWaveview1ZoomZoom1State: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe`` command. + + Description: + - This command sets or queries the zoom display state of the specified zoom in the + specified Waveform View. This command is equivalent to pushing the zoom button on the + front panel. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1:STATe {ON|OFF|} + - DISplay:WAVEView1:ZOOM:ZOOM1:STATe? + ``` + + Info: + - ``ON`` turns the specified zoom on. + - ``OFF`` turns specified zoom off. + - ```` = 0 disables the specified zoom; any other value enables the specified zoom. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1ZoomZoom1Vertical: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical:SCALe`` command. + """ + return self._vertical + + +class DisplayWaveview1Zoom(SCPICmdRead): + """The ``DISplay:WAVEView1:ZOOM`` command. + + Description: + - This query returns the zoom parameters of the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:ZOOM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM? + ``` + + Properties: + - ``.zoom1``: The ``DISplay:WAVEView1:ZOOM:ZOOM1`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._zoom1 = DisplayWaveview1ZoomZoom1(device, f"{self._cmd_syntax}:ZOOM1") + + @property + def zoom1(self) -> DisplayWaveview1ZoomZoom1: + """Return the ``DISplay:WAVEView1:ZOOM:ZOOM1`` command. + + Description: + - This query returns the zoom parameters of the specified zoom in the specified Waveform + View. must be 1. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:ZOOM:ZOOM1?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM:ZOOM1? + ``` + + Sub-properties: + - ``.horizontal``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:HORizontal`` command tree. + - ``.state``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:STATe`` command. + - ``.vertical``: The ``DISplay:WAVEView1:ZOOM:ZOOM1:VERTical`` command tree. + """ + return self._zoom1 + + +class DisplayWaveview1Viewstyle(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:VIEWStyle`` command. + + Description: + - The command sets or queries the waveform layout style used by the display. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:VIEWStyle?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:VIEWStyle?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:VIEWStyle value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:VIEWStyle {OVErlay|STAcked} + - DISplay:WAVEView1:VIEWStyle? + ``` + + Info: + - ``OVErlay`` specifies that the display view style used by the specified Waveform View is + overlay. + - ``STAcked`` specifies that the display view style used by the specified Waveform View is + stacked. + """ + + +class DisplayWaveview1Style(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:STYle`` command. + + Description: + - This command sets or queries how the waveforms are displayed for analysis mode. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:STYle?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:STYle?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:STYle value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:STYle {VECtors|DOTsonly} + - DISplay:WAVEView1:STYle? + ``` + + Info: + - ``DOTs`` displays individual data points. New points immediately replace old ones. + - ``VECtors`` connects adjacent data points. New points immediately replace old ones. + """ + + +class DisplayWaveview1RfPhaseItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified Phase vs. Time trace in + the specified Waveform View in degrees per division. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_PHASe:VERTical:SCAle + - DISplay:WAVEView1:RF_PHASe:VERTical:SCAle? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_PHAse`` specifies the number of the Phase vs. Time Frequency waveform. + - ```` sets the vertical scale, in degrees per division. + """ + + +class DisplayWaveview1RfPhaseItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified Phase vs. Time trace + in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_PHASe:VERTical:POSition + - DISplay:WAVEView1:RF_PHASe:VERTical:POSition? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_PHASe`` specifies the number of the Phase vs. Time Frequency waveform. + - ``NR3`` sets the vertical position in divisions. 0.0 divisions is center, 5.0 is the top + of the Waveform View, and -5.0 is the top of the Waveform View. + """ + + +class DisplayWaveview1RfPhaseItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:RF_PHASe:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_PHASe:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``RF_PHASe`` specifies the number of the Phase vs. Time Frequency waveform. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1RfPhaseItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1RfPhaseItemVerticalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> DisplayWaveview1RfPhaseItemVerticalPosition: + """Return the ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified Phase vs. Time + trace in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_PHASe:VERTical:POSition + - DISplay:WAVEView1:RF_PHASe:VERTical:POSition? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_PHASe`` specifies the number of the Phase vs. Time Frequency waveform. + - ``NR3`` sets the vertical position in divisions. 0.0 divisions is center, 5.0 is the + top of the Waveform View, and -5.0 is the top of the Waveform View. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1RfPhaseItemVerticalScale: + """Return the ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified Phase vs. Time trace + in the specified Waveform View in degrees per division. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_PHASe:VERTical:SCAle + - DISplay:WAVEView1:RF_PHASe:VERTical:SCAle? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_PHAse`` specifies the number of the Phase vs. Time Frequency waveform. + - ```` sets the vertical scale, in degrees per division. + """ + return self._scale + + +class DisplayWaveview1RfPhaseItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_PHASe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:RF_PHASe?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``RF_PHASe`` specifies the number of the Phase vs. Time Frequency waveform. + + Properties: + - ``.vertical``: The ``DISplay:WAVEView1:RF_PHASe:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._vertical = DisplayWaveview1RfPhaseItemVertical(device, f"{self._cmd_syntax}:VERTical") + + @property + def vertical(self) -> DisplayWaveview1RfPhaseItemVertical: + """Return the ``DISplay:WAVEView1:RF_PHASe:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_PHASe:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``RF_PHASe`` specifies the number of the Phase vs. Time Frequency waveform. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:RF_PHASe:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:RF_PHASe:VERTical:SCAle`` command. + """ + return self._vertical + + +class DisplayWaveview1RfMagnitudeItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified Magnitude vs. Time trace + in the specified Waveform View in Volts, Watts, or dB per division. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle + - DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + - ``NR3`` sets the vertical scale. The units for the vertical scale depend on the Magnitude + Format setting. If the format is 'Amplitude (linear)', then the units are Volts/div. If + the format is 'Power (linear)', then the units are Watts/div. If the format is 'Power + (log)', then the units are dB/div. + """ + + +class DisplayWaveview1RfMagnitudeItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified Magnitude vs. Time + trace in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition + - DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + - ``NR3`` sets the vertical position in divisions. 0.0 divisions is center, 5.0 is the top + of the Waveform View, and -5.0 is the top of the Waveform View. + """ + + +class DisplayWaveview1RfMagnitudeItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:RF_MAGnitude:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1RfMagnitudeItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1RfMagnitudeItemVerticalScale( + device, f"{self._cmd_syntax}:SCAle" + ) + + @property + def position(self) -> DisplayWaveview1RfMagnitudeItemVerticalPosition: + """Return the ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified Magnitude vs. Time + trace in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition + - DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + - ``NR3`` sets the vertical position in divisions. 0.0 divisions is center, 5.0 is the + top of the Waveform View, and -5.0 is the top of the Waveform View. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1RfMagnitudeItemVerticalScale: + """Return the ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified Magnitude vs. Time + trace in the specified Waveform View in Volts, Watts, or dB per division. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle + - DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + - ``NR3`` sets the vertical scale. The units for the vertical scale depend on the + Magnitude Format setting. If the format is 'Amplitude (linear)', then the units are + Volts/div. If the format is 'Power (linear)', then the units are Watts/div. If the + format is 'Power (log)', then the units are dB/div. + """ + return self._scale + + +class DisplayWaveview1RfMagnitudeItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_MAGnitude`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_MAGnitude?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:RF_MAGnitude?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + + Properties: + - ``.vertical``: The ``DISplay:WAVEView1:RF_MAGnitude:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._vertical = DisplayWaveview1RfMagnitudeItemVertical( + device, f"{self._cmd_syntax}:VERTical" + ) + + @property + def vertical(self) -> DisplayWaveview1RfMagnitudeItemVertical: + """Return the ``DISplay:WAVEView1:RF_MAGnitude:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude:VERTical?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:RF_MAGnitude:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:RF_MAGnitude:VERTical:SCAle`` command. + """ + return self._vertical + + +class DisplayWaveview1RfFrequencyItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified Frequency vs. Time trace + in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle + - DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + - ``NR3`` sets the vertical scale, in Hertz per division. + """ + + +class DisplayWaveview1RfFrequencyItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified Frequency vs. Time + trace in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_FREQuency:VERTical:POSition + - DISplay:WAVEView1:RF_FREQuency:VERTical:POSition? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + - ``NR3`` sets the vertical position in divisions. 0.0 divisions is center, 5.0 is the top + of the Waveform View, and -5.0 is the top of the Waveform View. + """ + + +class DisplayWaveview1RfFrequencyItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:RF_FREQuency:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1RfFrequencyItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1RfFrequencyItemVerticalScale( + device, f"{self._cmd_syntax}:SCAle" + ) + + @property + def position(self) -> DisplayWaveview1RfFrequencyItemVerticalPosition: + """Return the ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified Frequency vs. Time + trace in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_FREQuency:VERTical:POSition + - DISplay:WAVEView1:RF_FREQuency:VERTical:POSition? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + - ``NR3`` sets the vertical position in divisions. 0.0 divisions is center, 5.0 is the + top of the Waveform View, and -5.0 is the top of the Waveform View. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1RfFrequencyItemVerticalScale: + """Return the ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified Frequency vs. Time + trace in the Waveform View, in divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle + - DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle? + ``` + + Info: + - ``1`` is always WAVEView1. + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + - ``NR3`` sets the vertical scale, in Hertz per division. + """ + return self._scale + + +class DisplayWaveview1RfFrequencyItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:RF_FREQuency`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_FREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:RF_FREQuency?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + + Properties: + - ``.vertical``: The ``DISplay:WAVEView1:RF_FREQuency:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._vertical = DisplayWaveview1RfFrequencyItemVertical( + device, f"{self._cmd_syntax}:VERTical" + ) + + @property + def vertical(self) -> DisplayWaveview1RfFrequencyItemVertical: + """Return the ``DISplay:WAVEView1:RF_FREQuency:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency:VERTical?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:RF_FREQuency:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:RF_FREQuency:VERTical:SCAle`` command. + """ + return self._vertical + + +class DisplayWaveview1RefItemDallFrame(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:REF_DALL:FRAMe`` command. + + Description: + - This command sets or returns the selected frame of the specified digital ref. Each ref has + a unique selected frame. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF_DALL:FRAMe?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF_DALL:FRAMe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF_DALL:FRAMe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF_DALL:FRAMe + - DISplay:WAVEView1:REF_DALL:FRAMe? + ``` + + Info: + - ```` is the selected frame of the specified digital ref. + """ + + +class DisplayWaveview1RefItemDall(SCPICmdRead): + """The ``DISplay:WAVEView1:REF_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF_DALL?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.frame``: The ``DISplay:WAVEView1:REF_DALL:FRAMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._frame = DisplayWaveview1RefItemDallFrame(device, f"{self._cmd_syntax}:FRAMe") + + @property + def frame(self) -> DisplayWaveview1RefItemDallFrame: + """Return the ``DISplay:WAVEView1:REF_DALL:FRAMe`` command. + + Description: + - This command sets or returns the selected frame of the specified digital ref. Each ref + has a unique selected frame. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF_DALL:FRAMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF_DALL:FRAMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF_DALL:FRAMe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF_DALL:FRAMe + - DISplay:WAVEView1:REF_DALL:FRAMe? + ``` + + Info: + - ```` is the selected frame of the specified digital ref. + """ + return self._frame + + +class DisplayWaveview1RefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.dall``: The ``DISplay:WAVEView1:REF_DALL`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dall = DisplayWaveview1RefItemDall(device, f"{self._cmd_syntax}_DALL") + + @property + def dall(self) -> DisplayWaveview1RefItemDall: + """Return the ``DISplay:WAVEView1:REF_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF_DALL?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.frame``: The ``DISplay:WAVEView1:REF_DALL:FRAMe`` command. + """ + return self._dall + + +class DisplayWaveview1RefRefItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:REF:REF:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified reference in volts per + div within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:SCAle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:VERTical:SCAle + - DISplay:WAVEView1:REF:REF:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale of the specified reference waveform. + """ + + +class DisplayWaveview1RefRefItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:REF:REF:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position in divisions of the specified reference + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:VERTical:POSition + - DISplay:WAVEView1:REF:REF:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position in divisions. + """ + + +class DisplayWaveview1RefRefItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:REF:REF:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:REF:REF:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:REF:REF:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1RefRefItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1RefRefItemVerticalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> DisplayWaveview1RefRefItemVerticalPosition: + """Return the ``DISplay:WAVEView1:REF:REF:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position in divisions of the specified + reference in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:POSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:VERTical:POSition + - DISplay:WAVEView1:REF:REF:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position in divisions. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1RefRefItemVerticalScale: + """Return the ``DISplay:WAVEView1:REF:REF:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified reference in volts + per div within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:SCAle?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:VERTical:SCAle + - DISplay:WAVEView1:REF:REF:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale of the specified reference waveform. + """ + return self._scale + + +class DisplayWaveview1RefRefItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:REF:REF:STATE`` command. + + Description: + - This command sets or queries the state of the specified reference waveform in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF:REF:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:STATE {ON|OFF|} + - DISplay:WAVEView1:REF:REF:STATE? + ``` + + Info: + - ```` = 0 disables the specified reference in the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the specified reference in the specified Waveform View. + - ``ON`` enables the specified reference in the specified Waveform View. + """ + + +class DisplayWaveview1RefRefItemFrame(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:REF:REF:FRAMe`` command. + + Description: + - This command sets or returns the selected frame of the specified analog ref. Each ref has + a unique selected frame. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF:FRAMe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF:REF:FRAMe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:FRAMe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:FRAMe + - DISplay:WAVEView1:REF:REF:FRAMe? + ``` + + Info: + - ```` is the selected frame of the specified analog ref. + """ + + +class DisplayWaveview1RefRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:REF:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF:REF?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:WAVEView1:REF:REF:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:REF:REF:VERTical`` command tree. + - ``.frame``: The ``DISplay:WAVEView1:REF:REF:FRAMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayWaveview1RefRefItemState(device, f"{self._cmd_syntax}:STATE") + self._vertical = DisplayWaveview1RefRefItemVertical(device, f"{self._cmd_syntax}:VERTical") + self._frame = DisplayWaveview1RefRefItemFrame(device, f"{self._cmd_syntax}:FRAMe") + + @property + def state(self) -> DisplayWaveview1RefRefItemState: + """Return the ``DISplay:WAVEView1:REF:REF:STATE`` command. + + Description: + - This command sets or queries the state of the specified reference waveform in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:STATE {ON|OFF|} + - DISplay:WAVEView1:REF:REF:STATE? + ``` + + Info: + - ```` = 0 disables the specified reference in the specified Waveform View; any + other value turns this feature on. + - ``OFF`` disables the specified reference in the specified Waveform View. + - ``ON`` enables the specified reference in the specified Waveform View. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1RefRefItemVertical: + """Return the ``DISplay:WAVEView1:REF:REF:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:REF:REF:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:REF:REF:VERTical:SCAle`` command. + """ + return self._vertical + + @property + def frame(self) -> DisplayWaveview1RefRefItemFrame: + """Return the ``DISplay:WAVEView1:REF:REF:FRAMe`` command. + + Description: + - This command sets or returns the selected frame of the specified analog ref. Each ref + has a unique selected frame. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF:FRAMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:FRAMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:REF:REF:FRAMe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:REF:REF:FRAMe + - DISplay:WAVEView1:REF:REF:FRAMe? + ``` + + Info: + - ```` is the selected frame of the specified analog ref. + """ + return self._frame + + +class DisplayWaveview1Ref(SCPICmdRead): + """The ``DISplay:WAVEView1:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ref``: The ``DISplay:WAVEView1:REF:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ref: Dict[int, DisplayWaveview1RefRefItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1RefRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def ref(self) -> Dict[int, DisplayWaveview1RefRefItem]: + """Return the ``DISplay:WAVEView1:REF:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF:REF?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:WAVEView1:REF:REF:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:REF:REF:VERTical`` command tree. + - ``.frame``: The ``DISplay:WAVEView1:REF:REF:FRAMe`` command. + """ + return self._ref + + +class DisplayWaveview1PlotPlotItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified time trend in units per + division in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle + - DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale. + """ + + +class DisplayWaveview1PlotPlotItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified time trend in the + specified Waveform View in absolute units. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition + - DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position. + """ + + +class DisplayWaveview1PlotPlotItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT:PLOT:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT:PLOT:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1PlotPlotItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1PlotPlotItemVerticalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> DisplayWaveview1PlotPlotItemVerticalPosition: + """Return the ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified time trend in the + specified Waveform View in absolute units. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition + - DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1PlotPlotItemVerticalScale: + """Return the ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle`` command. + + Description: + - This command sets or queries the vertical scale of the specified time trend in units + per division in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle + - DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale. + """ + return self._scale + + +class DisplayWaveview1PlotPlotItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT:PLOT:STATE`` command. + + Description: + - This command sets or queries the state of the specified time trend plot waveform in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT:PLOT:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:STATE {ON|OFF|} + - DISplay:WAVEView1:PLOT:PLOT:STATE? + ``` + + Info: + - ```` = 0 disables the specified plot in the specified Waveform View; any other value + turns this feature on. + - ``OFF`` disables the specified plot in the specified Waveform View. + - ``ON`` enables the specified plot in the specified Waveform View. + """ + + +class DisplayWaveview1PlotPlotItemAutoscale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale`` command. + + Description: + - This command sets or queries whether the specified trend gets auto-scaled when the new + data is available within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:AUTOScale {ON|OFF|} + - DISplay:WAVEView1:PLOT:PLOT:AUTOScale? + ``` + + Info: + - ```` = 0 disables auto-scaling the specified plot in the specified Waveform View; any + other value turns this feature on. + - ``OFF`` disables auto-scaling the specified plot in the specified Waveform View. + - ``ON`` enables auto-scaling the specified plot in the specified Waveform View. + """ + + +class DisplayWaveview1PlotPlotItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:PLOT:PLOT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.autoscale``: The ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale`` command. + - ``.state``: The ``DISplay:WAVEView1:PLOT:PLOT:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:PLOT:PLOT:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoscale = DisplayWaveview1PlotPlotItemAutoscale( + device, f"{self._cmd_syntax}:AUTOScale" + ) + self._state = DisplayWaveview1PlotPlotItemState(device, f"{self._cmd_syntax}:STATE") + self._vertical = DisplayWaveview1PlotPlotItemVertical( + device, f"{self._cmd_syntax}:VERTical" + ) + + @property + def autoscale(self) -> DisplayWaveview1PlotPlotItemAutoscale: + """Return the ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale`` command. + + Description: + - This command sets or queries whether the specified trend gets auto-scaled when the new + data is available within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:AUTOScale {ON|OFF|} + - DISplay:WAVEView1:PLOT:PLOT:AUTOScale? + ``` + + Info: + - ```` = 0 disables auto-scaling the specified plot in the specified Waveform View; + any other value turns this feature on. + - ``OFF`` disables auto-scaling the specified plot in the specified Waveform View. + - ``ON`` enables auto-scaling the specified plot in the specified Waveform View. + """ + return self._autoscale + + @property + def state(self) -> DisplayWaveview1PlotPlotItemState: + """Return the ``DISplay:WAVEView1:PLOT:PLOT:STATE`` command. + + Description: + - This command sets or queries the state of the specified time trend plot waveform in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT:PLOT:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:PLOT:PLOT:STATE {ON|OFF|} + - DISplay:WAVEView1:PLOT:PLOT:STATE? + ``` + + Info: + - ```` = 0 disables the specified plot in the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the specified plot in the specified Waveform View. + - ``ON`` enables the specified plot in the specified Waveform View. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1PlotPlotItemVertical: + """Return the ``DISplay:WAVEView1:PLOT:PLOT:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:PLOT:PLOT:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:PLOT:PLOT:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:PLOT:PLOT:VERTical:SCAle`` command. + """ + return self._vertical + + +class DisplayWaveview1Plot(SCPICmdRead): + """The ``DISplay:WAVEView1:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:PLOT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.plot``: The ``DISplay:WAVEView1:PLOT:PLOT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._plot: Dict[int, DisplayWaveview1PlotPlotItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1PlotPlotItem(device, f"{self._cmd_syntax}:PLOT{x}") + ) + + @property + def plot(self) -> Dict[int, DisplayWaveview1PlotPlotItem]: + """Return the ``DISplay:WAVEView1:PLOT:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:PLOT:PLOT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.autoscale``: The ``DISplay:WAVEView1:PLOT:PLOT:AUTOScale`` command. + - ``.state``: The ``DISplay:WAVEView1:PLOT:PLOT:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:PLOT:PLOT:VERTical`` command tree. + """ + return self._plot + + +class DisplayWaveview1MathMathItemVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle`` command. + + Description: + - Sets or queries the vertical scale of the specified math in volts per division within the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:VERTical:SCAle + - DISplay:WAVEView1:MATH:MATH:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale of the specified math waveform. + """ + + +class DisplayWaveview1MathMathItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position in divisions of the specified math + waveform in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:VERTical:POSition + - DISplay:WAVEView1:MATH:MATH:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position in divisions of the specified math waveform. + """ + + +class DisplayWaveview1MathMathItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:MATH:MATH:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH:MATH:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1MathMathItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1MathMathItemVerticalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> DisplayWaveview1MathMathItemVerticalPosition: + """Return the ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position in divisions of the specified math + waveform in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:VERTical:POSition + - DISplay:WAVEView1:MATH:MATH:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position in divisions of the specified math waveform. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1MathMathItemVerticalScale: + """Return the ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle`` command. + + Description: + - Sets or queries the vertical scale of the specified math in volts per division within + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:VERTical:SCAle + - DISplay:WAVEView1:MATH:MATH:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale of the specified math waveform. + """ + return self._scale + + +class DisplayWaveview1MathMathItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:MATH:MATH:STATE`` command. + + Description: + - This command sets or queries the state of the specified math waveform in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH:MATH:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:STATE {ON|OFF|} + - DISplay:WAVEView1:MATH:MATH:STATE? + ``` + + Info: + - ```` = 0 disables the specified math in the specified Waveform View; any other value + turns this feature on. + - ``OFF`` disables the specified math in the specified Waveform View. + - ``ON`` enables the specified math in the specified Waveform View. + """ + + +class DisplayWaveview1MathMathItemAutoscale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:MATH:MATH:AUTOScale`` command. + + Description: + - This command sets or queries whether the specified math gets auto-scaled when the math + equation changes within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH:MATH:AUTOScale?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:AUTOScale?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:AUTOScale value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:AUTOScale {ON|OFF|} + - DISplay:WAVEView1:MATH:MATH:AUTOScale? + ``` + + Info: + - ```` = 0 disables the autoscaling the math in the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the autoscaling the math in the specified Waveform View. + - ``ON`` enables the autoscaling the math in the specified Waveform View. + """ + + +class DisplayWaveview1MathMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:MATH:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:MATH:MATH?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.autoscale``: The ``DISplay:WAVEView1:MATH:MATH:AUTOScale`` command. + - ``.state``: The ``DISplay:WAVEView1:MATH:MATH:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:MATH:MATH:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoscale = DisplayWaveview1MathMathItemAutoscale( + device, f"{self._cmd_syntax}:AUTOScale" + ) + self._state = DisplayWaveview1MathMathItemState(device, f"{self._cmd_syntax}:STATE") + self._vertical = DisplayWaveview1MathMathItemVertical( + device, f"{self._cmd_syntax}:VERTical" + ) + + @property + def autoscale(self) -> DisplayWaveview1MathMathItemAutoscale: + """Return the ``DISplay:WAVEView1:MATH:MATH:AUTOScale`` command. + + Description: + - This command sets or queries whether the specified math gets auto-scaled when the math + equation changes within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:MATH:MATH:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:AUTOScale?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:AUTOScale value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:AUTOScale {ON|OFF|} + - DISplay:WAVEView1:MATH:MATH:AUTOScale? + ``` + + Info: + - ```` = 0 disables the autoscaling the math in the specified Waveform View; any + other value turns this feature on. + - ``OFF`` disables the autoscaling the math in the specified Waveform View. + - ``ON`` enables the autoscaling the math in the specified Waveform View. + """ + return self._autoscale + + @property + def state(self) -> DisplayWaveview1MathMathItemState: + """Return the ``DISplay:WAVEView1:MATH:MATH:STATE`` command. + + Description: + - This command sets or queries the state of the specified math waveform in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH:MATH:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:MATH:MATH:STATE {ON|OFF|} + - DISplay:WAVEView1:MATH:MATH:STATE? + ``` + + Info: + - ```` = 0 disables the specified math in the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the specified math in the specified Waveform View. + - ``ON`` enables the specified math in the specified Waveform View. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1MathMathItemVertical: + """Return the ``DISplay:WAVEView1:MATH:MATH:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:MATH:MATH:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:MATH:MATH:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:MATH:MATH:VERTical:SCAle`` command. + """ + return self._vertical + + +class DisplayWaveview1Math(SCPICmdRead): + """The ``DISplay:WAVEView1:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:MATH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.math``: The ``DISplay:WAVEView1:MATH:MATH`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._math: Dict[int, DisplayWaveview1MathMathItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1MathMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) + + @property + def math(self) -> Dict[int, DisplayWaveview1MathMathItem]: + """Return the ``DISplay:WAVEView1:MATH:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:MATH:MATH?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.autoscale``: The ``DISplay:WAVEView1:MATH:MATH:AUTOScale`` command. + - ``.state``: The ``DISplay:WAVEView1:MATH:MATH:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:MATH:MATH:VERTical`` command tree. + """ + return self._math + + +class DisplayWaveview1IntensityWaveform(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:INTENSITy:WAVEform`` command. + + Description: + - This command sets or queries the waveform saturation level. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:INTENSITy:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:WAVEform value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:INTENSITy:WAVEform + - DISplay:WAVEView1:INTENSITy:WAVEform? + ``` + + Info: + - ```` is the waveform saturation level. + """ + + +class DisplayWaveview1IntensityGraticule(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:INTENSITy:GRATicule`` command. + + Description: + - This command sets or queries the graticule saturation level. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:INTENSITy:GRATicule?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:GRATicule?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:GRATicule value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:INTENSITy:GRATicule + - DISplay:WAVEView1:INTENSITy:GRATicule? + ``` + + Info: + - ```` is the graticule saturation level. + """ + + +class DisplayWaveview1Intensity(SCPICmdRead): + """The ``DISplay:WAVEView1:INTENSITy`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:INTENSITy?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:INTENSITy?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.graticule``: The ``DISplay:WAVEView1:INTENSITy:GRATicule`` command. + - ``.waveform``: The ``DISplay:WAVEView1:INTENSITy:WAVEform`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._graticule = DisplayWaveview1IntensityGraticule( + device, f"{self._cmd_syntax}:GRATicule" + ) + self._waveform = DisplayWaveview1IntensityWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def graticule(self) -> DisplayWaveview1IntensityGraticule: + """Return the ``DISplay:WAVEView1:INTENSITy:GRATicule`` command. + + Description: + - This command sets or queries the graticule saturation level. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:INTENSITy:GRATicule?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:GRATicule?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:GRATicule value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:INTENSITy:GRATicule + - DISplay:WAVEView1:INTENSITy:GRATicule? + ``` + + Info: + - ```` is the graticule saturation level. + """ + return self._graticule + + @property + def waveform(self) -> DisplayWaveview1IntensityWaveform: + """Return the ``DISplay:WAVEView1:INTENSITy:WAVEform`` command. + + Description: + - This command sets or queries the waveform saturation level. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:INTENSITy:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:INTENSITy:WAVEform value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:INTENSITy:WAVEform + - DISplay:WAVEView1:INTENSITy:WAVEform? + ``` + + Info: + - ```` is the waveform saturation level. + """ + return self._waveform + + +class DisplayWaveview1Graticule(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:GRAticule`` command. + + Description: + - This command selects or queries the type of graticule that is displayed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:GRAticule?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:GRAticule?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:GRAticule value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:GRAticule {GRId|TIMe|FULl|NONe} + - DISplay:WAVEView1:GRAticule? + ``` + + Info: + - ``GRId`` specifies a frame and grid only. + - ``TIMe`` specifies a time graticule only. + - ``FULl`` specifies a frame, a grid and cross hairs. + - ``NONe`` specified no graticule. + """ + + +class DisplayWaveview1Filter(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:FILTer`` command. + + Description: + - This command sets or queries the type of interpolation filter for the display. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:FILTer?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:FILTer value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:FILTer {SINX|LINear} + - DISplay:WAVEView1:FILTer? + ``` + + Info: + - ``LINEAr`` specifies linear interpolation, where acquired points are connected with + straight lines. + - ``SINX`` specifies sin(x)/x interpolation, where acquired points are fit to a curve. + """ + + +class DisplayWaveview1CursorCursorWaveformBvposition(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition`` command. + + Description: + - This command queries the vertical waveform value at the cursor B position in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursorWaveformAvposition(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition`` command. + + Description: + - This command queries the vertical waveform value at the cursor A position in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursorWaveformAllValues(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values`` command. + + Description: + - This query returns all values (Time, Voltage, Delta) associated with all the active + sources in the Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values? + ``` + """ + + +class DisplayWaveview1CursorCursorWaveformAll(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.values``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._values = DisplayWaveview1CursorCursorWaveformAllValues( + device, f"{self._cmd_syntax}:Values" + ) + + @property + def values(self) -> DisplayWaveview1CursorCursorWaveformAllValues: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values`` command. + + Description: + - This query returns all values (Time, Voltage, Delta) associated with all the active + sources in the Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values? + ``` + """ + return self._values + + +class DisplayWaveview1CursorCursorWaveform(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.all``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL`` command tree. + - ``.avposition``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition`` command. + - ``.bvposition``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._all = DisplayWaveview1CursorCursorWaveformAll(device, f"{self._cmd_syntax}:ALL") + self._avposition = DisplayWaveview1CursorCursorWaveformAvposition( + device, f"{self._cmd_syntax}:AVPOSition" + ) + self._bvposition = DisplayWaveview1CursorCursorWaveformBvposition( + device, f"{self._cmd_syntax}:BVPOSition" + ) + + @property + def all(self) -> DisplayWaveview1CursorCursorWaveformAll: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.values``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL:Values`` command. + """ + return self._all + + @property + def avposition(self) -> DisplayWaveview1CursorCursorWaveformAvposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition`` command. + + Description: + - This command queries the vertical waveform value at the cursor A position in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + return self._avposition + + @property + def bvposition(self) -> DisplayWaveview1CursorCursorWaveformBvposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition`` command. + + Description: + - This command queries the vertical waveform value at the cursor B position in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + return self._bvposition + + +class DisplayWaveview1CursorCursor1WaveformBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition? + ``` + + Info: + - ```` is the horizontal cursor B position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1WaveformAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1Waveform(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayWaveview1CursorCursor1WaveformAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplayWaveview1CursorCursor1WaveformBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + + @property + def aposition(self) -> DisplayWaveview1CursorCursor1WaveformAposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + return self._aposition + + @property + def bposition(self) -> DisplayWaveview1CursorCursor1WaveformBposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition? + ``` + + Info: + - ```` is the horizontal cursor B position of the specified cursor in the specified + Waveform View. + """ + return self._bposition + + +class DisplayWaveview1CursorCursor1VbarsUnits(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts`` command. + + Description: + - This query returns cursor A vertical units of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts? + ``` + """ + + +class DisplayWaveview1CursorCursor1VbarsDelta(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa`` command. + + Description: + - This query sets or returns the delta T cursor readout value of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa? + ``` + """ + + +class DisplayWaveview1CursorCursor1VbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the cursor B horizontal position of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition? + ``` + + Info: + - ```` is the horizontal cursor B position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1VbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition`` command. + + Description: + - This command sets or queries the cursor A horizontal position of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1Vbars(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition`` command. + - ``.delta``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa`` command. + - ``.units``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayWaveview1CursorCursor1VbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplayWaveview1CursorCursor1VbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._delta = DisplayWaveview1CursorCursor1VbarsDelta(device, f"{self._cmd_syntax}:DELTa") + self._units = DisplayWaveview1CursorCursor1VbarsUnits(device, f"{self._cmd_syntax}:UNIts") + + @property + def aposition(self) -> DisplayWaveview1CursorCursor1VbarsAposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition`` command. + + Description: + - This command sets or queries the cursor A horizontal position of the specified cursor + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + return self._aposition + + @property + def bposition(self) -> DisplayWaveview1CursorCursor1VbarsBposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the cursor B horizontal position of the specified cursor + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition? + ``` + + Info: + - ```` is the horizontal cursor B position of the specified cursor in the specified + Waveform View. + """ + return self._bposition + + @property + def delta(self) -> DisplayWaveview1CursorCursor1VbarsDelta: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa`` command. + + Description: + - This query sets or returns the delta T cursor readout value of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa? + ``` + """ + return self._delta + + @property + def units(self) -> DisplayWaveview1CursorCursor1VbarsUnits: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts`` command. + + Description: + - This query returns cursor A vertical units of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts? + ``` + """ + return self._units + + +class DisplayWaveview1CursorCursor1State(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:STATE`` command. + + Description: + - This command sets or queries the visible state of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:STATE {ON|OFF|} + - DISplay:WAVEView1:CURSor:CURSOR1:STATE? + ``` + + Info: + - ```` = 0 disables the specified cursor in the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the specified cursor in the specified Waveform View. + - ``ON`` enables the specified cursor in the specified Waveform View. + """ + + +class DisplayWaveview1CursorCursor1Splitmode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE`` command. + + Description: + - This command sets or queries whether both cursors have the same or different sources. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE {SAME|SPLIT} + - DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE? + ``` + + Info: + - ``SAME`` specifies both cursors have the same source. + - ``SPLIT`` specifies the cursors have different sources. + """ + + +class DisplayWaveview1CursorCursor1ScreenByposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition? + ``` + + Info: + - ```` the vertical cursor B position of the specified cursor in the specified Waveform + View. + """ + + +class DisplayWaveview1CursorCursor1ScreenBxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition`` command. + + Description: + - Sets or queries the horizontal cursor B position of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition? + ``` + + Info: + - ```` is the horizontal cursor B position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1ScreenAyposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition? + ``` + + Info: + - ```` the vertical cursor A position of the specified cursor in the specified Waveform + View. + """ + + +class DisplayWaveview1CursorCursor1ScreenAxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition`` command. + + Description: + - Sets or queries the horizontal cursor A position of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1Screen(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.axposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._axposition = DisplayWaveview1CursorCursor1ScreenAxposition( + device, f"{self._cmd_syntax}:AXPOSition" + ) + self._ayposition = DisplayWaveview1CursorCursor1ScreenAyposition( + device, f"{self._cmd_syntax}:AYPOSition" + ) + self._bxposition = DisplayWaveview1CursorCursor1ScreenBxposition( + device, f"{self._cmd_syntax}:BXPOSition" + ) + self._byposition = DisplayWaveview1CursorCursor1ScreenByposition( + device, f"{self._cmd_syntax}:BYPOSition" + ) + + @property + def axposition(self) -> DisplayWaveview1CursorCursor1ScreenAxposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition`` command. + + Description: + - Sets or queries the horizontal cursor A position of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition? + ``` + + Info: + - ```` is the horizontal cursor A position of the specified cursor in the specified + Waveform View. + """ + return self._axposition + + @property + def ayposition(self) -> DisplayWaveview1CursorCursor1ScreenAyposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition? + ``` + + Info: + - ```` the vertical cursor A position of the specified cursor in the specified + Waveform View. + """ + return self._ayposition + + @property + def bxposition(self) -> DisplayWaveview1CursorCursor1ScreenBxposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition`` command. + + Description: + - Sets or queries the horizontal cursor B position of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition? + ``` + + Info: + - ```` is the horizontal cursor B position of the specified cursor in the specified + Waveform View. + """ + return self._bxposition + + @property + def byposition(self) -> DisplayWaveview1CursorCursor1ScreenByposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition? + ``` + + Info: + - ```` the vertical cursor B position of the specified cursor in the specified + Waveform View. + """ + return self._byposition + + +class DisplayWaveview1CursorCursor1Oneoverdeltatvalue(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE`` command. + + Description: + - This query returns the one over delta T cursor readout value of the specified cursor in + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE? + ``` + """ + + +class DisplayWaveview1CursorCursor1Mode(SCPICmdWrite): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:MODe`` command. + + Description: + - Sets or queries the cursor tracking mode of the specified cursor in the specified Waveform + View. + + Usage: + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:MODe {INDEPENDENT|TRACK} + ``` + + Info: + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor 1 + adjustments, this ties the movement of the two cursors together; however, cursor 2 + continues to move independently of cursor 1. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + """ + + +class DisplayWaveview1CursorCursor1HbarsDelta(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa`` command. + + Description: + - This command queries the delta V cursor readout value of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa? + ``` + """ + + +class DisplayWaveview1CursorCursor1HbarsBunits(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts`` command. + + Description: + - This command queries the cursor B vertical units of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts? + ``` + """ + + +class DisplayWaveview1CursorCursor1HbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition`` command. + + Description: + - Sets or queries the HBARs vertical B position of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition? + ``` + + Info: + - ```` is the vertical cursor B position of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1HbarsAunits(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts`` command. + + Description: + - This command queries the cursor A vertical units of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts? + ``` + + Info: + - ```` is the cursor A vertical units of the specified cursor in the specified + Waveform View. + """ + + +class DisplayWaveview1CursorCursor1HbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition`` command. + + Description: + - Sets or queries the HBARs vertical A position of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition? + ``` + + Info: + - ```` is the vertical cursor A position of the specified cursor in the specified + Waveform View. 0.0 divisions is center, 5.0 top of the waveview, and -5.0 the bottom of + the waveview. + """ + + +class DisplayWaveview1CursorCursor1Hbars(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayWaveview1CursorCursor1HbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._aunits = DisplayWaveview1CursorCursor1HbarsAunits( + device, f"{self._cmd_syntax}:AUNIts" + ) + self._bposition = DisplayWaveview1CursorCursor1HbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bunits = DisplayWaveview1CursorCursor1HbarsBunits( + device, f"{self._cmd_syntax}:BUNIts" + ) + self._delta = DisplayWaveview1CursorCursor1HbarsDelta(device, f"{self._cmd_syntax}:DELTa") + + @property + def aposition(self) -> DisplayWaveview1CursorCursor1HbarsAposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition`` command. + + Description: + - Sets or queries the HBARs vertical A position of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition? + ``` + + Info: + - ```` is the vertical cursor A position of the specified cursor in the specified + Waveform View. 0.0 divisions is center, 5.0 top of the waveview, and -5.0 the bottom + of the waveview. + """ + return self._aposition + + @property + def aunits(self) -> DisplayWaveview1CursorCursor1HbarsAunits: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts`` command. + + Description: + - This command queries the cursor A vertical units of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts? + ``` + + Info: + - ```` is the cursor A vertical units of the specified cursor in the specified + Waveform View. + """ + return self._aunits + + @property + def bposition(self) -> DisplayWaveview1CursorCursor1HbarsBposition: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition`` command. + + Description: + - Sets or queries the HBARs vertical B position of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition? + ``` + + Info: + - ```` is the vertical cursor B position of the specified cursor in the specified + Waveform View. + """ + return self._bposition + + @property + def bunits(self) -> DisplayWaveview1CursorCursor1HbarsBunits: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts`` command. + + Description: + - This command queries the cursor B vertical units of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts? + ``` + """ + return self._bunits + + @property + def delta(self) -> DisplayWaveview1CursorCursor1HbarsDelta: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa`` command. + + Description: + - This command queries the delta V cursor readout value of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa? + ``` + """ + return self._delta + + +class DisplayWaveview1CursorCursor1Function(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion`` command. + + Description: + - This command sets or queries the cursor type of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion {SCREEN|WAVEFORM|VBArs|HBArs} + - DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion? + ``` + + Info: + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``SCREEN`` specifies both horizontal and vertical bar cursors, which measure in horizontal + and vertical units specified by the Cursor 1 and Cursor 2 Sources. Use these cursors to + measure anywhere in the waveform display area. + - ``WAVEform`` specifies paired or split cursors in YT display format for measuring waveform + amplitude and time. In XY and XYZ format, these cursors indicate the amplitude positions + of an XY pair (Ch1 vs Ch2 voltage, where Ch1 is the X axis and Ch2 is the Y axis) relative + to the trigger. + """ + + +class DisplayWaveview1CursorCursor1Ddt(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:DDT`` command. + + Description: + - This query returns the delta V over delta T cursor readout value of the specified cursor + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:DDT?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:DDT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:DDT? + ``` + """ + + +class DisplayWaveview1CursorCursor1Bsource(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce`` command. + + Description: + - This command sets or queries the cursor B source of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce {CH|BUS|MATH|REF|PLOT} + - DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce? + ``` + + Info: + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``BUS`` specifies a bus as source. + - ``REF`` specifies a reference waveform as the source. + - ``PLOT`` specifies a plot as the source. + """ + + +class DisplayWaveview1CursorCursor1Asource(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce`` command. + + Description: + - This command sets or queries the cursor A source of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce {AUTO|CH|BUS|MATH|REF|PLOT} + - DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce? + ``` + + Info: + - ``AUTO`` specifies to use the selected source. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``BUS`` specifies a bus as source. + - ``REF`` specifies a reference waveform as the source. + - ``PLOT`` specifies a plot as the source. + """ + + +# pylint: disable=too-many-instance-attributes +class DisplayWaveview1CursorCursor1(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR1`` command. + + Description: + - This query returns the cursor parameters for the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1? + ``` + + Properties: + - ``.asource``: The ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce`` command. + - ``.bsource``: The ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce`` command. + - ``.ddt``: The ``DISplay:WAVEView1:CURSor:CURSOR1:DDT`` command. + - ``.function``: The ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion`` command. + - ``.hbars``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs`` command tree. + - ``.mode``: The ``DISplay:WAVEView1:CURSor:CURSOR1:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE`` + command. + - ``.screen``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN`` command tree. + - ``.splitmode``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE`` command. + - ``.state``: The ``DISplay:WAVEView1:CURSor:CURSOR1:STATE`` command. + - ``.vbars``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs`` command tree. + - ``.waveform``: The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._asource = DisplayWaveview1CursorCursor1Asource(device, f"{self._cmd_syntax}:ASOUrce") + self._bsource = DisplayWaveview1CursorCursor1Bsource(device, f"{self._cmd_syntax}:BSOUrce") + self._ddt = DisplayWaveview1CursorCursor1Ddt(device, f"{self._cmd_syntax}:DDT") + self._function = DisplayWaveview1CursorCursor1Function( + device, f"{self._cmd_syntax}:FUNCtion" + ) + self._hbars = DisplayWaveview1CursorCursor1Hbars(device, f"{self._cmd_syntax}:HBArs") + self._mode = DisplayWaveview1CursorCursor1Mode(device, f"{self._cmd_syntax}:MODe") + self._oneoverdeltatvalue = DisplayWaveview1CursorCursor1Oneoverdeltatvalue( + device, f"{self._cmd_syntax}:ONEOVERDELTATVALUE" + ) + self._screen = DisplayWaveview1CursorCursor1Screen(device, f"{self._cmd_syntax}:SCREEN") + self._splitmode = DisplayWaveview1CursorCursor1Splitmode( + device, f"{self._cmd_syntax}:SPLITMODE" + ) + self._state = DisplayWaveview1CursorCursor1State(device, f"{self._cmd_syntax}:STATE") + self._vbars = DisplayWaveview1CursorCursor1Vbars(device, f"{self._cmd_syntax}:VBArs") + self._waveform = DisplayWaveview1CursorCursor1Waveform( + device, f"{self._cmd_syntax}:WAVEform" + ) + + @property + def asource(self) -> DisplayWaveview1CursorCursor1Asource: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce`` command. + + Description: + - This command sets or queries the cursor A source of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce {AUTO|CH|BUS|MATH|REF|PLOT} + - DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce? + ``` + + Info: + - ``AUTO`` specifies to use the selected source. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``BUS`` specifies a bus as source. + - ``REF`` specifies a reference waveform as the source. + - ``PLOT`` specifies a plot as the source. + """ + return self._asource + + @property + def bsource(self) -> DisplayWaveview1CursorCursor1Bsource: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce`` command. + + Description: + - This command sets or queries the cursor B source of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce {CH|BUS|MATH|REF|PLOT} + - DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce? + ``` + + Info: + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``BUS`` specifies a bus as source. + - ``REF`` specifies a reference waveform as the source. + - ``PLOT`` specifies a plot as the source. + """ + return self._bsource + + @property + def ddt(self) -> DisplayWaveview1CursorCursor1Ddt: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:DDT`` command. + + Description: + - This query returns the delta V over delta T cursor readout value of the specified + cursor in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1:DDT?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:DDT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:DDT? + ``` + """ + return self._ddt + + @property + def function(self) -> DisplayWaveview1CursorCursor1Function: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion`` command. + + Description: + - This command sets or queries the cursor type of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion {SCREEN|WAVEFORM|VBArs|HBArs} + - DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion? + ``` + + Info: + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``SCREEN`` specifies both horizontal and vertical bar cursors, which measure in + horizontal and vertical units specified by the Cursor 1 and Cursor 2 Sources. Use + these cursors to measure anywhere in the waveform display area. + - ``WAVEform`` specifies paired or split cursors in YT display format for measuring + waveform amplitude and time. In XY and XYZ format, these cursors indicate the + amplitude positions of an XY pair (Ch1 vs Ch2 voltage, where Ch1 is the X axis and Ch2 + is the Y axis) relative to the trigger. + """ + return self._function + + @property + def hbars(self) -> DisplayWaveview1CursorCursor1Hbars: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs:DELTa`` command. + """ + return self._hbars + + @property + def mode(self) -> DisplayWaveview1CursorCursor1Mode: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:MODe`` command. + + Description: + - Sets or queries the cursor tracking mode of the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:MODe {INDEPENDENT|TRACK} + ``` + + Info: + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor + 1 adjustments, this ties the movement of the two cursors together; however, cursor 2 + continues to move independently of cursor 1. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + """ + return self._mode + + @property + def oneoverdeltatvalue(self) -> DisplayWaveview1CursorCursor1Oneoverdeltatvalue: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE`` command. + + Description: + - This query returns the one over delta T cursor readout value of the specified cursor + in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE? + ``` + """ + return self._oneoverdeltatvalue + + @property + def screen(self) -> DisplayWaveview1CursorCursor1Screen: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.axposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN:BYPOSition`` command. + """ + return self._screen + + @property + def splitmode(self) -> DisplayWaveview1CursorCursor1Splitmode: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE`` command. + + Description: + - This command sets or queries whether both cursors have the same or different sources. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE {SAME|SPLIT} + - DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE? + ``` + + Info: + - ``SAME`` specifies both cursors have the same source. + - ``SPLIT`` specifies the cursors have different sources. + """ + return self._splitmode + + @property + def state(self) -> DisplayWaveview1CursorCursor1State: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:STATE`` command. + + Description: + - This command sets or queries the visible state of the specified cursor in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1:STATE {ON|OFF|} + - DISplay:WAVEView1:CURSor:CURSOR1:STATE? + ``` + + Info: + - ```` = 0 disables the specified cursor in the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the specified cursor in the specified Waveform View. + - ``ON`` enables the specified cursor in the specified Waveform View. + """ + return self._state + + @property + def vbars(self) -> DisplayWaveview1CursorCursor1Vbars: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:BPOSition`` command. + - ``.delta``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:DELTa`` command. + - ``.units``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs:UNIts`` command. + """ + return self._vbars + + @property + def waveform(self) -> DisplayWaveview1CursorCursor1Waveform: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform:BPOSition`` command. + """ + return self._waveform + + +class DisplayWaveview1CursorCursor(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor:CURSOR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.waveform``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._waveform = DisplayWaveview1CursorCursorWaveform( + device, f"{self._cmd_syntax}:WAVEform" + ) + + @property + def waveform(self) -> DisplayWaveview1CursorCursorWaveform: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.all``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:ALL`` command tree. + - ``.avposition``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:AVPOSition`` command. + - ``.bvposition``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform:BVPOSition`` command. + """ + return self._waveform + + +class DisplayWaveview1Cursor(SCPICmdRead): + """The ``DISplay:WAVEView1:CURSor`` command. + + Description: + - This query returns the cursor parameters for the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CURSor?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor? + ``` + + Properties: + - ``.cursor``: The ``DISplay:WAVEView1:CURSor:CURSOR`` command tree. + - ``.cursor1``: The ``DISplay:WAVEView1:CURSor:CURSOR1`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cursor = DisplayWaveview1CursorCursor(device, f"{self._cmd_syntax}:CURSOR") + self._cursor1 = DisplayWaveview1CursorCursor1(device, f"{self._cmd_syntax}:CURSOR1") + + @property + def cursor(self) -> DisplayWaveview1CursorCursor: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.waveform``: The ``DISplay:WAVEView1:CURSor:CURSOR:WAVEform`` command tree. + """ + return self._cursor + + @property + def cursor1(self) -> DisplayWaveview1CursorCursor1: + """Return the ``DISplay:WAVEView1:CURSor:CURSOR1`` command. + + Description: + - This query returns the cursor parameters for the specified cursor in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor:CURSOR1?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CURSor:CURSOR1?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor:CURSOR1? + ``` + + Sub-properties: + - ``.asource``: The ``DISplay:WAVEView1:CURSor:CURSOR1:ASOUrce`` command. + - ``.bsource``: The ``DISplay:WAVEView1:CURSor:CURSOR1:BSOUrce`` command. + - ``.ddt``: The ``DISplay:WAVEView1:CURSor:CURSOR1:DDT`` command. + - ``.function``: The ``DISplay:WAVEView1:CURSor:CURSOR1:FUNCtion`` command. + - ``.hbars``: The ``DISplay:WAVEView1:CURSor:CURSOR1:HBArs`` command tree. + - ``.mode``: The ``DISplay:WAVEView1:CURSor:CURSOR1:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:WAVEView1:CURSor:CURSOR1:ONEOVERDELTATVALUE`` + command. + - ``.screen``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SCREEN`` command tree. + - ``.splitmode``: The ``DISplay:WAVEView1:CURSor:CURSOR1:SPLITMODE`` command. + - ``.state``: The ``DISplay:WAVEView1:CURSor:CURSOR1:STATE`` command. + - ``.vbars``: The ``DISplay:WAVEView1:CURSor:CURSOR1:VBArs`` command tree. + - ``.waveform``: The ``DISplay:WAVEView1:CURSor:CURSOR1:WAVEform`` command tree. + """ + return self._cursor1 + + +class DisplayWaveview1ChannelDallVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CH_DALL:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified digital channel in the + specified Waveform View in divisions. The position ranges from 5.0 to -5.0 divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH_DALL:VERTical:POSition + - DISplay:WAVEView1:CH_DALL:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position of the specified digital channel in the specified + Waveform View in divisions. + """ + + +class DisplayWaveview1ChannelDallVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:CH_DALL:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_DALL:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:CH_DALL:VERTical:POSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1ChannelDallVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + + @property + def position(self) -> DisplayWaveview1ChannelDallVerticalPosition: + """Return the ``DISplay:WAVEView1:CH_DALL:VERTical:POSition`` command. + + Description: + - This command sets or queries the vertical position of the specified digital channel in + the specified Waveform View in divisions. The position ranges from 5.0 to -5.0 + divisions. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical:POSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH_DALL:VERTical:POSition + - DISplay:WAVEView1:CH_DALL:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position of the specified digital channel in the specified + Waveform View in divisions. + """ + return self._position + + +class DisplayWaveview1ChannelDallState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CH_DALL:STATE`` command. + + Description: + - This command sets or queries the display state of the specified digital channel in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_DALL:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH_DALL:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH_DALL:STATE {ON|OFF|} + - DISplay:WAVEView1:CH_DALL:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified channels on the specified Waveform + View; any other value turns this feature on. + - ``OFF`` disables the display of the specified channels on the specified Waveform View. + - ``ON`` enables the display of the specified channels on the specified Waveform View. + """ + + +class DisplayWaveview1ChannelDall(SCPICmdRead): + """The ``DISplay:WAVEView1:CH_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH_DALL?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:WAVEView1:CH_DALL:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:CH_DALL:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayWaveview1ChannelDallState(device, f"{self._cmd_syntax}:STATE") + self._vertical = DisplayWaveview1ChannelDallVertical(device, f"{self._cmd_syntax}:VERTical") + + @property + def state(self) -> DisplayWaveview1ChannelDallState: + """Return the ``DISplay:WAVEView1:CH_DALL:STATE`` command. + + Description: + - This command sets or queries the display state of the specified digital channel in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_DALL:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH_DALL:STATE {ON|OFF|} + - DISplay:WAVEView1:CH_DALL:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified channels on the specified Waveform + View; any other value turns this feature on. + - ``OFF`` disables the display of the specified channels on the specified Waveform View. + - ``ON`` enables the display of the specified channels on the specified Waveform View. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1ChannelDallVertical: + """Return the ``DISplay:WAVEView1:CH_DALL:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_DALL:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH_DALL:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:CH_DALL:VERTical:POSition`` command. + """ + return self._vertical + + +class DisplayWaveview1ChannelDigitalBitState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CH_D:STATE`` command. + + Description: + - This command sets or queries the display state of the specified digital channel in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_D:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH_D:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH_D:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH_D:STATE {ON|OFF|} + - DISplay:WAVEView1:CH_D:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified channel on the specified Waveform + View; any other value turns this feature on. + - ``OFF`` disables the display of the specified channel on the specified Waveform View. + - ``ON`` enables the display of the specified channel on the specified Waveform View. + """ + + +class DisplayWaveview1ChannelDigitalBit(ValidatedDigitalBit, SCPICmdRead): + """The ``DISplay:WAVEView1:CH_D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_D?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH_D?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:WAVEView1:CH_D:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayWaveview1ChannelDigitalBitState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayWaveview1ChannelDigitalBitState: + """Return the ``DISplay:WAVEView1:CH_D:STATE`` command. + + Description: + - This command sets or queries the display state of the specified digital channel in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_D:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH_D:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH_D:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH_D:STATE {ON|OFF|} + - DISplay:WAVEView1:CH_D:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified channel on the specified Waveform + View; any other value turns this feature on. + - ``OFF`` disables the display of the specified channel on the specified Waveform View. + - ``ON`` enables the display of the specified channel on the specified Waveform View. + """ + return self._state + + +class DisplayWaveview1ChannelVerticalScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CH:VERTical:SCAle`` command. + + Description: + - Sets or queries the vertical scale of the specified channel in volts per division within + the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH:VERTical:SCAle?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:SCAle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH:VERTical:SCAle + - DISplay:WAVEView1:CH:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale of the specified channel. + """ + + +class DisplayWaveview1ChannelVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CH:VERTical:POSition`` command. + + Description: + - Sets or queries the vertical position of the specified channel in the specified Waveform + View in divisions. 0.0 divisions is center, 5.0 top of the window, and -5.0 the bottom of + the window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH:VERTical:POSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH:VERTical:POSition + - DISplay:WAVEView1:CH:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position in divisions. 0.0 divisions is center, 5.0 top of the + window, and -5.0 the bottom of the window. + """ + + +class DisplayWaveview1ChannelVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:CH:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH:VERTical?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH:VERTical?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:CH:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:CH:VERTical:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1ChannelVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._scale = DisplayWaveview1ChannelVerticalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def position(self) -> DisplayWaveview1ChannelVerticalPosition: + """Return the ``DISplay:WAVEView1:CH:VERTical:POSition`` command. + + Description: + - Sets or queries the vertical position of the specified channel in the specified + Waveform View in divisions. 0.0 divisions is center, 5.0 top of the window, and -5.0 + the bottom of the window. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CH:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH:VERTical:POSition + - DISplay:WAVEView1:CH:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position in divisions. 0.0 divisions is center, 5.0 top of + the window, and -5.0 the bottom of the window. + """ + return self._position + + @property + def scale(self) -> DisplayWaveview1ChannelVerticalScale: + """Return the ``DISplay:WAVEView1:CH:VERTical:SCAle`` command. + + Description: + - Sets or queries the vertical scale of the specified channel in volts per division + within the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:CH:VERTical:SCAle?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:SCAle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical:SCAle value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH:VERTical:SCAle + - DISplay:WAVEView1:CH:VERTical:SCAle? + ``` + + Info: + - ```` is the vertical scale of the specified channel. + """ + return self._scale + + +class DisplayWaveview1ChannelState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:CH:STATE`` command. + + Description: + - Sets or queries the state of the specified channel in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:CH:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH:STATE {ON|OFF|} + - DISplay:WAVEView1:CH:STATE? + ``` + + Info: + - ```` = 0 disables the specified channel on the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the display the specified channel on the specified Waveform View. + - ``ON`` enables the specified channel on the specified Waveform View. + """ + + +class DisplayWaveview1Channel(ValidatedChannel, SCPICmdRead): + """The ``DISplay:WAVEView1:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:WAVEView1:CH:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:CH:VERTical`` command tree. + - ``.d``: The ``DISplay:WAVEView1:CH_D`` command tree. + - ``.dall``: The ``DISplay:WAVEView1:CH_DALL`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayWaveview1ChannelState(device, f"{self._cmd_syntax}:STATE") + self._vertical = DisplayWaveview1ChannelVertical(device, f"{self._cmd_syntax}:VERTical") + self._d: Dict[int, DisplayWaveview1ChannelDigitalBit] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1ChannelDigitalBit(device, f"{self._cmd_syntax}_D{x}") + ) + self._dall = DisplayWaveview1ChannelDall(device, f"{self._cmd_syntax}_DALL") + + @property + def state(self) -> DisplayWaveview1ChannelState: + """Return the ``DISplay:WAVEView1:CH:STATE`` command. + + Description: + - Sets or queries the state of the specified channel in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:CH:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CH:STATE {ON|OFF|} + - DISplay:WAVEView1:CH:STATE? + ``` + + Info: + - ```` = 0 disables the specified channel on the specified Waveform View; any other + value turns this feature on. + - ``OFF`` disables the display the specified channel on the specified Waveform View. + - ``ON`` enables the specified channel on the specified Waveform View. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1ChannelVertical: + """Return the ``DISplay:WAVEView1:CH:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:CH:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:CH:VERTical:POSition`` command. + - ``.scale``: The ``DISplay:WAVEView1:CH:VERTical:SCAle`` command. + """ + return self._vertical + + @property + def d(self) -> Dict[int, DisplayWaveview1ChannelDigitalBit]: + """Return the ``DISplay:WAVEView1:CH_D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_D?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH_D?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:WAVEView1:CH_D:STATE`` command. + """ + return self._d + + @property + def dall(self) -> DisplayWaveview1ChannelDall: + """Return the ``DISplay:WAVEView1:CH_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH_DALL?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:WAVEView1:CH_DALL:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:CH_DALL:VERTical`` command tree. + """ + return self._dall + + +class DisplayWaveview1BusBItemVerticalPosition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:BUS:B:VERTical:POSition`` command. + + Description: + - Sets or queries the vertical position of the specified bus in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:BUS:B:VERTical:POSition + - DISplay:WAVEView1:BUS:B:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position of the specified bus. + """ + + +class DisplayWaveview1BusBItemVertical(SCPICmdRead): + """The ``DISplay:WAVEView1:BUS:B:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS:B:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:BUS:B:VERTical?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.position``: The ``DISplay:WAVEView1:BUS:B:VERTical:POSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._position = DisplayWaveview1BusBItemVerticalPosition( + device, f"{self._cmd_syntax}:POSition" + ) + + @property + def position(self) -> DisplayWaveview1BusBItemVerticalPosition: + """Return the ``DISplay:WAVEView1:BUS:B:VERTical:POSition`` command. + + Description: + - Sets or queries the vertical position of the specified bus in the specified Waveform + View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical:POSition value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:BUS:B:VERTical:POSition + - DISplay:WAVEView1:BUS:B:VERTical:POSition? + ``` + + Info: + - ```` is the vertical position of the specified bus. + """ + return self._position + + +class DisplayWaveview1BusBItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:WAVEView1:BUS:B:STATE`` command. + + Description: + - Sets or queries the state of the specified bus in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:BUS:B:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:BUS:B:STATE {OFF|ON|0|1} + - DISplay:WAVEView1:BUS:B:STATE? + ``` + + Info: + - ``0`` turns specified bus off. + - ``1`` turns the specified bus on. + - ``ON`` turns the specified bus on. + - ``OFF`` turns specified bus off. + """ + + +class DisplayWaveview1BusBItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:WAVEView1:BUS:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS:B?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:BUS:B?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:WAVEView1:BUS:B:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:BUS:B:VERTical`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayWaveview1BusBItemState(device, f"{self._cmd_syntax}:STATE") + self._vertical = DisplayWaveview1BusBItemVertical(device, f"{self._cmd_syntax}:VERTical") + + @property + def state(self) -> DisplayWaveview1BusBItemState: + """Return the ``DISplay:WAVEView1:BUS:B:STATE`` command. + + Description: + - Sets or queries the state of the specified bus in the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS:B:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:BUS:B:STATE {OFF|ON|0|1} + - DISplay:WAVEView1:BUS:B:STATE? + ``` + + Info: + - ``0`` turns specified bus off. + - ``1`` turns the specified bus on. + - ``ON`` turns the specified bus on. + - ``OFF`` turns specified bus off. + """ + return self._state + + @property + def vertical(self) -> DisplayWaveview1BusBItemVertical: + """Return the ``DISplay:WAVEView1:BUS:B:VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS:B:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:BUS:B:VERTical?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.position``: The ``DISplay:WAVEView1:BUS:B:VERTical:POSition`` command. + """ + return self._vertical + + +class DisplayWaveview1Bus(SCPICmdRead): + """The ``DISplay:WAVEView1:BUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:BUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.b``: The ``DISplay:WAVEView1:BUS:B`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._b: Dict[int, DisplayWaveview1BusBItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1BusBItem(device, f"{self._cmd_syntax}:B{x}") + ) + + @property + def b(self) -> Dict[int, DisplayWaveview1BusBItem]: + """Return the ``DISplay:WAVEView1:BUS:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS:B?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:BUS:B?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:WAVEView1:BUS:B:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:BUS:B:VERTical`` command tree. + """ + return self._b + + +# pylint: disable=too-many-instance-attributes +class DisplayWaveview1(SCPICmdRead): + """The ``DISplay:WAVEView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bus``: The ``DISplay:WAVEView1:BUS`` command tree. + - ``.ch``: The ``DISplay:WAVEView1:CH`` command tree. + - ``.cursor``: The ``DISplay:WAVEView1:CURSor`` command. + - ``.filter``: The ``DISplay:WAVEView1:FILTer`` command. + - ``.graticule``: The ``DISplay:WAVEView1:GRAticule`` command. + - ``.intensity``: The ``DISplay:WAVEView1:INTENSITy`` command tree. + - ``.math``: The ``DISplay:WAVEView1:MATH`` command tree. + - ``.plot``: The ``DISplay:WAVEView1:PLOT`` command tree. + - ``.ref``: The ``DISplay:WAVEView1:REF`` command tree. + - ``.rf_frequency``: The ``DISplay:WAVEView1:RF_FREQuency`` command tree. + - ``.rf_magnitude``: The ``DISplay:WAVEView1:RF_MAGnitude`` command tree. + - ``.rf_phase``: The ``DISplay:WAVEView1:RF_PHASe`` command tree. + - ``.style``: The ``DISplay:WAVEView1:STYle`` command. + - ``.viewstyle``: The ``DISplay:WAVEView1:VIEWStyle`` command. + - ``.zoom``: The ``DISplay:WAVEView1:ZOOM`` command. + - ``.refx``: The ``DISplay:WAVEView1:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bus = DisplayWaveview1Bus(device, f"{self._cmd_syntax}:BUS") + self._ch: Dict[int, DisplayWaveview1Channel] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1Channel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._cursor = DisplayWaveview1Cursor(device, f"{self._cmd_syntax}:CURSor") + self._filter = DisplayWaveview1Filter(device, f"{self._cmd_syntax}:FILTer") + self._graticule = DisplayWaveview1Graticule(device, f"{self._cmd_syntax}:GRAticule") + self._intensity = DisplayWaveview1Intensity(device, f"{self._cmd_syntax}:INTENSITy") + self._math = DisplayWaveview1Math(device, f"{self._cmd_syntax}:MATH") + self._plot = DisplayWaveview1Plot(device, f"{self._cmd_syntax}:PLOT") + self._rf_frequency: Dict[int, DisplayWaveview1RfFrequencyItem] = ( + DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1RfFrequencyItem( + device, f"{self._cmd_syntax}:RF_FREQuency{x}" + ) + ) + ) + self._rf_magnitude: Dict[int, DisplayWaveview1RfMagnitudeItem] = ( + DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1RfMagnitudeItem( + device, f"{self._cmd_syntax}:RF_MAGnitude{x}" + ) + ) + ) + self._rf_phase: Dict[int, DisplayWaveview1RfPhaseItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1RfPhaseItem(device, f"{self._cmd_syntax}:RF_PHASe{x}") + ) + self._style = DisplayWaveview1Style(device, f"{self._cmd_syntax}:STYle") + self._viewstyle = DisplayWaveview1Viewstyle(device, f"{self._cmd_syntax}:VIEWStyle") + self._zoom = DisplayWaveview1Zoom(device, f"{self._cmd_syntax}:ZOOM") + self._ref = DisplayWaveview1Ref(device, f"{self._cmd_syntax}:REF") + self._refx: Dict[int, DisplayWaveview1RefItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayWaveview1RefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def bus(self) -> DisplayWaveview1Bus: + """Return the ``DISplay:WAVEView1:BUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:BUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.b``: The ``DISplay:WAVEView1:BUS:B`` command tree. + """ + return self._bus + + @property + def ch(self) -> Dict[int, DisplayWaveview1Channel]: + """Return the ``DISplay:WAVEView1:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:WAVEView1:CH:STATE`` command. + - ``.vertical``: The ``DISplay:WAVEView1:CH:VERTical`` command tree. + - ``.d``: The ``DISplay:WAVEView1:CH_D`` command tree. + - ``.dall``: The ``DISplay:WAVEView1:CH_DALL`` command tree. + """ + return self._ch + + @property + def cursor(self) -> DisplayWaveview1Cursor: + """Return the ``DISplay:WAVEView1:CURSor`` command. + + Description: + - This query returns the cursor parameters for the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:CURSor?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:CURSor? + ``` + + Sub-properties: + - ``.cursor``: The ``DISplay:WAVEView1:CURSor:CURSOR`` command tree. + - ``.cursor1``: The ``DISplay:WAVEView1:CURSor:CURSOR1`` command. + """ + return self._cursor + + @property + def filter(self) -> DisplayWaveview1Filter: + """Return the ``DISplay:WAVEView1:FILTer`` command. + + Description: + - This command sets or queries the type of interpolation filter for the display. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:FILTer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:FILTer value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:FILTer {SINX|LINear} + - DISplay:WAVEView1:FILTer? + ``` + + Info: + - ``LINEAr`` specifies linear interpolation, where acquired points are connected with + straight lines. + - ``SINX`` specifies sin(x)/x interpolation, where acquired points are fit to a curve. + """ + return self._filter + + @property + def graticule(self) -> DisplayWaveview1Graticule: + """Return the ``DISplay:WAVEView1:GRAticule`` command. + + Description: + - This command selects or queries the type of graticule that is displayed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:GRAticule?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:GRAticule?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:GRAticule value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:GRAticule {GRId|TIMe|FULl|NONe} + - DISplay:WAVEView1:GRAticule? + ``` + + Info: + - ``GRId`` specifies a frame and grid only. + - ``TIMe`` specifies a time graticule only. + - ``FULl`` specifies a frame, a grid and cross hairs. + - ``NONe`` specified no graticule. + """ + return self._graticule + + @property + def intensity(self) -> DisplayWaveview1Intensity: + """Return the ``DISplay:WAVEView1:INTENSITy`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:INTENSITy?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:INTENSITy?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.graticule``: The ``DISplay:WAVEView1:INTENSITy:GRATicule`` command. + - ``.waveform``: The ``DISplay:WAVEView1:INTENSITy:WAVEform`` command. + """ + return self._intensity + + @property + def math(self) -> DisplayWaveview1Math: + """Return the ``DISplay:WAVEView1:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:MATH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.math``: The ``DISplay:WAVEView1:MATH:MATH`` command tree. + """ + return self._math + + @property + def plot(self) -> DisplayWaveview1Plot: + """Return the ``DISplay:WAVEView1:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:PLOT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.plot``: The ``DISplay:WAVEView1:PLOT:PLOT`` command tree. + """ + return self._plot + + @property + def rf_frequency(self) -> Dict[int, DisplayWaveview1RfFrequencyItem]: + """Return the ``DISplay:WAVEView1:RF_FREQuency`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_FREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_FREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``RF_FREQuency`` specifies the number of the Frequency vs. Time waveform. + + Sub-properties: + - ``.vertical``: The ``DISplay:WAVEView1:RF_FREQuency:VERTical`` command tree. + """ + return self._rf_frequency + + @property + def rf_magnitude(self) -> Dict[int, DisplayWaveview1RfMagnitudeItem]: + """Return the ``DISplay:WAVEView1:RF_MAGnitude`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_MAGnitude?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:WAVEView1:RF_MAGnitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``RF_MAGnitude`` specifies the number of the Magnitude vs. Time Frequency waveform. + + Sub-properties: + - ``.vertical``: The ``DISplay:WAVEView1:RF_MAGnitude:VERTical`` command tree. + """ + return self._rf_magnitude + + @property + def rf_phase(self) -> Dict[int, DisplayWaveview1RfPhaseItem]: + """Return the ``DISplay:WAVEView1:RF_PHASe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:RF_PHASe?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``RF_PHASe`` specifies the number of the Phase vs. Time Frequency waveform. + + Sub-properties: + - ``.vertical``: The ``DISplay:WAVEView1:RF_PHASe:VERTical`` command tree. + """ + return self._rf_phase + + @property + def style(self) -> DisplayWaveview1Style: + """Return the ``DISplay:WAVEView1:STYle`` command. + + Description: + - This command sets or queries how the waveforms are displayed for analysis mode. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:STYle?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:STYle?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:STYle value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:STYle {VECtors|DOTsonly} + - DISplay:WAVEView1:STYle? + ``` + + Info: + - ``DOTs`` displays individual data points. New points immediately replace old ones. + - ``VECtors`` connects adjacent data points. New points immediately replace old ones. + """ + return self._style + + @property + def viewstyle(self) -> DisplayWaveview1Viewstyle: + """Return the ``DISplay:WAVEView1:VIEWStyle`` command. + + Description: + - The command sets or queries the waveform layout style used by the display. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:VIEWStyle?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:VIEWStyle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView1:VIEWStyle value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:VIEWStyle {OVErlay|STAcked} + - DISplay:WAVEView1:VIEWStyle? + ``` + + Info: + - ``OVErlay`` specifies that the display view style used by the specified Waveform View + is overlay. + - ``STAcked`` specifies that the display view style used by the specified Waveform View + is stacked. + """ + return self._viewstyle + + @property + def zoom(self) -> DisplayWaveview1Zoom: + """Return the ``DISplay:WAVEView1:ZOOM`` command. + + Description: + - This query returns the zoom parameters of the specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:ZOOM?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:WAVEView1:ZOOM? + ``` + + Sub-properties: + - ``.zoom1``: The ``DISplay:WAVEView1:ZOOM:ZOOM1`` command. + """ + return self._zoom + + @property + def ref(self) -> DisplayWaveview1Ref: + """Return the ``DISplay:WAVEView1:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ref``: The ``DISplay:WAVEView1:REF:REF`` command tree. + """ + return self._ref + + @property + def refx(self) -> Dict[int, DisplayWaveview1RefItem]: + """Return the ``DISplay:WAVEView1:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1:REF?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.dall``: The ``DISplay:WAVEView1:REF_DALL`` command tree. + """ + return self._refx + + +class DisplayWaveview(SCPICmdRead): + """The ``DISplay:WAVEView`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cursor``: The ``DISplay:WAVEView:CURSor`` command tree. + - ``.gridtype``: The ``DISplay:WAVEView:GRIDTYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cursor = DisplayWaveviewCursor(device, f"{self._cmd_syntax}:CURSor") + self._gridtype = DisplayWaveviewGridtype(device, f"{self._cmd_syntax}:GRIDTYPE") + + @property + def cursor(self) -> DisplayWaveviewCursor: + """Return the ``DISplay:WAVEView:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView:CURSor?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cursor1``: The ``DISplay:WAVEView:CURSor:CURSOR1`` command tree. + """ + return self._cursor + + @property + def gridtype(self) -> DisplayWaveviewGridtype: + """Return the ``DISplay:WAVEView:GRIDTYPE`` command. + + Description: + - This command sets or queries the Waveform View Graticule type. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView:GRIDTYPE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView:GRIDTYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEView:GRIDTYPE value`` + command. + + SCPI Syntax: + ``` + - DISplay:WAVEView:GRIDTYPE {MOVEABLE|FIXED} + - DISplay:WAVEView:GRIDTYPE? + ``` + + Info: + - ``MOVEABLE`` sets the Waveform View so that both the waveform and the grid (graticule) + move together when moving the waveform horizontally. + - ``FIXED`` sets the Waveform View so that the grid dows not move when moving the + waveform horizontally. + """ + return self._gridtype + + +class DisplayVarpersist(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:VARpersist`` command. + + Description: + - This command sets or queries display persistence decay time, which is the approximate + decay time for a freshly struck persistence sample. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:VARpersist?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:VARpersist?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:VARpersist value`` command. + + SCPI Syntax: + ``` + - DISplay:VARpersist + - DISplay:VARpersist? + ``` + + Info: + - ```` indicates the persistence decay time and ranges from 0.5 to 100. + """ + + +class DisplaySpecview1Viewstyle(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:VIEWStyle`` command. + + Description: + - This command sets or queries the spectrum trace layout style used by the Spectrum View + window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:VIEWStyle?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:VIEWStyle?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SPECView1:VIEWStyle value`` + command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:VIEWStyle {OVErlay|STAcked} + - DISplay:SPECView1:VIEWStyle? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``OVErlay`` specifies the Spectrum View window to show all spectrum traces drawn on top of + each other. + - ``STAcked`` specifies the Spectrum View window to show each spectrum trace in a separate + horizontal slice. + """ + + +class DisplaySpecview1IntensityWaveform(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:INTENSITy:WAVEform`` command. + + Description: + - This command sets or queries the spectrum trace saturation (brightness) level in the + Spectrum View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:INTENSITy:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:WAVEform value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:INTENSITy:WAVEform + - DISplay:SPECView1:INTENSITy:WAVEform? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the spectrum trace intensity lever as a percent between 1% and 100%. + """ + + +class DisplaySpecview1IntensityGraticule(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:INTENSITy:GRATicule`` command. + + Description: + - This command sets or queries the graticule saturation (brightness) level in the Spectrum + View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:INTENSITy:GRATicule?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:GRATicule?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:GRATicule value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:INTENSITy:GRATicule + - DISplay:SPECView1:INTENSITy:GRATicule? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the Spectrum View graticule intensity lever as a percent between 0% + and 100%. + """ + + +class DisplaySpecview1Intensity(SCPICmdRead): + """The ``DISplay:SPECView1:INTENSITy`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:INTENSITy?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:INTENSITy?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.graticule``: The ``DISplay:SPECView1:INTENSITy:GRATicule`` command. + - ``.waveform``: The ``DISplay:SPECView1:INTENSITy:WAVEform`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._graticule = DisplaySpecview1IntensityGraticule( + device, f"{self._cmd_syntax}:GRATicule" + ) + self._waveform = DisplaySpecview1IntensityWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def graticule(self) -> DisplaySpecview1IntensityGraticule: + """Return the ``DISplay:SPECView1:INTENSITy:GRATicule`` command. + + Description: + - This command sets or queries the graticule saturation (brightness) level in the + Spectrum View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:INTENSITy:GRATicule?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:GRATicule?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:GRATicule value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:INTENSITy:GRATicule + - DISplay:SPECView1:INTENSITy:GRATicule? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the Spectrum View graticule intensity lever as a percent between + 0% and 100%. + """ + return self._graticule + + @property + def waveform(self) -> DisplaySpecview1IntensityWaveform: + """Return the ``DISplay:SPECView1:INTENSITy:WAVEform`` command. + + Description: + - This command sets or queries the spectrum trace saturation (brightness) level in the + Spectrum View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:INTENSITy:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:INTENSITy:WAVEform value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:INTENSITy:WAVEform + - DISplay:SPECView1:INTENSITy:WAVEform? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the spectrum trace intensity lever as a percent between 1% and + 100%. + """ + return self._waveform + + +class DisplaySpecview1Horz(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:HORZ`` command. + + Description: + - This command sets or queries the horizontal display scaling of the Spectrum View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:HORZ?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:HORZ?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SPECView1:HORZ value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:HORZ {LOG|LINEAr} + - DISplay:SPECView1:HORZ? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``LINEAr`` sets the Spectrum View horizontal scaling to linear. + - ``LOG`` sets the Spectrum View horizontal scaling to log. + """ + + +class DisplaySpecview1Graticule(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:GRAticule`` command. + + Description: + - This command sets or queries the type of graticule shown in the Spectrum View window. The + same grid is used for all spectrum traces. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:GRAticule?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:GRAticule?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SPECView1:GRAticule value`` + command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:GRAticule {GRId|TIMe|FULl|NONe} + - DISplay:SPECView1:GRAticule? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``GRId`` specifies to show the Grid graticule (frame and grid) in the Spectrum View + window. + - ``TIMe`` specifies to show the Time graticule in the Spectrum View window. + - ``FULl`` specifies to show the Full graticule (frame, a grid and cross hairs) in the + Spectrum View window. + - ``NONe`` specifies to show no graticule in the Spectrum View window. + """ + + +class DisplaySpecview1CursorCursorWaveformBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the Cursor B horizontal position in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Spectrum View Cursor B in Hz. The range of + values is the frequencies at the left and right edges of the Spectrum View for the cursor + source. + """ + + +class DisplaySpecview1CursorCursorWaveformAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the Cursor A horizontal position in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Spectrum View Cursor A in Hz. The range of + values is the frequencies at the left and right edges of the Spectrum View for the cursor + source. + """ + + +class DisplaySpecview1CursorCursorWaveform(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplaySpecview1CursorCursorWaveformAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplaySpecview1CursorCursorWaveformBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + + @property + def aposition(self) -> DisplaySpecview1CursorCursorWaveformAposition: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the Cursor A horizontal position in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Spectrum View Cursor A in Hz. The range + of values is the frequencies at the left and right edges of the Spectrum View for the + cursor source. + """ + return self._aposition + + @property + def bposition(self) -> DisplaySpecview1CursorCursorWaveformBposition: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the Cursor B horizontal position in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition + - DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Spectrum View Cursor B in Hz. The range + of values is the frequencies at the left and right edges of the Spectrum View for the + cursor source. + """ + return self._bposition + + +class DisplaySpecview1CursorCursorVbarsUnits(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts`` command. + + Description: + - This command queries the cursor horizontal units in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + + +class DisplaySpecview1CursorCursorVbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the Cursor B vertical bar's horizontal position in the + Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition + - DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Cursor B in Hz. The available frequency + range is set by the frequencies at the left and right edges of the Spectrum View for the + cursor source. + """ + + +class DisplaySpecview1CursorCursorVbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition`` command. + + Description: + - This command sets or queries the Cursor A vertical bar's horizontal position in the + Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition + - DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Cursor A in Hz. The available frequency + range is set by the frequencies at the left and right edges of the Spectrum View for the + cursor source. + """ + + +class DisplaySpecview1CursorCursorVbars(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:VBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition`` command. + - ``.units``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplaySpecview1CursorCursorVbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplaySpecview1CursorCursorVbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._units = DisplaySpecview1CursorCursorVbarsUnits(device, f"{self._cmd_syntax}:UNIts") + + @property + def aposition(self) -> DisplaySpecview1CursorCursorVbarsAposition: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition`` command. + + Description: + - This command sets or queries the Cursor A vertical bar's horizontal position in the + Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition + - DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Cursor A in Hz. The available frequency + range is set by the frequencies at the left and right edges of the Spectrum View for + the cursor source. + """ + return self._aposition + + @property + def bposition(self) -> DisplaySpecview1CursorCursorVbarsBposition: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the Cursor B vertical bar's horizontal position in the + Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition + - DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ```` specifies the horizontal position of Cursor B in Hz. The available frequency + range is set by the frequencies at the left and right edges of the Spectrum View for + the cursor source. + """ + return self._bposition + + @property + def units(self) -> DisplaySpecview1CursorCursorVbarsUnits: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts`` command. + + Description: + - This command queries the cursor horizontal units in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + return self._units + + +class DisplaySpecview1CursorCursorState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:STATE`` command. + + Description: + - This command sets or queries the visibility state of the cursors in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:STATE {ON|OFF} + - DISplay:SPECView1:CURSor:CURSOR:STATE? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``ON`` enables viewing cursors in the Spectrum View. + - ``OFF`` disables viewing cursors in the Spectrum View. + """ + + +class DisplaySpecview1CursorCursorSplitmode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE`` command. + + Description: + - This command sets or queries whether both Spectrum View cursors have the same or different + sources. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:SPLITMODE {SAME|SPLIT} + - DISplay:SPECView1:CURSor:CURSOR:SPLITMODE? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``SAME`` specifies that both Spectrum View cursors have the same source. + - ``SPLIT`` specifies that both Spectrum View cursors have independent sources. + """ + + +class DisplaySpecview1CursorCursorReadout(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:READout`` command. + + Description: + - This command sets or queries the Cursor B readout type in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:READout?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:READout?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:READout value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:READout {ABSOLUTE|DELTA} + - DISplay:SPECView1:CURSor:CURSOR:READout? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``ABSOLUTE`` specifies the Cursor B readout displays absolute frequency and amplitude. + - ``DELTA`` specifies the Cursor B readout displays delta frequency and amplitude from + Cursor A. + """ + + +class DisplaySpecview1CursorCursorHbarsBunits(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts`` command. + + Description: + - This command queries the Cursor B horizontal bar's amplitude units in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + + +class DisplaySpecview1CursorCursorHbarsBposition(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition`` command. + + Description: + - This command queries the horizontal bar Cursor B horizontal bar's vertical position (where + it crosses the spectrum signal) in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + + +class DisplaySpecview1CursorCursorHbarsAunits(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts`` command. + + Description: + - This command queries the horizontal bar Cursor A horizontal bar's amplitude units in the + Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + + +class DisplaySpecview1CursorCursorHbarsAposition(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition`` command. + + Description: + - This command queries the Cursor A horizontal bar's vertical position (where it crosses the + spectrum signal) in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + + +class DisplaySpecview1CursorCursorHbars(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:HBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplaySpecview1CursorCursorHbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._aunits = DisplaySpecview1CursorCursorHbarsAunits(device, f"{self._cmd_syntax}:AUNIts") + self._bposition = DisplaySpecview1CursorCursorHbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bunits = DisplaySpecview1CursorCursorHbarsBunits(device, f"{self._cmd_syntax}:BUNIts") + + @property + def aposition(self) -> DisplaySpecview1CursorCursorHbarsAposition: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition`` command. + + Description: + - This command queries the Cursor A horizontal bar's vertical position (where it crosses + the spectrum signal) in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + return self._aposition + + @property + def aunits(self) -> DisplaySpecview1CursorCursorHbarsAunits: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts`` command. + + Description: + - This command queries the horizontal bar Cursor A horizontal bar's amplitude units in + the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + return self._aunits + + @property + def bposition(self) -> DisplaySpecview1CursorCursorHbarsBposition: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition`` command. + + Description: + - This command queries the horizontal bar Cursor B horizontal bar's vertical position + (where it crosses the spectrum signal) in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + return self._bposition + + @property + def bunits(self) -> DisplaySpecview1CursorCursorHbarsBunits: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts`` command. + + Description: + - This command queries the Cursor B horizontal bar's amplitude units in the Spectrum + View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + """ + return self._bunits + + +class DisplaySpecview1CursorCursorBsource(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce`` command. + + Description: + - This command sets or queries the Cursor B source in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:BSOUrce {AUTO|CH} + - DISplay:SPECView1:CURSor:CURSOR:BSOUrce? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``AUTO`` specifies to use the selected analog channel as the Spectrum View source. + - ``CH`` specifies the analog channel to use as the Spectrum View source. + """ + + +class DisplaySpecview1CursorCursorBnoise(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:BNOISE`` command. + + Description: + - Returns the noise density of the selected RF trace at the Cursor B position when in + Absolute mode, or the phase noise when in Delta mode. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:BNOISE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BNOISE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:BNOISE? + ``` + """ + + +class DisplaySpecview1CursorCursorAsource(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce`` command. + + Description: + - This command sets or queries the Cursor A source in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:ASOUrce {AUTO|CH} + - DISplay:SPECView1:CURSor:CURSOR:ASOUrce? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``AUTO`` specifies to use the selected analog channel as the Spectrum View source. + - ``CH`` specifies the analog channel to use as the Spectrum View source. + """ + + +class DisplaySpecview1CursorCursorAnoisedensity(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity`` command. + + Description: + - Returns the noise density of the selected RF trace at the Cursor A position + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity? + ``` + """ + + +# pylint: disable=too-many-instance-attributes +class DisplaySpecview1CursorCursor(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor:CURSOR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:CURSor:CURSOR?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.anoisedensity``: The ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity`` command. + - ``.asource``: The ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce`` command. + - ``.bnoise``: The ``DISplay:SPECView1:CURSor:CURSOR:BNOISE`` command. + - ``.bsource``: The ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce`` command. + - ``.hbars``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs`` command tree. + - ``.readout``: The ``DISplay:SPECView1:CURSor:CURSOR:READout`` command. + - ``.splitmode``: The ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE`` command. + - ``.state``: The ``DISplay:SPECView1:CURSor:CURSOR:STATE`` command. + - ``.vbars``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs`` command tree. + - ``.waveform``: The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._anoisedensity = DisplaySpecview1CursorCursorAnoisedensity( + device, f"{self._cmd_syntax}:ANOISEDensity" + ) + self._asource = DisplaySpecview1CursorCursorAsource(device, f"{self._cmd_syntax}:ASOUrce") + self._bnoise = DisplaySpecview1CursorCursorBnoise(device, f"{self._cmd_syntax}:BNOISE") + self._bsource = DisplaySpecview1CursorCursorBsource(device, f"{self._cmd_syntax}:BSOUrce") + self._hbars = DisplaySpecview1CursorCursorHbars(device, f"{self._cmd_syntax}:HBArs") + self._readout = DisplaySpecview1CursorCursorReadout(device, f"{self._cmd_syntax}:READout") + self._splitmode = DisplaySpecview1CursorCursorSplitmode( + device, f"{self._cmd_syntax}:SPLITMODE" + ) + self._state = DisplaySpecview1CursorCursorState(device, f"{self._cmd_syntax}:STATE") + self._vbars = DisplaySpecview1CursorCursorVbars(device, f"{self._cmd_syntax}:VBArs") + self._waveform = DisplaySpecview1CursorCursorWaveform( + device, f"{self._cmd_syntax}:WAVEform" + ) + + @property + def anoisedensity(self) -> DisplaySpecview1CursorCursorAnoisedensity: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity`` command. + + Description: + - Returns the noise density of the selected RF trace at the Cursor A position + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity? + ``` + """ + return self._anoisedensity + + @property + def asource(self) -> DisplaySpecview1CursorCursorAsource: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce`` command. + + Description: + - This command sets or queries the Cursor A source in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:ASOUrce {AUTO|CH} + - DISplay:SPECView1:CURSor:CURSOR:ASOUrce? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``AUTO`` specifies to use the selected analog channel as the Spectrum View source. + - ``CH`` specifies the analog channel to use as the Spectrum View source. + """ + return self._asource + + @property + def bnoise(self) -> DisplaySpecview1CursorCursorBnoise: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:BNOISE`` command. + + Description: + - Returns the noise density of the selected RF trace at the Cursor B position when in + Absolute mode, or the phase noise when in Delta mode. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BNOISE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BNOISE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:BNOISE? + ``` + """ + return self._bnoise + + @property + def bsource(self) -> DisplaySpecview1CursorCursorBsource: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce`` command. + + Description: + - This command sets or queries the Cursor B source in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:BSOUrce {AUTO|CH} + - DISplay:SPECView1:CURSor:CURSOR:BSOUrce? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``AUTO`` specifies to use the selected analog channel as the Spectrum View source. + - ``CH`` specifies the analog channel to use as the Spectrum View source. + """ + return self._bsource + + @property + def hbars(self) -> DisplaySpecview1CursorCursorHbars: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:HBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:HBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs:BUNIts`` command. + """ + return self._hbars + + @property + def readout(self) -> DisplaySpecview1CursorCursorReadout: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:READout`` command. + + Description: + - This command sets or queries the Cursor B readout type in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:READout?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:READout?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:READout value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:READout {ABSOLUTE|DELTA} + - DISplay:SPECView1:CURSor:CURSOR:READout? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``ABSOLUTE`` specifies the Cursor B readout displays absolute frequency and amplitude. + - ``DELTA`` specifies the Cursor B readout displays delta frequency and amplitude from + Cursor A. + """ + return self._readout + + @property + def splitmode(self) -> DisplaySpecview1CursorCursorSplitmode: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE`` command. + + Description: + - This command sets or queries whether both Spectrum View cursors have the same or + different sources. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:SPLITMODE {SAME|SPLIT} + - DISplay:SPECView1:CURSor:CURSOR:SPLITMODE? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``SAME`` specifies that both Spectrum View cursors have the same source. + - ``SPLIT`` specifies that both Spectrum View cursors have independent sources. + """ + return self._splitmode + + @property + def state(self) -> DisplaySpecview1CursorCursorState: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:STATE`` command. + + Description: + - This command sets or queries the visibility state of the cursors in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:CURSor:CURSOR:STATE {ON|OFF} + - DISplay:SPECView1:CURSor:CURSOR:STATE? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``ON`` enables viewing cursors in the Spectrum View. + - ``OFF`` disables viewing cursors in the Spectrum View. + """ + return self._state + + @property + def vbars(self) -> DisplaySpecview1CursorCursorVbars: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR:VBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:VBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:BPOSition`` command. + - ``.units``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs:UNIts`` command. + """ + return self._vbars + + @property + def waveform(self) -> DisplaySpecview1CursorCursorWaveform: + """Return the ``DISplay:SPECView1:CURSor:CURSOR:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:SPECView1:CURSor:CURSOR:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform:BPOSition`` command. + """ + return self._waveform + + +class DisplaySpecview1Cursor(SCPICmdRead): + """The ``DISplay:SPECView1:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:CURSor?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cursor``: The ``DISplay:SPECView1:CURSor:CURSOR`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cursor = DisplaySpecview1CursorCursor(device, f"{self._cmd_syntax}:CURSOR") + + @property + def cursor(self) -> DisplaySpecview1CursorCursor: + """Return the ``DISplay:SPECView1:CURSor:CURSOR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor:CURSOR?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:CURSor:CURSOR?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.anoisedensity``: The ``DISplay:SPECView1:CURSor:CURSOR:ANOISEDensity`` command. + - ``.asource``: The ``DISplay:SPECView1:CURSor:CURSOR:ASOUrce`` command. + - ``.bnoise``: The ``DISplay:SPECView1:CURSor:CURSOR:BNOISE`` command. + - ``.bsource``: The ``DISplay:SPECView1:CURSor:CURSOR:BSOUrce`` command. + - ``.hbars``: The ``DISplay:SPECView1:CURSor:CURSOR:HBArs`` command tree. + - ``.readout``: The ``DISplay:SPECView1:CURSor:CURSOR:READout`` command. + - ``.splitmode``: The ``DISplay:SPECView1:CURSor:CURSOR:SPLITMODE`` command. + - ``.state``: The ``DISplay:SPECView1:CURSor:CURSOR:STATE`` command. + - ``.vbars``: The ``DISplay:SPECView1:CURSor:CURSOR:VBArs`` command tree. + - ``.waveform``: The ``DISplay:SPECView1:CURSor:CURSOR:WAVEform`` command tree. + """ + return self._cursor + + +class DisplaySpecview1(SCPICmdRead): + """The ``DISplay:SPECView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cursor``: The ``DISplay:SPECView1:CURSor`` command tree. + - ``.graticule``: The ``DISplay:SPECView1:GRAticule`` command. + - ``.horz``: The ``DISplay:SPECView1:HORZ`` command. + - ``.intensity``: The ``DISplay:SPECView1:INTENSITy`` command tree. + - ``.viewstyle``: The ``DISplay:SPECView1:VIEWStyle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cursor = DisplaySpecview1Cursor(device, f"{self._cmd_syntax}:CURSor") + self._graticule = DisplaySpecview1Graticule(device, f"{self._cmd_syntax}:GRAticule") + self._horz = DisplaySpecview1Horz(device, f"{self._cmd_syntax}:HORZ") + self._intensity = DisplaySpecview1Intensity(device, f"{self._cmd_syntax}:INTENSITy") + self._viewstyle = DisplaySpecview1Viewstyle(device, f"{self._cmd_syntax}:VIEWStyle") + + @property + def cursor(self) -> DisplaySpecview1Cursor: + """Return the ``DISplay:SPECView1:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:CURSor?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cursor``: The ``DISplay:SPECView1:CURSor:CURSOR`` command tree. + """ + return self._cursor + + @property + def graticule(self) -> DisplaySpecview1Graticule: + """Return the ``DISplay:SPECView1:GRAticule`` command. + + Description: + - This command sets or queries the type of graticule shown in the Spectrum View window. + The same grid is used for all spectrum traces. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:GRAticule?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:GRAticule?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SPECView1:GRAticule value`` + command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:GRAticule {GRId|TIMe|FULl|NONe} + - DISplay:SPECView1:GRAticule? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``GRId`` specifies to show the Grid graticule (frame and grid) in the Spectrum View + window. + - ``TIMe`` specifies to show the Time graticule in the Spectrum View window. + - ``FULl`` specifies to show the Full graticule (frame, a grid and cross hairs) in the + Spectrum View window. + - ``NONe`` specifies to show no graticule in the Spectrum View window. + """ + return self._graticule + + @property + def horz(self) -> DisplaySpecview1Horz: + """Return the ``DISplay:SPECView1:HORZ`` command. + + Description: + - This command sets or queries the horizontal display scaling of the Spectrum View + window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:HORZ?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:HORZ?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SPECView1:HORZ value`` + command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:HORZ {LOG|LINEAr} + - DISplay:SPECView1:HORZ? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``LINEAr`` sets the Spectrum View horizontal scaling to linear. + - ``LOG`` sets the Spectrum View horizontal scaling to log. + """ + return self._horz + + @property + def intensity(self) -> DisplaySpecview1Intensity: + """Return the ``DISplay:SPECView1:INTENSITy`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:INTENSITy?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:INTENSITy?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.graticule``: The ``DISplay:SPECView1:INTENSITy:GRATicule`` command. + - ``.waveform``: The ``DISplay:SPECView1:INTENSITy:WAVEform`` command. + """ + return self._intensity + + @property + def viewstyle(self) -> DisplaySpecview1Viewstyle: + """Return the ``DISplay:SPECView1:VIEWStyle`` command. + + Description: + - This command sets or queries the spectrum trace layout style used by the Spectrum View + window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1:VIEWStyle?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1:VIEWStyle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SPECView1:VIEWStyle value`` + command. + + SCPI Syntax: + ``` + - DISplay:SPECView1:VIEWStyle {OVErlay|STAcked} + - DISplay:SPECView1:VIEWStyle? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``OVErlay`` specifies the Spectrum View window to show all spectrum traces drawn on + top of each other. + - ``STAcked`` specifies the Spectrum View window to show each spectrum trace in a + separate horizontal slice. + """ + return self._viewstyle + + +class DisplaySelectWaveview1Source(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:WAVEView1:SOUrce`` command. + + Description: + - This command sets or queries the selected source in the given waveview. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:WAVEView1:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:WAVEView1:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:WAVEView1:SOUrce value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:WAVEView1:SOUrce {S_Ch|CH|MATH|BUS|REF|PLOT} + - DISplay:SELect:WAVEView1:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + - ``PLOT`` specifies a plot as the source. + """ + + +class DisplaySelectWaveview1(SCPICmdRead): + """The ``DISplay:SELect:WAVEView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:WAVEView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:WAVEView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``DISplay:SELect:WAVEView1:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = DisplaySelectWaveview1Source(device, f"{self._cmd_syntax}:SOUrce") + + @property + def source(self) -> DisplaySelectWaveview1Source: + """Return the ``DISplay:SELect:WAVEView1:SOUrce`` command. + + Description: + - This command sets or queries the selected source in the given waveview. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:WAVEView1:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:WAVEView1:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SELect:WAVEView1:SOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:WAVEView1:SOUrce {S_Ch|CH|MATH|BUS|REF|PLOT} + - DISplay:SELect:WAVEView1:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + - ``PLOT`` specifies a plot as the source. + """ + return self._source + + +class DisplaySelectView(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:VIEW`` command. + + Description: + - This command sets or queries the selected view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:VIEW?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:VIEW?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:VIEW value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:VIEW {WAVEVIEW1|MATHFFT|PLOTVIEW|REFFFT} + - DISplay:SELect:VIEW? + ``` + + Info: + - ``WAVEVIEW1`` + - ``MATHFFT`` + - ``PLOTVIEW`` + - ``REFFFT`` + """ + + +class DisplaySelectSpecview1Source(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:SPECView1:SOUrce`` command. + + Description: + - This command sets or queries the spectrum trace (source channel) to select in the Spectrum + View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:SPECView1:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:SPECView1:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:SPECView1:SOUrce value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:SPECView1:SOUrce {CH} + - DISplay:SELect:SPECView1:SOUrce? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``CH`` specifies the spectrum trace (source channel) to select (make active) in the + Spectrum View. + """ + + +class DisplaySelectSpecview1(SCPICmdRead): + """The ``DISplay:SELect:SPECView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:SPECView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:SPECView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.source``: The ``DISplay:SELect:SPECView1:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = DisplaySelectSpecview1Source(device, f"{self._cmd_syntax}:SOUrce") + + @property + def source(self) -> DisplaySelectSpecview1Source: + """Return the ``DISplay:SELect:SPECView1:SOUrce`` command. + + Description: + - This command sets or queries the spectrum trace (source channel) to select in the + Spectrum View window. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:SPECView1:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:SPECView1:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:SELect:SPECView1:SOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:SPECView1:SOUrce {CH} + - DISplay:SELect:SPECView1:SOUrce? + ``` + + Info: + - ``1`` specifies the Spectrum View number. is always 1. + - ``CH`` specifies the spectrum trace (source channel) to select (make active) in the + Spectrum View. + """ + return self._source + + +class DisplaySelectSource(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:SOUrce`` command. + + Description: + - This command sets or queries the overall selected source. Sets are applied to all views + that contain the source and the selected view is changed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:SOUrce value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:SOUrce {NONE|CH|BUS|MATH|PLOT|REF} + - DISplay:SELect:SOUrce? + ``` + + Info: + - ``PLOT`` specifies the plot as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + - ``NONE`` specifies nothing as the source. + """ + + +class DisplaySelectReference(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:REFerence`` command. + + Description: + - This command sets or queries the overall selected reference waveform. Sets are applied to + all views that contain the source and the selected view is changed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:REFerence?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:REFerence?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:REFerence value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:REFerence {NONE|REF} + - DISplay:SELect:REFerence? + ``` + + Info: + - ``NONE`` + - ``REF`` where x is the specified reference waveform. + """ + + +class DisplaySelectMath(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:MATH`` command. + + Description: + - This command sets or queries the overall selected math. Sets are applied to all views that + contain the source and the selected view is changed. When multiple Math are open, querying + the command gives the correct result, but the required Math cannot be set. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:MATH?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:MATH value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:MATH MATH + - DISplay:SELect:MATH? + ``` + + Info: + - ``MATH`` is the selected math. + """ + + +class DisplaySelectBus(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:SELect:BUS`` command. + + Description: + - This command sets or queries the overall selected bus. Sets are applied to all views that + contain the source and the selected view is changed. When multiple buses are open, + querying the command gives the correct result, but the bus cannot set. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:BUS?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:BUS value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:BUS BUS + - DISplay:SELect:BUS? + ``` + + Info: + - ``BUS`` is the selected bus. + """ + + +class DisplaySelect(SCPICmdRead): + """The ``DISplay:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bus``: The ``DISplay:SELect:BUS`` command. + - ``.math``: The ``DISplay:SELect:MATH`` command. + - ``.reference``: The ``DISplay:SELect:REFerence`` command. + - ``.source``: The ``DISplay:SELect:SOUrce`` command. + - ``.specview1``: The ``DISplay:SELect:SPECView1`` command tree. + - ``.view``: The ``DISplay:SELect:VIEW`` command. + - ``.waveview1``: The ``DISplay:SELect:WAVEView1`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bus = DisplaySelectBus(device, f"{self._cmd_syntax}:BUS") + self._math = DisplaySelectMath(device, f"{self._cmd_syntax}:MATH") + self._reference = DisplaySelectReference(device, f"{self._cmd_syntax}:REFerence") + self._source = DisplaySelectSource(device, f"{self._cmd_syntax}:SOUrce") + self._specview1 = DisplaySelectSpecview1(device, f"{self._cmd_syntax}:SPECView1") + self._view = DisplaySelectView(device, f"{self._cmd_syntax}:VIEW") + self._waveview1 = DisplaySelectWaveview1(device, f"{self._cmd_syntax}:WAVEView1") + + @property + def bus(self) -> DisplaySelectBus: + """Return the ``DISplay:SELect:BUS`` command. + + Description: + - This command sets or queries the overall selected bus. Sets are applied to all views + that contain the source and the selected view is changed. When multiple buses are + open, querying the command gives the correct result, but the bus cannot set. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:BUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:BUS value`` command. + + SCPI Syntax: + ``` + - DISplay:SELect:BUS BUS + - DISplay:SELect:BUS? + ``` + + Info: + - ``BUS`` is the selected bus. + """ + return self._bus + + @property + def math(self) -> DisplaySelectMath: + """Return the ``DISplay:SELect:MATH`` command. + + Description: + - This command sets or queries the overall selected math. Sets are applied to all views + that contain the source and the selected view is changed. When multiple Math are open, + querying the command gives the correct result, but the required Math cannot be set. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:MATH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:MATH value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:MATH MATH + - DISplay:SELect:MATH? + ``` + + Info: + - ``MATH`` is the selected math. + """ + return self._math + + @property + def reference(self) -> DisplaySelectReference: + """Return the ``DISplay:SELect:REFerence`` command. + + Description: + - This command sets or queries the overall selected reference waveform. Sets are applied + to all views that contain the source and the selected view is changed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:REFerence?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:REFerence?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:REFerence value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:REFerence {NONE|REF} + - DISplay:SELect:REFerence? + ``` + + Info: + - ``NONE`` + - ``REF`` where x is the specified reference waveform. + """ + return self._reference + + @property + def source(self) -> DisplaySelectSource: + """Return the ``DISplay:SELect:SOUrce`` command. + + Description: + - This command sets or queries the overall selected source. Sets are applied to all + views that contain the source and the selected view is changed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:SOUrce value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:SOUrce {NONE|CH|BUS|MATH|PLOT|REF} + - DISplay:SELect:SOUrce? + ``` + + Info: + - ``PLOT`` specifies the plot as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + - ``NONE`` specifies nothing as the source. + """ + return self._source + + @property + def specview1(self) -> DisplaySelectSpecview1: + """Return the ``DISplay:SELect:SPECView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:SPECView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:SPECView1?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``DISplay:SELect:SPECView1:SOUrce`` command. + """ + return self._specview1 + + @property + def view(self) -> DisplaySelectView: + """Return the ``DISplay:SELect:VIEW`` command. + + Description: + - This command sets or queries the selected view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:VIEW?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:VIEW?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:SELect:VIEW value`` + command. + + SCPI Syntax: + ``` + - DISplay:SELect:VIEW {WAVEVIEW1|MATHFFT|PLOTVIEW|REFFFT} + - DISplay:SELect:VIEW? + ``` + + Info: + - ``WAVEVIEW1`` + - ``MATHFFT`` + - ``PLOTVIEW`` + - ``REFFFT`` + """ + return self._view + + @property + def waveview1(self) -> DisplaySelectWaveview1: + """Return the ``DISplay:SELect:WAVEView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect:WAVEView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect:WAVEView1?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.source``: The ``DISplay:SELect:WAVEView1:SOUrce`` command. + """ + return self._waveview1 + + +class DisplayReffftviewItemZoomYaxisTo(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM:YAXIS:TO`` command. + + Description: + - This command sets or queries the top value of the zoom y-axis in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:YAXIS:TO + - DISplay:REFFFTView:ZOOM:YAXIS:TO? + ``` + + Info: + - ```` is the top value of the zoom y-axis in the specified plot view. + """ + + +class DisplayReffftviewItemZoomYaxisFrom(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM:YAXIS:FROM`` command. + + Description: + - This command sets or queries the bottom value of the zoom y-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:YAXIS:FROM + - DISplay:REFFFTView:ZOOM:YAXIS:FROM? + ``` + + Info: + - ```` is the bottom value of the zoom y-axis in the specified plot view. + """ + + +class DisplayReffftviewItemZoomYaxis(SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.from``: The ``DISplay:REFFFTView:ZOOM:YAXIS:FROM`` command. + - ``.to``: The ``DISplay:REFFFTView:ZOOM:YAXIS:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = DisplayReffftviewItemZoomYaxisFrom(device, f"{self._cmd_syntax}:FROM") + self._to = DisplayReffftviewItemZoomYaxisTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> DisplayReffftviewItemZoomYaxisFrom: + """Return the ``DISplay:REFFFTView:ZOOM:YAXIS:FROM`` command. + + Description: + - This command sets or queries the bottom value of the zoom y-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:YAXIS:FROM + - DISplay:REFFFTView:ZOOM:YAXIS:FROM? + ``` + + Info: + - ```` is the bottom value of the zoom y-axis in the specified plot view. + """ + return self._from + + @property + def to(self) -> DisplayReffftviewItemZoomYaxisTo: + """Return the ``DISplay:REFFFTView:ZOOM:YAXIS:TO`` command. + + Description: + - This command sets or queries the top value of the zoom y-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:TO?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:YAXIS:TO + - DISplay:REFFFTView:ZOOM:YAXIS:TO? + ``` + + Info: + - ```` is the top value of the zoom y-axis in the specified plot view. + """ + return self._to + + +class DisplayReffftviewItemZoomXaxisTo(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM:XAXIS:TO`` command. + + Description: + - This command sets or queries the right edge of the zoom x-axis in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:XAXIS:TO + - DISplay:REFFFTView:ZOOM:XAXIS:TO? + ``` + + Info: + - ```` is the right edge of the zoom x-axis in the specified plot view. + """ + + +class DisplayReffftviewItemZoomXaxisFrom(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM:XAXIS:FROM`` command. + + Description: + - This command sets or returns the left edge of the zoom x-axis in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:XAXIS:FROM + - DISplay:REFFFTView:ZOOM:XAXIS:FROM? + ``` + + Info: + - ```` is the left edge of the zoom x-axis in the specified plot view. + """ + + +class DisplayReffftviewItemZoomXaxis(SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.from``: The ``DISplay:REFFFTView:ZOOM:XAXIS:FROM`` command. + - ``.to``: The ``DISplay:REFFFTView:ZOOM:XAXIS:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = DisplayReffftviewItemZoomXaxisFrom(device, f"{self._cmd_syntax}:FROM") + self._to = DisplayReffftviewItemZoomXaxisTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> DisplayReffftviewItemZoomXaxisFrom: + """Return the ``DISplay:REFFFTView:ZOOM:XAXIS:FROM`` command. + + Description: + - This command sets or returns the left edge of the zoom x-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:XAXIS:FROM + - DISplay:REFFFTView:ZOOM:XAXIS:FROM? + ``` + + Info: + - ```` is the left edge of the zoom x-axis in the specified plot view. + """ + return self._from + + @property + def to(self) -> DisplayReffftviewItemZoomXaxisTo: + """Return the ``DISplay:REFFFTView:ZOOM:XAXIS:TO`` command. + + Description: + - This command sets or queries the right edge of the zoom x-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:TO?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:ZOOM:XAXIS:TO + - DISplay:REFFFTView:ZOOM:XAXIS:TO? + ``` + + Info: + - ```` is the right edge of the zoom x-axis in the specified plot view. + """ + return self._to + + +class DisplayReffftviewItemZoom(SCPICmdRead): + """The ``DISplay:REFFFTView:ZOOM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:ZOOM?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.xaxis``: The ``DISplay:REFFFTView:ZOOM:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:REFFFTView:ZOOM:YAXIS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._xaxis = DisplayReffftviewItemZoomXaxis(device, f"{self._cmd_syntax}:XAXIS") + self._yaxis = DisplayReffftviewItemZoomYaxis(device, f"{self._cmd_syntax}:YAXIS") + + @property + def xaxis(self) -> DisplayReffftviewItemZoomXaxis: + """Return the ``DISplay:REFFFTView:ZOOM:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:XAXIS?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:XAXIS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.from``: The ``DISplay:REFFFTView:ZOOM:XAXIS:FROM`` command. + - ``.to``: The ``DISplay:REFFFTView:ZOOM:XAXIS:TO`` command. + """ + return self._xaxis + + @property + def yaxis(self) -> DisplayReffftviewItemZoomYaxis: + """Return the ``DISplay:REFFFTView:ZOOM:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM:YAXIS?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:ZOOM:YAXIS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.from``: The ``DISplay:REFFFTView:ZOOM:YAXIS:FROM`` command. + - ``.to``: The ``DISplay:REFFFTView:ZOOM:YAXIS:TO`` command. + """ + return self._yaxis + + +class DisplayReffftviewItemXaxisScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:XAXIS:SCALE`` command. + + Description: + - This command sets or queries the x-axis scale setting for Ref FFT. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:XAXIS:SCALE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:XAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:XAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:XAXIS:SCALE {LINEAr|LOG} + - DISplay:REFFFTView:XAXIS:SCALE? + ``` + + Info: + - ``LINEAr`` specifies a linear scale. + - ``LOG`` specifies a logarithmic scale. + """ + + +class DisplayReffftviewItemXaxis(SCPICmdRead): + """The ``DISplay:REFFFTView:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:XAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.scale``: The ``DISplay:REFFFTView:XAXIS:SCALE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._scale = DisplayReffftviewItemXaxisScale(device, f"{self._cmd_syntax}:SCALE") + + @property + def scale(self) -> DisplayReffftviewItemXaxisScale: + """Return the ``DISplay:REFFFTView:XAXIS:SCALE`` command. + + Description: + - This command sets or queries the x-axis scale setting for Ref FFT. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:XAXIS:SCALE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:XAXIS:SCALE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:XAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:XAXIS:SCALE {LINEAr|LOG} + - DISplay:REFFFTView:XAXIS:SCALE? + ``` + + Info: + - ``LINEAr`` specifies a linear scale. + - ``LOG`` specifies a logarithmic scale. + """ + return self._scale + + +class DisplayReffftviewItemRefRefItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:REF:REF:STATE`` command. + + Description: + - This command sets or queries the state of the specified reference waveform in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:REF:REF:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:REF:REF:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:REF:REF:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:REF:REF:STATE boolean + - DISplay:REFFFTView:REF:REF:STATE? + ``` + + Info: + - ```` = 0 disables the specified reference; any other value turns this feature on. + - ``OFF`` disables the display the specified reference. + - ``ON`` enables the specified reference. + """ + + +class DisplayReffftviewItemRefRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:REFFFTView:REF:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:REF:REF?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:REFFFTView:REF:REF:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayReffftviewItemRefRefItemState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayReffftviewItemRefRefItemState: + """Return the ``DISplay:REFFFTView:REF:REF:STATE`` command. + + Description: + - This command sets or queries the state of the specified reference waveform in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:REF:REF:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:REF:REF:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:REF:REF:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:REF:REF:STATE boolean + - DISplay:REFFFTView:REF:REF:STATE? + ``` + + Info: + - ```` = 0 disables the specified reference; any other value turns this feature on. + - ``OFF`` disables the display the specified reference. + - ``ON`` enables the specified reference. + """ + return self._state + + +class DisplayReffftviewItemRef(SCPICmdRead): + """The ``DISplay:REFFFTView:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ref``: The ``DISplay:REFFFTView:REF:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ref: Dict[int, DisplayReffftviewItemRefRefItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayReffftviewItemRefRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def ref(self) -> Dict[int, DisplayReffftviewItemRefRefItem]: + """Return the ``DISplay:REFFFTView:REF:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:REF:REF?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:REF:REF?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:REFFFTView:REF:REF:STATE`` command. + """ + return self._ref + + +class DisplayReffftviewItemGridlines(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:GRIDlines`` command. + + Description: + - This command sets or returns the grid lines setting of the plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:GRIDlines?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:GRIDlines?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:REFFFTView:GRIDlines value`` + command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:REFFFTView:GRIDlines? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``HORizontal`` specifies horizontal grid lines. + - ``VERTical`` specifies vertical grid lines. + - ``BOTH`` specifies both horizontal and vertical grid lines. + """ + + +class DisplayReffftviewItemCursorWaveformBvposition(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition`` command. + + Description: + - This query-only command returns the value of the cursor B vertical position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:BVPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorWaveformBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition`` command. + + Description: + - Sets or returns the waveform cursor B position in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:BPOSition + - DISplay:REFFFTView:CURSor:WAVEform:BPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the waveform cursor B position in the specified plot view. + """ + + +class DisplayReffftviewItemCursorWaveformBhposition(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition`` command. + + Description: + - This query-only command returns the value of the cursor B horizontal position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:BHPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorWaveformAvposition(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition`` command. + + Description: + - This query-only command returns the value of the cursor A vertical position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:AVPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorWaveformAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform:APOSition`` command. + + Description: + - Sets or returns the waveform cursor A position in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:APOSition + - DISplay:REFFFTView:CURSor:WAVEform:APOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the waveform cursor A position in the specified plot view. + """ + + +class DisplayReffftviewItemCursorWaveformAhposition(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition`` command. + + Description: + - This query-only command returns the value of the cursor A horizontal position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:AHPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorWaveform(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Properties: + - ``.ahposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition`` command. + - ``.aposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:APOSition`` command. + - ``.avposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition`` command. + - ``.bhposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition`` command. + - ``.bposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition`` command. + - ``.bvposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ahposition = DisplayReffftviewItemCursorWaveformAhposition( + device, f"{self._cmd_syntax}:AHPOSition" + ) + self._aposition = DisplayReffftviewItemCursorWaveformAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._avposition = DisplayReffftviewItemCursorWaveformAvposition( + device, f"{self._cmd_syntax}:AVPOSition" + ) + self._bhposition = DisplayReffftviewItemCursorWaveformBhposition( + device, f"{self._cmd_syntax}:BHPOSition" + ) + self._bposition = DisplayReffftviewItemCursorWaveformBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bvposition = DisplayReffftviewItemCursorWaveformBvposition( + device, f"{self._cmd_syntax}:BVPOSition" + ) + + @property + def ahposition(self) -> DisplayReffftviewItemCursorWaveformAhposition: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition`` command. + + Description: + - This query-only command returns the value of the cursor A horizontal position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:AHPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._ahposition + + @property + def aposition(self) -> DisplayReffftviewItemCursorWaveformAposition: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform:APOSition`` command. + + Description: + - Sets or returns the waveform cursor A position in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:APOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:APOSition + - DISplay:REFFFTView:CURSor:WAVEform:APOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the waveform cursor A position in the specified plot view. + """ + return self._aposition + + @property + def avposition(self) -> DisplayReffftviewItemCursorWaveformAvposition: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition`` command. + + Description: + - This query-only command returns the value of the cursor A vertical position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:AVPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._avposition + + @property + def bhposition(self) -> DisplayReffftviewItemCursorWaveformBhposition: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition`` command. + + Description: + - This query-only command returns the value of the cursor B horizontal position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:BHPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._bhposition + + @property + def bposition(self) -> DisplayReffftviewItemCursorWaveformBposition: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition`` command. + + Description: + - Sets or returns the waveform cursor B position in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:BPOSition + - DISplay:REFFFTView:CURSor:WAVEform:BPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the waveform cursor B position in the specified plot view. + """ + return self._bposition + + @property + def bvposition(self) -> DisplayReffftviewItemCursorWaveformBvposition: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition`` command. + + Description: + - This query-only command returns the value of the cursor B vertical position. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:WAVEform:BVPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._bvposition + + +class DisplayReffftviewItemCursorVbarsUnits(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:VBArs:UNIts`` command. + + Description: + - This command returns cursor A vertical units of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:VBArs:UNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:UNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:UNIts? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorVbarsDelta(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:VBArs:DELTa`` command. + + Description: + - This command returns the delta T cursor readout value of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:VBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:DELTa? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorVbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:BPOSition + - DISplay:REFFFTView:CURSor:VBArs:BPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor B position of the specified cursor in the specified + view. + """ + + +class DisplayReffftviewItemCursorVbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:VBArs:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:APOSition + - DISplay:REFFFTView:CURSor:VBArs:APOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor A position of the specified cursor in the specified + view. + """ + + +class DisplayReffftviewItemCursorVbars(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:VBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor:VBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Properties: + - ``.aposition``: The ``DISplay:REFFFTView:CURSor:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:REFFFTView:CURSor:VBArs:BPOSition`` command. + - ``.delta``: The ``DISplay:REFFFTView:CURSor:VBArs:DELTa`` command. + - ``.units``: The ``DISplay:REFFFTView:CURSor:VBArs:UNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayReffftviewItemCursorVbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplayReffftviewItemCursorVbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._delta = DisplayReffftviewItemCursorVbarsDelta(device, f"{self._cmd_syntax}:DELTa") + self._units = DisplayReffftviewItemCursorVbarsUnits(device, f"{self._cmd_syntax}:UNIts") + + @property + def aposition(self) -> DisplayReffftviewItemCursorVbarsAposition: + """Return the ``DISplay:REFFFTView:CURSor:VBArs:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:APOSition + - DISplay:REFFFTView:CURSor:VBArs:APOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor A position of the specified cursor in the specified + view. + """ + return self._aposition + + @property + def bposition(self) -> DisplayReffftviewItemCursorVbarsBposition: + """Return the ``DISplay:REFFFTView:CURSor:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:BPOSition + - DISplay:REFFFTView:CURSor:VBArs:BPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor B position of the specified cursor in the specified + view. + """ + return self._bposition + + @property + def delta(self) -> DisplayReffftviewItemCursorVbarsDelta: + """Return the ``DISplay:REFFFTView:CURSor:VBArs:DELTa`` command. + + Description: + - This command returns the delta T cursor readout value of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:DELTa? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._delta + + @property + def units(self) -> DisplayReffftviewItemCursorVbarsUnits: + """Return the ``DISplay:REFFFTView:CURSor:VBArs:UNIts`` command. + + Description: + - This command returns cursor A vertical units of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:UNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs:UNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:VBArs:UNIts? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._units + + +class DisplayReffftviewItemCursorState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:STATE`` command. + + Description: + - This command sets or queries the visible state of the cursor of the specified cursor n the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:STATE {OFF|ON|0|1} + - DISplay:REFFFTView:CURSor:STATE? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``OFF`` specifies the cursor is not visible. + - ``0`` specifies the cursor is not visible. + - ``ON`` displays the cursor. + - ``1`` displays the cursor. + """ + + +class DisplayReffftviewItemCursorSplitmode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:SPLITMODE`` command. + + Description: + - This command sets or queries whether both cursors have same or different source. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:SPLITMODE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SPLITMODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SPLITMODE {SAME|SPLIT} + - DISplay:REFFFTView:CURSor:SPLITMODE? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``SAME`` specifies both cursors have the same sources. + - ``SPLIT`` specifies both cursors have different sources. + """ + + +class DisplayReffftviewItemCursorScreenByposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:BYPOSition + - DISplay:REFFFTView:CURSor:SCREEN:BYPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor B position of the specified cursor in the specified view. + """ + + +class DisplayReffftviewItemCursorScreenBxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:BXPOSition + - DISplay:REFFFTView:CURSor:SCREEN:BXPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor B position of the specified cursor in the specified + view. + """ + + +class DisplayReffftviewItemCursorScreenAyposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:AYPOSition + - DISplay:REFFFTView:CURSor:SCREEN:AYPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor A position of the specified cursor in the specified view. + """ + + +class DisplayReffftviewItemCursorScreenAxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:AXPOSition + - DISplay:REFFFTView:CURSor:SCREEN:AXPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor A position of the specified cursor in the specified + view. + """ + + +class DisplayReffftviewItemCursorScreen(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:SCREEN?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor:SCREEN?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Properties: + - ``.axposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._axposition = DisplayReffftviewItemCursorScreenAxposition( + device, f"{self._cmd_syntax}:AXPOSition" + ) + self._ayposition = DisplayReffftviewItemCursorScreenAyposition( + device, f"{self._cmd_syntax}:AYPOSition" + ) + self._bxposition = DisplayReffftviewItemCursorScreenBxposition( + device, f"{self._cmd_syntax}:BXPOSition" + ) + self._byposition = DisplayReffftviewItemCursorScreenByposition( + device, f"{self._cmd_syntax}:BYPOSition" + ) + + @property + def axposition(self) -> DisplayReffftviewItemCursorScreenAxposition: + """Return the ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:AXPOSition + - DISplay:REFFFTView:CURSor:SCREEN:AXPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor A position of the specified cursor in the specified + view. + """ + return self._axposition + + @property + def ayposition(self) -> DisplayReffftviewItemCursorScreenAyposition: + """Return the ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:AYPOSition + - DISplay:REFFFTView:CURSor:SCREEN:AYPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor A position of the specified cursor in the specified + view. + """ + return self._ayposition + + @property + def bxposition(self) -> DisplayReffftviewItemCursorScreenBxposition: + """Return the ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:BXPOSition + - DISplay:REFFFTView:CURSor:SCREEN:BXPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the horizontal cursor B position of the specified cursor in the specified + view. + """ + return self._bxposition + + @property + def byposition(self) -> DisplayReffftviewItemCursorScreenByposition: + """Return the ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SCREEN:BYPOSition + - DISplay:REFFFTView:CURSor:SCREEN:BYPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor B position of the specified cursor in the specified + view. + """ + return self._byposition + + +class DisplayReffftviewItemCursorRolocation(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the specified Reference FFT plot + cursor readouts (in the plot graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:ROLOCATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ROLOCATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:REFFFTView:CURSor:ROLOCATION? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``GRATICULE`` sets the Reference FFT plot cursor readouts to display as part of the + cursors in the plot view. + - ``BADGE`` removes the Reference FFT plot cursor readouts from the cursors in the graticule + and displays the cursor information as a badge in the Results Bar. + """ + + +class DisplayReffftviewItemCursorOneoverdeltatvalue(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE`` command. + + Description: + - This command returns the one over delta T cursor readout value of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorMode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:MODe`` command. + + Description: + - This command sets or queries the cursor tracking mode of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:REFFFTView:CURSor:MODe? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor A + adjustments, this ties the movement of the two cursors together; however, cursor B + continues to move independently of cursor A. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + """ + + +class DisplayReffftviewItemCursorHbarsDelta(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:HBArs:DELTa`` command. + + Description: + - This command returns the delta V cursor readout value of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:HBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:DELTa? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorHbarsBunits(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:HBArs:BUNIts`` command. + + Description: + - This command returns the cursor B vertical units of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:HBArs:BUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:BUNIts? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorHbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:HBArs:BPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:BPOSition + - DISplay:REFFFTView:CURSor:HBArs:BPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor B position of the specified cursor in the specified view. + """ + + +class DisplayReffftviewItemCursorHbarsAunits(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:HBArs:AUNIts`` command. + + Description: + - This command returns cursor A vertical units of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:HBArs:AUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:AUNIts? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorHbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:HBArs:APOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:APOSition + - DISplay:REFFFTView:CURSor:HBArs:APOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor A position of the specified cursor in the specified view. + """ + + +class DisplayReffftviewItemCursorHbars(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:HBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor:HBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Properties: + - ``.aposition``: The ``DISplay:REFFFTView:CURSor:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:REFFFTView:CURSor:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:REFFFTView:CURSor:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:REFFFTView:CURSor:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:REFFFTView:CURSor:HBArs:DELTa`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayReffftviewItemCursorHbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._aunits = DisplayReffftviewItemCursorHbarsAunits(device, f"{self._cmd_syntax}:AUNIts") + self._bposition = DisplayReffftviewItemCursorHbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bunits = DisplayReffftviewItemCursorHbarsBunits(device, f"{self._cmd_syntax}:BUNIts") + self._delta = DisplayReffftviewItemCursorHbarsDelta(device, f"{self._cmd_syntax}:DELTa") + + @property + def aposition(self) -> DisplayReffftviewItemCursorHbarsAposition: + """Return the ``DISplay:REFFFTView:CURSor:HBArs:APOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:APOSition + - DISplay:REFFFTView:CURSor:HBArs:APOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor A position of the specified cursor in the specified + view. + """ + return self._aposition + + @property + def aunits(self) -> DisplayReffftviewItemCursorHbarsAunits: + """Return the ``DISplay:REFFFTView:CURSor:HBArs:AUNIts`` command. + + Description: + - This command returns cursor A vertical units of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:AUNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:AUNIts? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._aunits + + @property + def bposition(self) -> DisplayReffftviewItemCursorHbarsBposition: + """Return the ``DISplay:REFFFTView:CURSor:HBArs:BPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:BPOSition + - DISplay:REFFFTView:CURSor:HBArs:BPOSition? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ```` is the vertical cursor B position of the specified cursor in the specified + view. + """ + return self._bposition + + @property + def bunits(self) -> DisplayReffftviewItemCursorHbarsBunits: + """Return the ``DISplay:REFFFTView:CURSor:HBArs:BUNIts`` command. + + Description: + - This command returns the cursor B vertical units of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:BUNIts?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:BUNIts? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._bunits + + @property + def delta(self) -> DisplayReffftviewItemCursorHbarsDelta: + """Return the ``DISplay:REFFFTView:CURSor:HBArs:DELTa`` command. + + Description: + - This command returns the delta V cursor readout value of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:HBArs:DELTa? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._delta + + +class DisplayReffftviewItemCursorFunction(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:FUNCtion`` command. + + Description: + - This command sets or queries the cursor type of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:FUNCtion {WAVEform|VBArs|HBArs|SCREEN} + - DISplay:REFFFTView:CURSor:FUNCtion? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``SCREEN`` specifies both horizontal and vertical bar cursors, which measure in horizontal + and vertical units specified by the cursor sources. Use these cursors to measure anywhere + in the waveform display area. + - ``WAVEform`` specifies paired or split cursors in YT display format for measuring waveform + amplitude and time. In XY and XYZ format, these cursors indicate the amplitude positions + of an XY pair (Ch1 vs Ch2 voltage, where Ch1 is the X axis and Ch2 is the Y axis) relative + to the trigger. + """ + + +class DisplayReffftviewItemCursorDdt(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:DDT`` command. + + Description: + - This command returns the delta V over delta T cursor readout value of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:DDT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor:DDT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:DDT? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorBsource(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:BSOUrce`` command. + + Description: + - This command returns the cursor source for plot cursor B. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:BSOUrce? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +class DisplayReffftviewItemCursorAsource(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor:ASOUrce`` command. + + Description: + - This command returns the cursor source for plot cursor A + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:ASOUrce? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + + +# pylint: disable=too-many-instance-attributes +class DisplayReffftviewItemCursor(SCPICmdRead): + """The ``DISplay:REFFFTView:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Properties: + - ``.asource``: The ``DISplay:REFFFTView:CURSor:ASOUrce`` command. + - ``.bsource``: The ``DISplay:REFFFTView:CURSor:BSOUrce`` command. + - ``.ddt``: The ``DISplay:REFFFTView:CURSor:DDT`` command. + - ``.function``: The ``DISplay:REFFFTView:CURSor:FUNCtion`` command. + - ``.hbars``: The ``DISplay:REFFFTView:CURSor:HBArs`` command tree. + - ``.mode``: The ``DISplay:REFFFTView:CURSor:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE`` command. + - ``.rolocation``: The ``DISplay:REFFFTView:CURSor:ROLOCATION`` command. + - ``.screen``: The ``DISplay:REFFFTView:CURSor:SCREEN`` command tree. + - ``.splitmode``: The ``DISplay:REFFFTView:CURSor:SPLITMODE`` command. + - ``.state``: The ``DISplay:REFFFTView:CURSor:STATE`` command. + - ``.vbars``: The ``DISplay:REFFFTView:CURSor:VBArs`` command tree. + - ``.waveform``: The ``DISplay:REFFFTView:CURSor:WAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._asource = DisplayReffftviewItemCursorAsource(device, f"{self._cmd_syntax}:ASOUrce") + self._bsource = DisplayReffftviewItemCursorBsource(device, f"{self._cmd_syntax}:BSOUrce") + self._ddt = DisplayReffftviewItemCursorDdt(device, f"{self._cmd_syntax}:DDT") + self._function = DisplayReffftviewItemCursorFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._hbars = DisplayReffftviewItemCursorHbars(device, f"{self._cmd_syntax}:HBArs") + self._mode = DisplayReffftviewItemCursorMode(device, f"{self._cmd_syntax}:MODe") + self._oneoverdeltatvalue = DisplayReffftviewItemCursorOneoverdeltatvalue( + device, f"{self._cmd_syntax}:ONEOVERDELTATVALUE" + ) + self._rolocation = DisplayReffftviewItemCursorRolocation( + device, f"{self._cmd_syntax}:ROLOCATION" + ) + self._screen = DisplayReffftviewItemCursorScreen(device, f"{self._cmd_syntax}:SCREEN") + self._splitmode = DisplayReffftviewItemCursorSplitmode( + device, f"{self._cmd_syntax}:SPLITMODE" + ) + self._state = DisplayReffftviewItemCursorState(device, f"{self._cmd_syntax}:STATE") + self._vbars = DisplayReffftviewItemCursorVbars(device, f"{self._cmd_syntax}:VBArs") + self._waveform = DisplayReffftviewItemCursorWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def asource(self) -> DisplayReffftviewItemCursorAsource: + """Return the ``DISplay:REFFFTView:CURSor:ASOUrce`` command. + + Description: + - This command returns the cursor source for plot cursor A + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:ASOUrce? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._asource + + @property + def bsource(self) -> DisplayReffftviewItemCursorBsource: + """Return the ``DISplay:REFFFTView:CURSor:BSOUrce`` command. + + Description: + - This command returns the cursor source for plot cursor B. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:BSOUrce? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._bsource + + @property + def ddt(self) -> DisplayReffftviewItemCursorDdt: + """Return the ``DISplay:REFFFTView:CURSor:DDT`` command. + + Description: + - This command returns the delta V over delta T cursor readout value of the specified + cursor in the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:DDT?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:DDT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:DDT? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._ddt + + @property + def function(self) -> DisplayReffftviewItemCursorFunction: + """Return the ``DISplay:REFFFTView:CURSor:FUNCtion`` command. + + Description: + - This command sets or queries the cursor type of the specified cursor in the specified + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:FUNCtion {WAVEform|VBArs|HBArs|SCREEN} + - DISplay:REFFFTView:CURSor:FUNCtion? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``SCREEN`` specifies both horizontal and vertical bar cursors, which measure in + horizontal and vertical units specified by the cursor sources. Use these cursors to + measure anywhere in the waveform display area. + - ``WAVEform`` specifies paired or split cursors in YT display format for measuring + waveform amplitude and time. In XY and XYZ format, these cursors indicate the + amplitude positions of an XY pair (Ch1 vs Ch2 voltage, where Ch1 is the X axis and Ch2 + is the Y axis) relative to the trigger. + """ + return self._function + + @property + def hbars(self) -> DisplayReffftviewItemCursorHbars: + """Return the ``DISplay:REFFFTView:CURSor:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:HBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:HBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Sub-properties: + - ``.aposition``: The ``DISplay:REFFFTView:CURSor:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:REFFFTView:CURSor:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:REFFFTView:CURSor:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:REFFFTView:CURSor:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:REFFFTView:CURSor:HBArs:DELTa`` command. + """ + return self._hbars + + @property + def mode(self) -> DisplayReffftviewItemCursorMode: + """Return the ``DISplay:REFFFTView:CURSor:MODe`` command. + + Description: + - This command sets or queries the cursor tracking mode of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:MODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:REFFFTView:CURSor:MODe? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor + A adjustments, this ties the movement of the two cursors together; however, cursor B + continues to move independently of cursor A. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + """ + return self._mode + + @property + def oneoverdeltatvalue(self) -> DisplayReffftviewItemCursorOneoverdeltatvalue: + """Return the ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE`` command. + + Description: + - This command returns the one over delta T cursor readout value of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + """ + return self._oneoverdeltatvalue + + @property + def rolocation(self) -> DisplayReffftviewItemCursorRolocation: + """Return the ``DISplay:REFFFTView:CURSor:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the specified Reference FFT plot + cursor readouts (in the plot graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:ROLOCATION?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ROLOCATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:REFFFTView:CURSor:ROLOCATION? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``GRATICULE`` sets the Reference FFT plot cursor readouts to display as part of the + cursors in the plot view. + - ``BADGE`` removes the Reference FFT plot cursor readouts from the cursors in the + graticule and displays the cursor information as a badge in the Results Bar. + """ + return self._rolocation + + @property + def screen(self) -> DisplayReffftviewItemCursorScreen: + """Return the ``DISplay:REFFFTView:CURSor:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:SCREEN?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SCREEN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Sub-properties: + - ``.axposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:REFFFTView:CURSor:SCREEN:BYPOSition`` command. + """ + return self._screen + + @property + def splitmode(self) -> DisplayReffftviewItemCursorSplitmode: + """Return the ``DISplay:REFFFTView:CURSor:SPLITMODE`` command. + + Description: + - This command sets or queries whether both cursors have same or different source. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:REFFFTView:CURSor:SPLITMODE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SPLITMODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:SPLITMODE {SAME|SPLIT} + - DISplay:REFFFTView:CURSor:SPLITMODE? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``SAME`` specifies both cursors have the same sources. + - ``SPLIT`` specifies both cursors have different sources. + """ + return self._splitmode + + @property + def state(self) -> DisplayReffftviewItemCursorState: + """Return the ``DISplay:REFFFTView:CURSor:STATE`` command. + + Description: + - This command sets or queries the visible state of the cursor of the specified cursor n + the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:CURSor:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:CURSor:STATE {OFF|ON|0|1} + - DISplay:REFFFTView:CURSor:STATE? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``OFF`` specifies the cursor is not visible. + - ``0`` specifies the cursor is not visible. + - ``ON`` displays the cursor. + - ``1`` displays the cursor. + """ + return self._state + + @property + def vbars(self) -> DisplayReffftviewItemCursorVbars: + """Return the ``DISplay:REFFFTView:CURSor:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:VBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:VBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Sub-properties: + - ``.aposition``: The ``DISplay:REFFFTView:CURSor:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:REFFFTView:CURSor:VBArs:BPOSition`` command. + - ``.delta``: The ``DISplay:REFFFTView:CURSor:VBArs:DELTa`` command. + - ``.units``: The ``DISplay:REFFFTView:CURSor:VBArs:UNIts`` command. + """ + return self._vbars + + @property + def waveform(self) -> DisplayReffftviewItemCursorWaveform: + """Return the ``DISplay:REFFFTView:CURSor:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:REFFFTView:CURSor:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Sub-properties: + - ``.ahposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:AHPOSition`` command. + - ``.aposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:APOSition`` command. + - ``.avposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:AVPOSition`` command. + - ``.bhposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:BHPOSition`` command. + - ``.bposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:BPOSition`` command. + - ``.bvposition``: The ``DISplay:REFFFTView:CURSor:WAVEform:BVPOSition`` command. + """ + return self._waveform + + +class DisplayReffftviewItemAutoscale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REFFFTView:AUTOScale`` command. + + Description: + - This command sets or queries the enabled state of auto-scale for plots. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:AUTOScale?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:REFFFTView:AUTOScale value`` + command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:AUTOScale {OFF|ON|0|1} + - DISplay:REFFFTView:AUTOScale? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``OFF`` disables auto-scale on the specified reffftview. + - ``0`` disables auto-scale on the specified reffftview. + - ``ON`` enables the specified channel on the specified Waveform View. + - ``1`` enables the specified channel on the specified Waveform View. + """ + + +class DisplayReffftviewItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:REFFFTView`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Properties: + - ``.autoscale``: The ``DISplay:REFFFTView:AUTOScale`` command. + - ``.cursor``: The ``DISplay:REFFFTView:CURSor`` command tree. + - ``.gridlines``: The ``DISplay:REFFFTView:GRIDlines`` command. + - ``.ref``: The ``DISplay:REFFFTView:REF`` command tree. + - ``.xaxis``: The ``DISplay:REFFFTView:XAXIS`` command tree. + - ``.zoom``: The ``DISplay:REFFFTView:ZOOM`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoscale = DisplayReffftviewItemAutoscale(device, f"{self._cmd_syntax}:AUTOScale") + self._cursor = DisplayReffftviewItemCursor(device, f"{self._cmd_syntax}:CURSor") + self._gridlines = DisplayReffftviewItemGridlines(device, f"{self._cmd_syntax}:GRIDlines") + self._ref = DisplayReffftviewItemRef(device, f"{self._cmd_syntax}:REF") + self._xaxis = DisplayReffftviewItemXaxis(device, f"{self._cmd_syntax}:XAXIS") + self._zoom = DisplayReffftviewItemZoom(device, f"{self._cmd_syntax}:ZOOM") + + @property + def autoscale(self) -> DisplayReffftviewItemAutoscale: + """Return the ``DISplay:REFFFTView:AUTOScale`` command. + + Description: + - This command sets or queries the enabled state of auto-scale for plots. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:AUTOScale?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:AUTOScale?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:AUTOScale value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:AUTOScale {OFF|ON|0|1} + - DISplay:REFFFTView:AUTOScale? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``OFF`` disables auto-scale on the specified reffftview. + - ``0`` disables auto-scale on the specified reffftview. + - ``ON`` enables the specified channel on the specified Waveform View. + - ``1`` enables the specified channel on the specified Waveform View. + """ + return self._autoscale + + @property + def cursor(self) -> DisplayReffftviewItemCursor: + """Return the ``DISplay:REFFFTView:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:CURSor?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Sub-properties: + - ``.asource``: The ``DISplay:REFFFTView:CURSor:ASOUrce`` command. + - ``.bsource``: The ``DISplay:REFFFTView:CURSor:BSOUrce`` command. + - ``.ddt``: The ``DISplay:REFFFTView:CURSor:DDT`` command. + - ``.function``: The ``DISplay:REFFFTView:CURSor:FUNCtion`` command. + - ``.hbars``: The ``DISplay:REFFFTView:CURSor:HBArs`` command tree. + - ``.mode``: The ``DISplay:REFFFTView:CURSor:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:REFFFTView:CURSor:ONEOVERDELTATVALUE`` + command. + - ``.rolocation``: The ``DISplay:REFFFTView:CURSor:ROLOCATION`` command. + - ``.screen``: The ``DISplay:REFFFTView:CURSor:SCREEN`` command tree. + - ``.splitmode``: The ``DISplay:REFFFTView:CURSor:SPLITMODE`` command. + - ``.state``: The ``DISplay:REFFFTView:CURSor:STATE`` command. + - ``.vbars``: The ``DISplay:REFFFTView:CURSor:VBArs`` command tree. + - ``.waveform``: The ``DISplay:REFFFTView:CURSor:WAVEform`` command tree. + """ + return self._cursor + + @property + def gridlines(self) -> DisplayReffftviewItemGridlines: + """Return the ``DISplay:REFFFTView:GRIDlines`` command. + + Description: + - This command sets or returns the grid lines setting of the plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:GRIDlines?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:GRIDlines?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:REFFFTView:GRIDlines value`` command. + + SCPI Syntax: + ``` + - DISplay:REFFFTView:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:REFFFTView:GRIDlines? + ``` + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + - ``HORizontal`` specifies horizontal grid lines. + - ``VERTical`` specifies vertical grid lines. + - ``BOTH`` specifies both horizontal and vertical grid lines. + """ + return self._gridlines + + @property + def ref(self) -> DisplayReffftviewItemRef: + """Return the ``DISplay:REFFFTView:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:REF?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ref``: The ``DISplay:REFFFTView:REF:REF`` command tree. + """ + return self._ref + + @property + def xaxis(self) -> DisplayReffftviewItemXaxis: + """Return the ``DISplay:REFFFTView:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:XAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.scale``: The ``DISplay:REFFFTView:XAXIS:SCALE`` command. + """ + return self._xaxis + + @property + def zoom(self) -> DisplayReffftviewItemZoom: + """Return the ``DISplay:REFFFTView:ZOOM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView:ZOOM?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.xaxis``: The ``DISplay:REFFFTView:ZOOM:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:REFFFTView:ZOOM:YAXIS`` command tree. + """ + return self._zoom + + +class DisplayRefItemNormalcolor(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REF:NORMALColor`` command. + + Description: + - This command sets or queries the normal mode color of the specified input source to the + specified color. You can assign one of 48 unique colors to any channel, math, or reference + waveform. These colors replace the default normal colors and remain in effect until you + reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REF:NORMALColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REF:NORMALColor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:REF:NORMALColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:REF:NORMALColor COLOR + - DISplay:REF:NORMALColor? + ``` + + Info: + - ``REF`` specifies the reference waveform for which you want to change the waveform + color, where is the reference waveform number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to 47. + """ + + +class DisplayRefItemInvertcolor(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:REF:INVERTColor`` command. + + Description: + - This command sets or queries the Inverted mode color of the specified input source to the + specified color. You can assign one of 48 unique colors to any channel, math, or reference + waveform. These colors replace the default Inverted colors and remain in effect until you + reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REF:INVERTColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REF:INVERTColor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:REF:INVERTColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:REF:INVERTColor COLOR + - DISplay:REF:INVERTColor? + ``` + + Info: + - ``REF`` specifies the reference waveform for which you want to change the waveform + color, where is the reference waveform number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to 47. + """ + + +class DisplayRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``REF`` specifies the reference waveform for which you want to change the waveform + color, where is the reference waveform number. + + Properties: + - ``.invertcolor``: The ``DISplay:REF:INVERTColor`` command. + - ``.normalcolor``: The ``DISplay:REF:NORMALColor`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._invertcolor = DisplayRefItemInvertcolor(device, f"{self._cmd_syntax}:INVERTColor") + self._normalcolor = DisplayRefItemNormalcolor(device, f"{self._cmd_syntax}:NORMALColor") + + @property + def invertcolor(self) -> DisplayRefItemInvertcolor: + """Return the ``DISplay:REF:INVERTColor`` command. + + Description: + - This command sets or queries the Inverted mode color of the specified input source to + the specified color. You can assign one of 48 unique colors to any channel, math, or + reference waveform. These colors replace the default Inverted colors and remain in + effect until you reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REF:INVERTColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REF:INVERTColor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:REF:INVERTColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:REF:INVERTColor COLOR + - DISplay:REF:INVERTColor? + ``` + + Info: + - ``REF`` specifies the reference waveform for which you want to change the waveform + color, where is the reference waveform number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to + 47. + """ + return self._invertcolor + + @property + def normalcolor(self) -> DisplayRefItemNormalcolor: + """Return the ``DISplay:REF:NORMALColor`` command. + + Description: + - This command sets or queries the normal mode color of the specified input source to + the specified color. You can assign one of 48 unique colors to any channel, math, or + reference waveform. These colors replace the default normal colors and remain in + effect until you reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REF:NORMALColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REF:NORMALColor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:REF:NORMALColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:REF:NORMALColor COLOR + - DISplay:REF:NORMALColor? + ``` + + Info: + - ``REF`` specifies the reference waveform for which you want to change the waveform + color, where is the reference waveform number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to + 47. + """ + return self._normalcolor + + +class DisplayPlotview1ZoomYaxisTo(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM:YAXIS:TO`` command. + + Description: + - This command sets or queries the top value of the zoom y-axis in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:TO?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:TO value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:YAXIS:TO + - DISplay:PLOTView1:ZOOM:YAXIS:TO? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the top value of the zoom y-axis. + """ + + +class DisplayPlotview1ZoomYaxisFrom(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM:YAXIS:FROM`` command. + + Description: + - This command sets or queries the bottom value of the zoom y-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:FROM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:FROM?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:YAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:YAXIS:FROM + - DISplay:PLOTView1:ZOOM:YAXIS:FROM? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the bottom value of the zoom y-axis. + """ + + +class DisplayPlotview1ZoomYaxis(SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.from``: The ``DISplay:PLOTView1:ZOOM:YAXIS:FROM`` command. + - ``.to``: The ``DISplay:PLOTView1:ZOOM:YAXIS:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = DisplayPlotview1ZoomYaxisFrom(device, f"{self._cmd_syntax}:FROM") + self._to = DisplayPlotview1ZoomYaxisTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> DisplayPlotview1ZoomYaxisFrom: + """Return the ``DISplay:PLOTView1:ZOOM:YAXIS:FROM`` command. + + Description: + - This command sets or queries the bottom value of the zoom y-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:YAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:YAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:YAXIS:FROM + - DISplay:PLOTView1:ZOOM:YAXIS:FROM? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the bottom value of the zoom y-axis. + """ + return self._from + + @property + def to(self) -> DisplayPlotview1ZoomYaxisTo: + """Return the ``DISplay:PLOTView1:ZOOM:YAXIS:TO`` command. + + Description: + - This command sets or queries the top value of the zoom y-axis in the specified plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:YAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:YAXIS:TO + - DISplay:PLOTView1:ZOOM:YAXIS:TO? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the top value of the zoom y-axis. + """ + return self._to + + +class DisplayPlotview1ZoomXaxisTo(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM:XAXIS:TO`` command. + + Description: + - This command sets or queries the value of the right edge of the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:TO?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:TO value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:XAXIS:TO + - DISplay:PLOTView1:ZOOM:XAXIS:TO? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the end of the zoom x-axis. + """ + + +class DisplayPlotview1ZoomXaxisFrom(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM:XAXIS:FROM`` command. + + Description: + - This command sets or queries the value of the left edge of the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:FROM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:FROM?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:XAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:XAXIS:FROM + - DISplay:PLOTView1:ZOOM:XAXIS:FROM? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is start of the zoom x-axis. + """ + + +class DisplayPlotview1ZoomXaxis(SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.from``: The ``DISplay:PLOTView1:ZOOM:XAXIS:FROM`` command. + - ``.to``: The ``DISplay:PLOTView1:ZOOM:XAXIS:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = DisplayPlotview1ZoomXaxisFrom(device, f"{self._cmd_syntax}:FROM") + self._to = DisplayPlotview1ZoomXaxisTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> DisplayPlotview1ZoomXaxisFrom: + """Return the ``DISplay:PLOTView1:ZOOM:XAXIS:FROM`` command. + + Description: + - This command sets or queries the value of the left edge of the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:XAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:XAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:XAXIS:FROM + - DISplay:PLOTView1:ZOOM:XAXIS:FROM? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is start of the zoom x-axis. + """ + return self._from + + @property + def to(self) -> DisplayPlotview1ZoomXaxisTo: + """Return the ``DISplay:PLOTView1:ZOOM:XAXIS:TO`` command. + + Description: + - This command sets or queries the value of the right edge of the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:ZOOM:XAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:ZOOM:XAXIS:TO + - DISplay:PLOTView1:ZOOM:XAXIS:TO? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the end of the zoom x-axis. + """ + return self._to + + +class DisplayPlotview1Zoom(SCPICmdRead): + """The ``DISplay:PLOTView1:ZOOM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.xaxis``: The ``DISplay:PLOTView1:ZOOM:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:PLOTView1:ZOOM:YAXIS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._xaxis = DisplayPlotview1ZoomXaxis(device, f"{self._cmd_syntax}:XAXIS") + self._yaxis = DisplayPlotview1ZoomYaxis(device, f"{self._cmd_syntax}:YAXIS") + + @property + def xaxis(self) -> DisplayPlotview1ZoomXaxis: + """Return the ``DISplay:PLOTView1:ZOOM:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:XAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.from``: The ``DISplay:PLOTView1:ZOOM:XAXIS:FROM`` command. + - ``.to``: The ``DISplay:PLOTView1:ZOOM:XAXIS:TO`` command. + """ + return self._xaxis + + @property + def yaxis(self) -> DisplayPlotview1ZoomYaxis: + """Return the ``DISplay:PLOTView1:ZOOM:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM:YAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.from``: The ``DISplay:PLOTView1:ZOOM:YAXIS:FROM`` command. + - ``.to``: The ``DISplay:PLOTView1:ZOOM:YAXIS:TO`` command. + """ + return self._yaxis + + +class DisplayPlotview1Gridlines(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:GRIDlines`` command. + + Description: + - This command sets or queries the Grid (graticule) lines setting of the specified plot. + This command works for plots that have vertical and horizontal units associated with the + graticule. For example, this command does not work for XY or XYZ plots. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:GRIDlines?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:GRIDlines?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:GRIDlines value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:PLOTView1:GRIDlines? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``HORizontal`` specifies horizontal grid lines. + - ``VERTical`` specifies vertical grid lines. + - ``BOTH`` specifies both vertical and horizontal grid lines. + """ + + +class DisplayPlotview1CursorWaveformBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the waveform cursor B horizontal position of the specified + cursor in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:WAVEform:BPOSition + - DISplay:PLOTView1:CURSor:WAVEform:BPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor B position. + """ + + +class DisplayPlotview1CursorWaveformAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the waveform cursor A horizontal position of the specified + cursor in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:WAVEform:APOSition + - DISplay:PLOTView1:CURSor:WAVEform:APOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor A position. + """ + + +class DisplayPlotview1CursorWaveform(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:WAVEform?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:PLOTView1:CURSor:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayPlotview1CursorWaveformAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplayPlotview1CursorWaveformBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + + @property + def aposition(self) -> DisplayPlotview1CursorWaveformAposition: + """Return the ``DISplay:PLOTView1:CURSor:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the waveform cursor A horizontal position of the + specified cursor in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:WAVEform:APOSition + - DISplay:PLOTView1:CURSor:WAVEform:APOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor A position. + """ + return self._aposition + + @property + def bposition(self) -> DisplayPlotview1CursorWaveformBposition: + """Return the ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the waveform cursor B horizontal position of the + specified cursor in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:WAVEform:BPOSition + - DISplay:PLOTView1:CURSor:WAVEform:BPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor B position. + """ + return self._bposition + + +class DisplayPlotview1CursorVbarsUnits(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:VBArs:UNIts`` command. + + Description: + - This command queries the VBArs cursor readout units of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs:UNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:UNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:UNIts? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorVbarsDelta(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:VBArs:DELTa`` command. + + Description: + - This command queries the delta T cursor readout value of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:DELTa? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorVbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs:BPOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:BPOSition + - DISplay:PLOTView1:CURSor:VBArs:BPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor B position. + """ + + +class DisplayPlotview1CursorVbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:VBArs:APOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs:APOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:APOSition + - DISplay:PLOTView1:CURSor:VBArs:APOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor A position. + """ + + +class DisplayPlotview1CursorVbars(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:VBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:PLOTView1:CURSor:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:PLOTView1:CURSor:VBArs:BPOSition`` command. + - ``.delta``: The ``DISplay:PLOTView1:CURSor:VBArs:DELTa`` command. + - ``.units``: The ``DISplay:PLOTView1:CURSor:VBArs:UNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayPlotview1CursorVbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplayPlotview1CursorVbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._delta = DisplayPlotview1CursorVbarsDelta(device, f"{self._cmd_syntax}:DELTa") + self._units = DisplayPlotview1CursorVbarsUnits(device, f"{self._cmd_syntax}:UNIts") + + @property + def aposition(self) -> DisplayPlotview1CursorVbarsAposition: + """Return the ``DISplay:PLOTView1:CURSor:VBArs:APOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:APOSition + - DISplay:PLOTView1:CURSor:VBArs:APOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor A position. + """ + return self._aposition + + @property + def bposition(self) -> DisplayPlotview1CursorVbarsBposition: + """Return the ``DISplay:PLOTView1:CURSor:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:BPOSition + - DISplay:PLOTView1:CURSor:VBArs:BPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor B position. + """ + return self._bposition + + @property + def delta(self) -> DisplayPlotview1CursorVbarsDelta: + """Return the ``DISplay:PLOTView1:CURSor:VBArs:DELTa`` command. + + Description: + - This command queries the delta T cursor readout value of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:DELTa? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._delta + + @property + def units(self) -> DisplayPlotview1CursorVbarsUnits: + """Return the ``DISplay:PLOTView1:CURSor:VBArs:UNIts`` command. + + Description: + - This command queries the VBArs cursor readout units of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs:UNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:VBArs:UNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:VBArs:UNIts? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._units + + +class DisplayPlotview1CursorState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:STATE`` command. + + Description: + - This command sets or queries the visible state of the cursor of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:CURSor:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:STATE {ON|OFF|} + - DISplay:PLOTView1:CURSor:STATE? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``OFF`` disables the specified cursor. + - ``ON`` enables the specified cursor. + - ```` = 0 disables the specified cursor; any other value enables the specified cursor. + """ + + +class DisplayPlotview1CursorSplitmode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:SPLITMODE`` command. + + Description: + - This command sets or queries the cursor source mode in the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:SPLITMODE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:SPLITMODE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SPLITMODE {SAME|SPLIT} + - DISplay:PLOTView1:CURSor:SPLITMODE? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``SAME`` specifies that both cursors are on the same waveform. + - ``SPLIT`` specifies that the cursors can be on different waveforms. + """ + + +class DisplayPlotview1CursorScreenByposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:BYPOSition + - DISplay:PLOTView1:CURSor:SCREEN:BYPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor B position. + """ + + +class DisplayPlotview1CursorScreenBxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:BXPOSition + - DISplay:PLOTView1:CURSor:SCREEN:BXPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor B position. + """ + + +class DisplayPlotview1CursorScreenAyposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in the + specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:AYPOSition + - DISplay:PLOTView1:CURSor:SCREEN:AYPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor A position. + """ + + +class DisplayPlotview1CursorScreenAxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:AXPOSition + - DISplay:PLOTView1:CURSor:SCREEN:AXPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor A position. + """ + + +class DisplayPlotview1CursorScreen(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:SCREEN?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:SCREEN?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.axposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._axposition = DisplayPlotview1CursorScreenAxposition( + device, f"{self._cmd_syntax}:AXPOSition" + ) + self._ayposition = DisplayPlotview1CursorScreenAyposition( + device, f"{self._cmd_syntax}:AYPOSition" + ) + self._bxposition = DisplayPlotview1CursorScreenBxposition( + device, f"{self._cmd_syntax}:BXPOSition" + ) + self._byposition = DisplayPlotview1CursorScreenByposition( + device, f"{self._cmd_syntax}:BYPOSition" + ) + + @property + def axposition(self) -> DisplayPlotview1CursorScreenAxposition: + """Return the ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:AXPOSition + - DISplay:PLOTView1:CURSor:SCREEN:AXPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor A position. + """ + return self._axposition + + @property + def ayposition(self) -> DisplayPlotview1CursorScreenAyposition: + """Return the ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor A position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:AYPOSition + - DISplay:PLOTView1:CURSor:SCREEN:AYPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor A position. + """ + return self._ayposition + + @property + def bxposition(self) -> DisplayPlotview1CursorScreenBxposition: + """Return the ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:BXPOSition + - DISplay:PLOTView1:CURSor:SCREEN:BXPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the horizontal cursor B position. + """ + return self._bxposition + + @property + def byposition(self) -> DisplayPlotview1CursorScreenByposition: + """Return the ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position of the specified cursor in + the specified view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SCREEN:BYPOSition + - DISplay:PLOTView1:CURSor:SCREEN:BYPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the vertical cursor B position. + """ + return self._byposition + + +class DisplayPlotview1CursorRolocation(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the specified plot cursor readouts + (in the plot graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:ROLOCATION?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:ROLOCATION?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:PLOTView1:CURSor:ROLOCATION? + ``` + + Info: + - ``1`` is the waveform plot number. + - ``GRATICULE`` sets the plot cursor readouts to display as part of the cursors in the plot + view. + - ``BADGE`` removes the plot cursor readouts from the cursors in the graticule and displays + the cursor information as a badge in the Results Bar. + """ + + +class DisplayPlotview1CursorOneoverdeltatvalue(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE`` command. + + Description: + - This command sets or queries the one over delta T cursor readout value for the specified + Plot view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorMode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:MODe`` command. + + Description: + - This command sets or queries the cursor tracking mode for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:MODe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:CURSor:MODe value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:PLOTView1:CURSor:MODe? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor A + adjustments, this ties the movement of the two cursors together; however, cursor B + continues to move independently of cursor A. + """ + + +class DisplayPlotview1CursorHbarsDelta(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:HBArs:DELTa`` command. + + Description: + - This command queries the delta V cursor readout value for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:DELTa? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorHbarsBunits(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:HBArs:BUNIts`` command. + + Description: + - This command queries the cursor B vertical units for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:BUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:BUNIts? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorHbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:HBArs:BPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:BPOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:BPOSition + - DISplay:PLOTView1:CURSor:HBArs:BPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the HBArs vertical position. + """ + + +class DisplayPlotview1CursorHbarsAunits(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:HBArs:AUNIts`` command. + + Description: + - This command queries the horizontal cursor A vertical units for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:AUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:AUNIts? + ``` + """ + + +class DisplayPlotview1CursorHbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:HBArs:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:APOSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:APOSition + - DISplay:PLOTView1:CURSor:HBArs:APOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the cursor position. + """ + + +class DisplayPlotview1CursorHbars(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:HBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:PLOTView1:CURSor:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:PLOTView1:CURSor:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:PLOTView1:CURSor:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:PLOTView1:CURSor:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:PLOTView1:CURSor:HBArs:DELTa`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayPlotview1CursorHbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._aunits = DisplayPlotview1CursorHbarsAunits(device, f"{self._cmd_syntax}:AUNIts") + self._bposition = DisplayPlotview1CursorHbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bunits = DisplayPlotview1CursorHbarsBunits(device, f"{self._cmd_syntax}:BUNIts") + self._delta = DisplayPlotview1CursorHbarsDelta(device, f"{self._cmd_syntax}:DELTa") + + @property + def aposition(self) -> DisplayPlotview1CursorHbarsAposition: + """Return the ``DISplay:PLOTView1:CURSor:HBArs:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position for the specified Plot + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:APOSition + - DISplay:PLOTView1:CURSor:HBArs:APOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the cursor position. + """ + return self._aposition + + @property + def aunits(self) -> DisplayPlotview1CursorHbarsAunits: + """Return the ``DISplay:PLOTView1:CURSor:HBArs:AUNIts`` command. + + Description: + - This command queries the horizontal cursor A vertical units for the specified Plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:AUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:AUNIts? + ``` + """ + return self._aunits + + @property + def bposition(self) -> DisplayPlotview1CursorHbarsBposition: + """Return the ``DISplay:PLOTView1:CURSor:HBArs:BPOSition`` command. + + Description: + - This command sets or queries the horizontal cursor B position for the specified Plot + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:BPOSition + - DISplay:PLOTView1:CURSor:HBArs:BPOSition? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ```` is the HBArs vertical position. + """ + return self._bposition + + @property + def bunits(self) -> DisplayPlotview1CursorHbarsBunits: + """Return the ``DISplay:PLOTView1:CURSor:HBArs:BUNIts`` command. + + Description: + - This command queries the cursor B vertical units for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:BUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:BUNIts? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._bunits + + @property + def delta(self) -> DisplayPlotview1CursorHbarsDelta: + """Return the ``DISplay:PLOTView1:CURSor:HBArs:DELTa`` command. + + Description: + - This command queries the delta V cursor readout value for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:HBArs:DELTa? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._delta + + +class DisplayPlotview1CursorFunction(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:FUNCtion`` command. + + Description: + - This command sets or queries the cursor mode for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:FUNCtion?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:FUNCtion {WAVEFORM|VBArs|HBArs|SCREEN} + - DISplay:PLOTView1:CURSor:FUNCtion? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``WAVEFORM`` specifies to display the paired cursors in YT display format for measuring + waveform amplitude and time. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``SCREEN`` specifies to display both horizontal and vertical bar cursors, which measure + the selected waveform in horizontal and vertical units. Use these cursors to measure + anywhere in the waveform display area. + """ + + +class DisplayPlotview1CursorDdt(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:DDT`` command. + + Description: + - This command returns the delta V over delta T cursor readout value for the specified Plot + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:DDT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:DDT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:DDT? + ``` + + Info: + - ``PlotView`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorBsource(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:BSOUrce`` command. + + Description: + - This command queries the cursor source for plot cursor B. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:BSOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:BSOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:BSOUrce? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +class DisplayPlotview1CursorAsource(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor:ASOUrce`` command. + + Description: + - This command queries the cursor source for plot cursor A. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:ASOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:ASOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:ASOUrce? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + + +# pylint: disable=too-many-instance-attributes +class DisplayPlotview1Cursor(SCPICmdRead): + """The ``DISplay:PLOTView1:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rolocation``: The ``DISplay:PLOTView1:CURSor:ROLOCATION`` command. + - ``.asource``: The ``DISplay:PLOTView1:CURSor:ASOUrce`` command. + - ``.bsource``: The ``DISplay:PLOTView1:CURSor:BSOUrce`` command. + - ``.ddt``: The ``DISplay:PLOTView1:CURSor:DDT`` command. + - ``.function``: The ``DISplay:PLOTView1:CURSor:FUNCtion`` command. + - ``.hbars``: The ``DISplay:PLOTView1:CURSor:HBArs`` command tree. + - ``.mode``: The ``DISplay:PLOTView1:CURSor:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE`` command. + - ``.screen``: The ``DISplay:PLOTView1:CURSor:SCREEN`` command tree. + - ``.splitmode``: The ``DISplay:PLOTView1:CURSor:SPLITMODE`` command. + - ``.state``: The ``DISplay:PLOTView1:CURSor:STATE`` command. + - ``.vbars``: The ``DISplay:PLOTView1:CURSor:VBArs`` command tree. + - ``.waveform``: The ``DISplay:PLOTView1:CURSor:WAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rolocation = DisplayPlotview1CursorRolocation( + device, f"{self._cmd_syntax}:ROLOCATION" + ) + self._asource = DisplayPlotview1CursorAsource(device, f"{self._cmd_syntax}:ASOUrce") + self._bsource = DisplayPlotview1CursorBsource(device, f"{self._cmd_syntax}:BSOUrce") + self._ddt = DisplayPlotview1CursorDdt(device, f"{self._cmd_syntax}:DDT") + self._function = DisplayPlotview1CursorFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._hbars = DisplayPlotview1CursorHbars(device, f"{self._cmd_syntax}:HBArs") + self._mode = DisplayPlotview1CursorMode(device, f"{self._cmd_syntax}:MODe") + self._oneoverdeltatvalue = DisplayPlotview1CursorOneoverdeltatvalue( + device, f"{self._cmd_syntax}:ONEOVERDELTATVALUE" + ) + self._screen = DisplayPlotview1CursorScreen(device, f"{self._cmd_syntax}:SCREEN") + self._splitmode = DisplayPlotview1CursorSplitmode(device, f"{self._cmd_syntax}:SPLITMODE") + self._state = DisplayPlotview1CursorState(device, f"{self._cmd_syntax}:STATE") + self._vbars = DisplayPlotview1CursorVbars(device, f"{self._cmd_syntax}:VBArs") + self._waveform = DisplayPlotview1CursorWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def rolocation(self) -> DisplayPlotview1CursorRolocation: + """Return the ``DISplay:PLOTView1:CURSor:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the specified plot cursor + readouts (in the plot graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:ROLOCATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:ROLOCATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:PLOTView1:CURSor:ROLOCATION? + ``` + + Info: + - ``1`` is the waveform plot number. + - ``GRATICULE`` sets the plot cursor readouts to display as part of the cursors in the + plot view. + - ``BADGE`` removes the plot cursor readouts from the cursors in the graticule and + displays the cursor information as a badge in the Results Bar. + """ + return self._rolocation + + @property + def asource(self) -> DisplayPlotview1CursorAsource: + """Return the ``DISplay:PLOTView1:CURSor:ASOUrce`` command. + + Description: + - This command queries the cursor source for plot cursor A. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:ASOUrce? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._asource + + @property + def bsource(self) -> DisplayPlotview1CursorBsource: + """Return the ``DISplay:PLOTView1:CURSor:BSOUrce`` command. + + Description: + - This command queries the cursor source for plot cursor B. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:BSOUrce? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._bsource + + @property + def ddt(self) -> DisplayPlotview1CursorDdt: + """Return the ``DISplay:PLOTView1:CURSor:DDT`` command. + + Description: + - This command returns the delta V over delta T cursor readout value for the specified + Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:DDT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:DDT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:DDT? + ``` + + Info: + - ``PlotView`` is the Plot waveform number. + """ + return self._ddt + + @property + def function(self) -> DisplayPlotview1CursorFunction: + """Return the ``DISplay:PLOTView1:CURSor:FUNCtion`` command. + + Description: + - This command sets or queries the cursor mode for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:FUNCtion {WAVEFORM|VBArs|HBArs|SCREEN} + - DISplay:PLOTView1:CURSor:FUNCtion? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``WAVEFORM`` specifies to display the paired cursors in YT display format for + measuring waveform amplitude and time. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``SCREEN`` specifies to display both horizontal and vertical bar cursors, which + measure the selected waveform in horizontal and vertical units. Use these cursors to + measure anywhere in the waveform display area. + """ + return self._function + + @property + def hbars(self) -> DisplayPlotview1CursorHbars: + """Return the ``DISplay:PLOTView1:CURSor:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:HBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:HBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:PLOTView1:CURSor:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:PLOTView1:CURSor:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:PLOTView1:CURSor:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:PLOTView1:CURSor:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:PLOTView1:CURSor:HBArs:DELTa`` command. + """ + return self._hbars + + @property + def mode(self) -> DisplayPlotview1CursorMode: + """Return the ``DISplay:PLOTView1:CURSor:MODe`` command. + + Description: + - This command sets or queries the cursor tracking mode for the specified Plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:PLOTView1:CURSor:MODe? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor + A adjustments, this ties the movement of the two cursors together; however, cursor B + continues to move independently of cursor A. + """ + return self._mode + + @property + def oneoverdeltatvalue(self) -> DisplayPlotview1CursorOneoverdeltatvalue: + """Return the ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE`` command. + + Description: + - This command sets or queries the one over delta T cursor readout value for the + specified Plot view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE? + ``` + + Info: + - ``1`` is the Plot waveform number. + """ + return self._oneoverdeltatvalue + + @property + def screen(self) -> DisplayPlotview1CursorScreen: + """Return the ``DISplay:PLOTView1:CURSor:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:SCREEN?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:SCREEN?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.axposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:PLOTView1:CURSor:SCREEN:BYPOSition`` command. + """ + return self._screen + + @property + def splitmode(self) -> DisplayPlotview1CursorSplitmode: + """Return the ``DISplay:PLOTView1:CURSor:SPLITMODE`` command. + + Description: + - This command sets or queries the cursor source mode in the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:SPLITMODE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SPLITMODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:SPLITMODE value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:SPLITMODE {SAME|SPLIT} + - DISplay:PLOTView1:CURSor:SPLITMODE? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``SAME`` specifies that both cursors are on the same waveform. + - ``SPLIT`` specifies that the cursors can be on different waveforms. + """ + return self._splitmode + + @property + def state(self) -> DisplayPlotview1CursorState: + """Return the ``DISplay:PLOTView1:CURSor:STATE`` command. + + Description: + - This command sets or queries the visible state of the cursor of the specified cursor + in the specified view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTView1:CURSor:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:CURSor:STATE {ON|OFF|} + - DISplay:PLOTView1:CURSor:STATE? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``OFF`` disables the specified cursor. + - ``ON`` enables the specified cursor. + - ```` = 0 disables the specified cursor; any other value enables the specified + cursor. + """ + return self._state + + @property + def vbars(self) -> DisplayPlotview1CursorVbars: + """Return the ``DISplay:PLOTView1:CURSor:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:VBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor:VBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:PLOTView1:CURSor:VBArs:APOSition`` command. + - ``.bposition``: The ``DISplay:PLOTView1:CURSor:VBArs:BPOSition`` command. + - ``.delta``: The ``DISplay:PLOTView1:CURSor:VBArs:DELTa`` command. + - ``.units``: The ``DISplay:PLOTView1:CURSor:VBArs:UNIts`` command. + """ + return self._vbars + + @property + def waveform(self) -> DisplayPlotview1CursorWaveform: + """Return the ``DISplay:PLOTView1:CURSor:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:PLOTView1:CURSor:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:PLOTView1:CURSor:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:PLOTView1:CURSor:WAVEform:BPOSition`` command. + """ + return self._waveform + + +class DisplayPlotview1Autoscale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTView1:AUTOScale`` command. + + Description: + - This command sets or queries the enabled state of autoscale for the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:AUTOScale?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:AUTOScale value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:AUTOScale {ON|OFF|} + - DISplay:PLOTView1:AUTOScale? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``OFF`` disables the autoscale feature. + - ``ON`` enables the autoscale feature. + - ```` = 0 disables the autoscale feature; any other value enables the autoscale + feature. + """ + + +class DisplayPlotview1(SCPICmdRead): + """The ``DISplay:PLOTView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cursor``: The ``DISplay:PLOTView1:CURSor`` command tree. + - ``.autoscale``: The ``DISplay:PLOTView1:AUTOScale`` command. + - ``.gridlines``: The ``DISplay:PLOTView1:GRIDlines`` command. + - ``.zoom``: The ``DISplay:PLOTView1:ZOOM`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoscale = DisplayPlotview1Autoscale(device, f"{self._cmd_syntax}:AUTOScale") + self._cursor = DisplayPlotview1Cursor(device, f"{self._cmd_syntax}:CURSor") + self._gridlines = DisplayPlotview1Gridlines(device, f"{self._cmd_syntax}:GRIDlines") + self._zoom = DisplayPlotview1Zoom(device, f"{self._cmd_syntax}:ZOOM") + + @property + def autoscale(self) -> DisplayPlotview1Autoscale: + """Return the ``DISplay:PLOTView1:AUTOScale`` command. + + Description: + - This command sets or queries the enabled state of autoscale for the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:AUTOScale?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:AUTOScale value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:AUTOScale {ON|OFF|} + - DISplay:PLOTView1:AUTOScale? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``OFF`` disables the autoscale feature. + - ``ON`` enables the autoscale feature. + - ```` = 0 disables the autoscale feature; any other value enables the autoscale + feature. + """ + return self._autoscale + + @property + def cursor(self) -> DisplayPlotview1Cursor: + """Return the ``DISplay:PLOTView1:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:CURSor?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rolocation``: The ``DISplay:PLOTView1:CURSor:ROLOCATION`` command. + - ``.asource``: The ``DISplay:PLOTView1:CURSor:ASOUrce`` command. + - ``.bsource``: The ``DISplay:PLOTView1:CURSor:BSOUrce`` command. + - ``.ddt``: The ``DISplay:PLOTView1:CURSor:DDT`` command. + - ``.function``: The ``DISplay:PLOTView1:CURSor:FUNCtion`` command. + - ``.hbars``: The ``DISplay:PLOTView1:CURSor:HBArs`` command tree. + - ``.mode``: The ``DISplay:PLOTView1:CURSor:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:PLOTView1:CURSor:ONEOVERDELTATVALUE`` command. + - ``.screen``: The ``DISplay:PLOTView1:CURSor:SCREEN`` command tree. + - ``.splitmode``: The ``DISplay:PLOTView1:CURSor:SPLITMODE`` command. + - ``.state``: The ``DISplay:PLOTView1:CURSor:STATE`` command. + - ``.vbars``: The ``DISplay:PLOTView1:CURSor:VBArs`` command tree. + - ``.waveform``: The ``DISplay:PLOTView1:CURSor:WAVEform`` command tree. + """ + return self._cursor + + @property + def gridlines(self) -> DisplayPlotview1Gridlines: + """Return the ``DISplay:PLOTView1:GRIDlines`` command. + + Description: + - This command sets or queries the Grid (graticule) lines setting of the specified plot. + This command works for plots that have vertical and horizontal units associated with + the graticule. For example, this command does not work for XY or XYZ plots. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:GRIDlines?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:GRIDlines?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTView1:GRIDlines value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTView1:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:PLOTView1:GRIDlines? + ``` + + Info: + - ``1`` is the Plot waveform number. + - ``HORizontal`` specifies horizontal grid lines. + - ``VERTical`` specifies vertical grid lines. + - ``BOTH`` specifies both vertical and horizontal grid lines. + """ + return self._gridlines + + @property + def zoom(self) -> DisplayPlotview1Zoom: + """Return the ``DISplay:PLOTView1:ZOOM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1:ZOOM?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.xaxis``: The ``DISplay:PLOTView1:ZOOM:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:PLOTView1:ZOOM:YAXIS`` command tree. + """ + return self._zoom + + +class DisplayPlotviewItemYaxisScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTVIEW:YAXIS:SCALE`` command. + + Description: + - This command sets or queries the vertical scale setting for applicable plots (Linear or + Log) in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:YAXIS:SCALE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:YAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTVIEW:YAXIS:SCALE value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTVIEW:YAXIS:SCALE {LINEAR|LOG} + - DISplay:PLOTVIEW:YAXIS:SCALE? + ``` + + Info: + - ``PLOTView`` is the Plot waveform number. + - ``LINEAR`` specifies a linear vertical scale. + - ``LOG`` specifies a logarithmic vertical scale. + """ + + +class DisplayPlotviewItemYaxis(SCPICmdRead): + """The ``DISplay:PLOTVIEW:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:YAXIS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.scale``: The ``DISplay:PLOTVIEW:YAXIS:SCALE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._scale = DisplayPlotviewItemYaxisScale(device, f"{self._cmd_syntax}:SCALE") + + @property + def scale(self) -> DisplayPlotviewItemYaxisScale: + """Return the ``DISplay:PLOTVIEW:YAXIS:SCALE`` command. + + Description: + - This command sets or queries the vertical scale setting for applicable plots (Linear + or Log) in the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:YAXIS:SCALE?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:YAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTVIEW:YAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTVIEW:YAXIS:SCALE {LINEAR|LOG} + - DISplay:PLOTVIEW:YAXIS:SCALE? + ``` + + Info: + - ``PLOTView`` is the Plot waveform number. + - ``LINEAR`` specifies a linear vertical scale. + - ``LOG`` specifies a logarithmic vertical scale. + """ + return self._scale + + +class DisplayPlotviewItemXaxisScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PLOTVIEW:XAXIS:SCALE`` command. + + Description: + - This command sets or queries the horizontal scale setting for applicable plots (Linear or + Log) for the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:XAXIS:SCALE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:XAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PLOTVIEW:XAXIS:SCALE value`` + command. + + SCPI Syntax: + ``` + - DISplay:PLOTVIEW:XAXIS:SCALE {LINEAR|LOG} + - DISplay:PLOTVIEW:XAXIS:SCALE? + ``` + + Info: + - ``PLOTView`` is the Plot waveform number. + - ``LINEAR`` creates a plot with linear scales. + - ``LOG`` creates a plot with logarithmic scales. + """ + + +class DisplayPlotviewItemXaxis(SCPICmdRead): + """The ``DISplay:PLOTVIEW:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:XAXIS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.scale``: The ``DISplay:PLOTVIEW:XAXIS:SCALE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._scale = DisplayPlotviewItemXaxisScale(device, f"{self._cmd_syntax}:SCALE") + + @property + def scale(self) -> DisplayPlotviewItemXaxisScale: + """Return the ``DISplay:PLOTVIEW:XAXIS:SCALE`` command. + + Description: + - This command sets or queries the horizontal scale setting for applicable plots (Linear + or Log) for the specified plot view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:XAXIS:SCALE?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:XAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:PLOTVIEW:XAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:PLOTVIEW:XAXIS:SCALE {LINEAR|LOG} + - DISplay:PLOTVIEW:XAXIS:SCALE? + ``` + + Info: + - ``PLOTView`` is the Plot waveform number. + - ``LINEAR`` creates a plot with linear scales. + - ``LOG`` creates a plot with logarithmic scales. + """ + return self._scale + + +class DisplayPlotviewItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:PLOTVIEW`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.xaxis``: The ``DISplay:PLOTVIEW:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:PLOTVIEW:YAXIS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._xaxis = DisplayPlotviewItemXaxis(device, f"{self._cmd_syntax}:XAXIS") + self._yaxis = DisplayPlotviewItemYaxis(device, f"{self._cmd_syntax}:YAXIS") + + @property + def xaxis(self) -> DisplayPlotviewItemXaxis: + """Return the ``DISplay:PLOTVIEW:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:XAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.scale``: The ``DISplay:PLOTVIEW:XAXIS:SCALE`` command. + """ + return self._xaxis + + @property + def yaxis(self) -> DisplayPlotviewItemYaxis: + """Return the ``DISplay:PLOTVIEW:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW:YAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.scale``: The ``DISplay:PLOTVIEW:YAXIS:SCALE`` command. + """ + return self._yaxis + + +class DisplayPersistenceReset(SCPICmdWriteNoArguments): + """The ``DISplay:PERSistence:RESET`` command. + + Description: + - This command controls the clearing of persistence data that has been built up over time. + Persistence is valid for wave views only. + + Usage: + - Using the ``.write()`` method will send the ``DISplay:PERSistence:RESET`` command. + + SCPI Syntax: + ``` + - DISplay:PERSistence:RESET + ``` + """ + + +class DisplayPersistence(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:PERSistence`` command. + + Description: + - This command sets or queries the display persistence for analog waveforms. Persistence is + valid for wave views only. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PERSistence?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PERSistence?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PERSistence value`` command. + + SCPI Syntax: + ``` + - DISplay:PERSistence {OFF|AUTO|INFPersist|INFInite|VARpersist|CLEAR} + - DISplay:PERSistence? + ``` + + Info: + - ``OFF`` disables the persistence aspect of the display. + - ``AUTO`` automatically set the persistence. + - ``INFPersist`` sets a display mode where any pixels, once touched by samples, remain set + until cleared by a mode change. + - ``INFInite`` sets a display mode where any pixels, once touched by samples, remain set + until cleared by a mode change. + - ``VARPersist`` sets a display mode where set pixels are gradually dimmed. + - ``CLEAR`` resets the persist time count down and clears the display of acquired points. + + Properties: + - ``.reset``: The ``DISplay:PERSistence:RESET`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reset = DisplayPersistenceReset(device, f"{self._cmd_syntax}:RESET") + + @property + def reset(self) -> DisplayPersistenceReset: + """Return the ``DISplay:PERSistence:RESET`` command. + + Description: + - This command controls the clearing of persistence data that has been built up over + time. Persistence is valid for wave views only. + + Usage: + - Using the ``.write()`` method will send the ``DISplay:PERSistence:RESET`` command. + + SCPI Syntax: + ``` + - DISplay:PERSistence:RESET + ``` + """ + return self._reset + + +class DisplayMathItemNormalcolor(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:Math:NORMALColor`` command. + + Description: + - This command sets or queries the normal mode color of the specified input source to the + specified color. You can assign one of 48 unique colors to any channel, math, or reference + waveform. These colors replace the default normal colors and remain in effect until you + reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:Math:NORMALColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:Math:NORMALColor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:Math:NORMALColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:Math:NORMALColor COLOR + - DISplay:Math:NORMALColor? + ``` + + Info: + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to 47. + """ + + +class DisplayMathItemInvertcolor(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:Math:INVERTColor`` command. + + Description: + - This command sets or queries the Inverted mode color of the specified input source to the + specified color. You can assign one of 48 unique colors to any channel, math, or reference + waveform. These colors replace the default Inverted colors and remain in effect until you + reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:Math:INVERTColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:Math:INVERTColor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:Math:INVERTColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:Math:INVERTColor COLOR + - DISplay:Math:INVERTColor? + ``` + + Info: + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to 47. + """ + + +class DisplayMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:Math`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:Math?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:Math?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.invertcolor``: The ``DISplay:Math:INVERTColor`` command. + - ``.normalcolor``: The ``DISplay:Math:NORMALColor`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._invertcolor = DisplayMathItemInvertcolor(device, f"{self._cmd_syntax}:INVERTColor") + self._normalcolor = DisplayMathItemNormalcolor(device, f"{self._cmd_syntax}:NORMALColor") + + @property + def invertcolor(self) -> DisplayMathItemInvertcolor: + """Return the ``DISplay:Math:INVERTColor`` command. + + Description: + - This command sets or queries the Inverted mode color of the specified input source to + the specified color. You can assign one of 48 unique colors to any channel, math, or + reference waveform. These colors replace the default Inverted colors and remain in + effect until you reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:Math:INVERTColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:Math:INVERTColor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:Math:INVERTColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:Math:INVERTColor COLOR + - DISplay:Math:INVERTColor? + ``` + + Info: + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to + 47. + """ + return self._invertcolor + + @property + def normalcolor(self) -> DisplayMathItemNormalcolor: + """Return the ``DISplay:Math:NORMALColor`` command. + + Description: + - This command sets or queries the normal mode color of the specified input source to + the specified color. You can assign one of 48 unique colors to any channel, math, or + reference waveform. These colors replace the default normal colors and remain in + effect until you reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:Math:NORMALColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:Math:NORMALColor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:Math:NORMALColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:Math:NORMALColor COLOR + - DISplay:Math:NORMALColor? + ``` + + Info: + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to + 47. + """ + return self._normalcolor + + +class DisplayMathfftview1ZoomYaxisTo(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO`` command. + + Description: + - This command sets or queries the top edge value of the zoom y-axis area for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:YAXIS:TO + - DISplay:MATHFFTView1:ZOOM:YAXIS:TO? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the top value of the zoom y axis in the specified plot view. + """ + + +class DisplayMathfftview1ZoomYaxisFrom(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM`` command. + + Description: + - This command sets or queries the bottom edge value of the zoom y-axis area for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:YAXIS:FROM + - DISplay:MATHFFTView1:ZOOM:YAXIS:FROM? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the bottom value of the zoom y axis in the specified plot view. + """ + + +class DisplayMathfftview1ZoomYaxis(SCPICmdRead): + """The ``DISplay:MATHFFTView1:ZOOM:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.from``: The ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM`` command. + - ``.to``: The ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = DisplayMathfftview1ZoomYaxisFrom(device, f"{self._cmd_syntax}:FROM") + self._to = DisplayMathfftview1ZoomYaxisTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> DisplayMathfftview1ZoomYaxisFrom: + """Return the ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM`` command. + + Description: + - This command sets or queries the bottom edge value of the zoom y-axis area for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:YAXIS:FROM + - DISplay:MATHFFTView1:ZOOM:YAXIS:FROM? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the bottom value of the zoom y axis in the specified plot view. + """ + return self._from + + @property + def to(self) -> DisplayMathfftview1ZoomYaxisTo: + """Return the ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO`` command. + + Description: + - This command sets or queries the top edge value of the zoom y-axis area for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:YAXIS:TO + - DISplay:MATHFFTView1:ZOOM:YAXIS:TO? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the top value of the zoom y axis in the specified plot view. + """ + return self._to + + +class DisplayMathfftview1ZoomXaxisTo(SCPICmdWrite): + """The ``DISplay:MATHFFTView1:ZOOM:XAXIS:TO`` command. + + Description: + - This command sets or queries the value of the right edge value of the zoom area for the + specified Math-FFT view. + + Usage: + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:XAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:XAXIS:TO + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the value of the right edge of the zoom x axis in the specified plot view. + """ + + +class DisplayMathfftview1ZoomXaxisFrom(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM`` command. + + Description: + - This command sets or queries the value of the left edge of the zoom area for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:XAXIS:FROM + - DISplay:MATHFFTView1:ZOOM:XAXIS:FROM? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the value of the left edge of the zoom x axis in the specified plot view. + """ + + +class DisplayMathfftview1ZoomXaxis(SCPICmdRead): + """The ``DISplay:MATHFFTView1:ZOOM:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM:XAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.from``: The ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM`` command. + - ``.to``: The ``DISplay:MATHFFTView1:ZOOM:XAXIS:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = DisplayMathfftview1ZoomXaxisFrom(device, f"{self._cmd_syntax}:FROM") + self._to = DisplayMathfftview1ZoomXaxisTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> DisplayMathfftview1ZoomXaxisFrom: + """Return the ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM`` command. + + Description: + - This command sets or queries the value of the left edge of the zoom area for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:XAXIS:FROM + - DISplay:MATHFFTView1:ZOOM:XAXIS:FROM? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the value of the left edge of the zoom x axis in the specified plot view. + """ + return self._from + + @property + def to(self) -> DisplayMathfftview1ZoomXaxisTo: + """Return the ``DISplay:MATHFFTView1:ZOOM:XAXIS:TO`` command. + + Description: + - This command sets or queries the value of the right edge value of the zoom area for + the specified Math-FFT view. + + Usage: + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:ZOOM:XAXIS:TO value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:ZOOM:XAXIS:TO + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the value of the right edge of the zoom x axis in the specified plot + view. + """ + return self._to + + +class DisplayMathfftview1Zoom(SCPICmdRead): + """The ``DISplay:MATHFFTView1:ZOOM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.xaxis``: The ``DISplay:MATHFFTView1:ZOOM:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:MATHFFTView1:ZOOM:YAXIS`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._xaxis = DisplayMathfftview1ZoomXaxis(device, f"{self._cmd_syntax}:XAXIS") + self._yaxis = DisplayMathfftview1ZoomYaxis(device, f"{self._cmd_syntax}:YAXIS") + + @property + def xaxis(self) -> DisplayMathfftview1ZoomXaxis: + """Return the ``DISplay:MATHFFTView1:ZOOM:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:XAXIS?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM:XAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.from``: The ``DISplay:MATHFFTView1:ZOOM:XAXIS:FROM`` command. + - ``.to``: The ``DISplay:MATHFFTView1:ZOOM:XAXIS:TO`` command. + """ + return self._xaxis + + @property + def yaxis(self) -> DisplayMathfftview1ZoomYaxis: + """Return the ``DISplay:MATHFFTView1:ZOOM:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM:YAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.from``: The ``DISplay:MATHFFTView1:ZOOM:YAXIS:FROM`` command. + - ``.to``: The ``DISplay:MATHFFTView1:ZOOM:YAXIS:TO`` command. + """ + return self._yaxis + + +class DisplayMathfftview1YaxisScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:YAXIS:SCALE`` command. + + Description: + - This command sets or queries the vertical scale setting (Linear or dBm) for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:YAXIS:SCALE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:YAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:YAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:YAXIS:SCALE {LINEAr|DBM} + - DISplay:MATHFFTView1:YAXIS:SCALE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``LINEAr`` specifies a linear scale. + - ``DBM`` specifies a dBm scale. + """ + + +class DisplayMathfftview1Yaxis(SCPICmdRead): + """The ``DISplay:MATHFFTView1:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:YAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.scale``: The ``DISplay:MATHFFTView1:YAXIS:SCALE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._scale = DisplayMathfftview1YaxisScale(device, f"{self._cmd_syntax}:SCALE") + + @property + def scale(self) -> DisplayMathfftview1YaxisScale: + """Return the ``DISplay:MATHFFTView1:YAXIS:SCALE`` command. + + Description: + - This command sets or queries the vertical scale setting (Linear or dBm) for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:YAXIS:SCALE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:YAXIS:SCALE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:YAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:YAXIS:SCALE {LINEAr|DBM} + - DISplay:MATHFFTView1:YAXIS:SCALE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``LINEAr`` specifies a linear scale. + - ``DBM`` specifies a dBm scale. + """ + return self._scale + + +class DisplayMathfftview1XaxisScale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:XAXIS:SCALE`` command. + + Description: + - This command sets or queries the x-axis scale (Linear or Log) for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:XAXIS:SCALE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:XAXIS:SCALE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:XAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:XAXIS:SCALE {LINEAr|LOG} + - DISplay:MATHFFTView1:XAXIS:SCALE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``LINEAr`` specifies a linear scale. + - ``LOG`` specifies a logarithmic scale. + """ + + +class DisplayMathfftview1Xaxis(SCPICmdRead): + """The ``DISplay:MATHFFTView1:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:XAXIS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.scale``: The ``DISplay:MATHFFTView1:XAXIS:SCALE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._scale = DisplayMathfftview1XaxisScale(device, f"{self._cmd_syntax}:SCALE") + + @property + def scale(self) -> DisplayMathfftview1XaxisScale: + """Return the ``DISplay:MATHFFTView1:XAXIS:SCALE`` command. + + Description: + - This command sets or queries the x-axis scale (Linear or Log) for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:XAXIS:SCALE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:XAXIS:SCALE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:XAXIS:SCALE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:XAXIS:SCALE {LINEAr|LOG} + - DISplay:MATHFFTView1:XAXIS:SCALE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``LINEAr`` specifies a linear scale. + - ``LOG`` specifies a logarithmic scale. + """ + return self._scale + + +class DisplayMathfftview1MathMathItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:MATH:MATH:STATE`` command. + + Description: + - This command sets or queries the display state of the specified math waveform for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:MATH:MATH:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:MATH:MATH:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:MATH:MATH:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:MATH:MATH:STATE {ON|OFF|} + - DISplay:MATHFFTView1:MATH:MATH:STATE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``OFF`` disables displaying the specified Math-FFT view. + - ``ON`` enables displaying the specified Math-FFT view. + - ```` = 0 disables the specified Math-FFT view; any other value enables the specified + Math-FFT view. + """ + + +class DisplayMathfftview1MathMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:MATHFFTView1:MATH:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:MATH:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:MATH:MATH?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:MATHFFTView1:MATH:MATH:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayMathfftview1MathMathItemState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayMathfftview1MathMathItemState: + """Return the ``DISplay:MATHFFTView1:MATH:MATH:STATE`` command. + + Description: + - This command sets or queries the display state of the specified math waveform for the + specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:MATH:MATH:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:MATH:MATH:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:MATH:MATH:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:MATH:MATH:STATE {ON|OFF|} + - DISplay:MATHFFTView1:MATH:MATH:STATE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``OFF`` disables displaying the specified Math-FFT view. + - ``ON`` enables displaying the specified Math-FFT view. + - ```` = 0 disables the specified Math-FFT view; any other value enables the + specified Math-FFT view. + """ + return self._state + + +class DisplayMathfftview1Math(SCPICmdRead): + """The ``DISplay:MATHFFTView1:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:MATH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.math``: The ``DISplay:MATHFFTView1:MATH:MATH`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._math: Dict[int, DisplayMathfftview1MathMathItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayMathfftview1MathMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) + + @property + def math(self) -> Dict[int, DisplayMathfftview1MathMathItem]: + """Return the ``DISplay:MATHFFTView1:MATH:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:MATH:MATH?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:MATH:MATH?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:MATHFFTView1:MATH:MATH:STATE`` command. + """ + return self._math + + +class DisplayMathfftview1Gridlines(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:GRIDlines`` command. + + Description: + - This command sets or queries the grid lines setting for the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:GRIDlines?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:GRIDlines?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:MATHFFTView1:GRIDlines value`` + command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:MATHFFTView1:GRIDlines? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``HORizontal`` specifies horizontal grid lines. + - ``VERTical`` specifies vertical grid lines. + - ``BOTH`` specifies both vertical and horizontal grid lines. + """ + + +class DisplayMathfftview1CursorWaveformBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the waveform cursor B position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition + - DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the waveform cursor B position in the specified plot view. + """ + + +class DisplayMathfftview1CursorWaveformAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the waveform cursor A position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:WAVEform:APOSition + - DISplay:MATHFFTView1:CURSor:WAVEform:APOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the waveform cursor A position in the specified plot view. + """ + + +class DisplayMathfftview1CursorWaveform(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayMathfftview1CursorWaveformAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._bposition = DisplayMathfftview1CursorWaveformBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + + @property + def aposition(self) -> DisplayMathfftview1CursorWaveformAposition: + """Return the ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition`` command. + + Description: + - This command sets or queries the waveform cursor A position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:WAVEform:APOSition + - DISplay:MATHFFTView1:CURSor:WAVEform:APOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the waveform cursor A position in the specified plot view. + """ + return self._aposition + + @property + def bposition(self) -> DisplayMathfftview1CursorWaveformBposition: + """Return the ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition`` command. + + Description: + - This command sets or queries the waveform cursor B position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition + - DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the waveform cursor B position in the specified plot view. + """ + return self._bposition + + +class DisplayMathfftview1CursorVbarsDelta(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa`` command. + + Description: + - This command queries the vertical cursor's delta T readout value for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:DELTa? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorVbarsBunits(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts`` command. + + Description: + - This command queries the vertical cursor B measurement units for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:BUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorVbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:BPOSition + - DISplay:MATHFFTView1:CURSor:VBArs:BPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` sets the vertical cursor B position in the specified view. + """ + + +class DisplayMathfftview1CursorVbarsAunits(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts`` command. + + Description: + - This command queries the vertical cursor A measurement units for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:AUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorVbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:APOSition + - DISplay:MATHFFTView1:CURSor:VBArs:APOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` sets the vertical cursor A position in the specified view. + """ + + +class DisplayMathfftview1CursorVbars(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:VBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:VBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayMathfftview1CursorVbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._aunits = DisplayMathfftview1CursorVbarsAunits(device, f"{self._cmd_syntax}:AUNIts") + self._bposition = DisplayMathfftview1CursorVbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bunits = DisplayMathfftview1CursorVbarsBunits(device, f"{self._cmd_syntax}:BUNIts") + self._delta = DisplayMathfftview1CursorVbarsDelta(device, f"{self._cmd_syntax}:DELTa") + + @property + def aposition(self) -> DisplayMathfftview1CursorVbarsAposition: + """Return the ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition`` command. + + Description: + - This command sets or queries the horizontal cursor A position for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:APOSition + - DISplay:MATHFFTView1:CURSor:VBArs:APOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` sets the vertical cursor A position in the specified view. + """ + return self._aposition + + @property + def aunits(self) -> DisplayMathfftview1CursorVbarsAunits: + """Return the ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts`` command. + + Description: + - This command queries the vertical cursor A measurement units for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:AUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._aunits + + @property + def bposition(self) -> DisplayMathfftview1CursorVbarsBposition: + """Return the ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition`` command. + + Description: + - This command sets or queries the vertical cursor B position for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:BPOSition + - DISplay:MATHFFTView1:CURSor:VBArs:BPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` sets the vertical cursor B position in the specified view. + """ + return self._bposition + + @property + def bunits(self) -> DisplayMathfftview1CursorVbarsBunits: + """Return the ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts`` command. + + Description: + - This command queries the vertical cursor B measurement units for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:BUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._bunits + + @property + def delta(self) -> DisplayMathfftview1CursorVbarsDelta: + """Return the ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa`` command. + + Description: + - This command queries the vertical cursor's delta T readout value for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:VBArs:DELTa? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._delta + + +class DisplayMathfftview1CursorState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:STATE`` command. + + Description: + - This command sets or queries the visible state of cursors for the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:STATE {ON|OFF|} + - DISplay:MATHFFTView1:CURSor:STATE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``ON`` enables the cursors. + - ``1`` enables the cursors. + - ``OFF`` disables the cursors. + - ``0`` disables the cursors. + - ```` = 0 turns off cursors; any other value displays cursors. + """ + + +class DisplayMathfftview1CursorScreenByposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition`` command. + + Description: + - This command sets or returns the vertical cursor B y-axis amplitude measurement value of + the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the vertical cursor B position of the specified cursor in the specified view. + """ + + +class DisplayMathfftview1CursorScreenBxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition`` command. + + Description: + - This command sets or returns the vertical cursor Bx-axis waveform time measurement + position of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the horizontal cursor B position of the specified cursor in the specified + view. + """ + + +class DisplayMathfftview1CursorScreenAyposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition`` command. + + Description: + - This command sets or returns the vertical cursor A y-axis amplitude measurement value of + the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the cursor A position of the specified cursor in the specified view. + """ + + +class DisplayMathfftview1CursorScreenAxposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition`` command. + + Description: + - This command sets or returns the vertical cursor A x-axis waveform measurement position of + the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the cursor position in MHz. + """ + + +class DisplayMathfftview1CursorScreen(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:SCREEN?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:SCREEN?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.axposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._axposition = DisplayMathfftview1CursorScreenAxposition( + device, f"{self._cmd_syntax}:AXPOSition" + ) + self._ayposition = DisplayMathfftview1CursorScreenAyposition( + device, f"{self._cmd_syntax}:AYPOSition" + ) + self._bxposition = DisplayMathfftview1CursorScreenBxposition( + device, f"{self._cmd_syntax}:BXPOSition" + ) + self._byposition = DisplayMathfftview1CursorScreenByposition( + device, f"{self._cmd_syntax}:BYPOSition" + ) + + @property + def axposition(self) -> DisplayMathfftview1CursorScreenAxposition: + """Return the ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition`` command. + + Description: + - This command sets or returns the vertical cursor A x-axis waveform measurement + position of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the cursor position in MHz. + """ + return self._axposition + + @property + def ayposition(self) -> DisplayMathfftview1CursorScreenAyposition: + """Return the ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition`` command. + + Description: + - This command sets or returns the vertical cursor A y-axis amplitude measurement value + of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the cursor A position of the specified cursor in the specified view. + """ + return self._ayposition + + @property + def bxposition(self) -> DisplayMathfftview1CursorScreenBxposition: + """Return the ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition`` command. + + Description: + - This command sets or returns the vertical cursor Bx-axis waveform time measurement + position of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the horizontal cursor B position of the specified cursor in the specified + view. + """ + return self._bxposition + + @property + def byposition(self) -> DisplayMathfftview1CursorScreenByposition: + """Return the ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition`` command. + + Description: + - This command sets or returns the vertical cursor B y-axis amplitude measurement value + of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition + - DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the vertical cursor B position of the specified cursor in the specified + view. + """ + return self._byposition + + +class DisplayMathfftview1CursorRolocation(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the specified Math FFT plot cursor + readouts (in the plot graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:ROLOCATION?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ROLOCATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:MATHFFTView1:CURSor:ROLOCATION? + ``` + + Info: + - ``1`` is the Math FFT plot number. + - ``GRATICULE`` sets the Math FFT plot cursor readouts to display as part of the cursors in + the plot view. + - ``BADGE`` removes the Math FFT plot cursor readouts from the cursors in the graticule and + displays the cursor information as a badge in the Results Bar. + """ + + +class DisplayMathfftview1CursorOneoverdeltatvalue(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE`` command. + + Description: + - This command queries the one over delta cursor readout value of the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorMode(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:MODe`` command. + + Description: + - This command sets or queries the cursor tracking mode of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:MODe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:MATHFFTView1:CURSor:MODe? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor 1 + adjustments, this ties the movement of the two cursors together; however, cursor 2 + continues to move independently of cursor 1. + """ + + +class DisplayMathfftview1CursorHbarsDelta(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa`` command. + + Description: + - This command queries the horizontal cursor's delta value of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:DELTa? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorHbarsBunits(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts`` command. + + Description: + - This command queries the vertical units of horizontal cursor B for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:BUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorHbarsBposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition`` command. + + Description: + - This command sets or returns the position of horizontal cursor B for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:BPOSition + - DISplay:MATHFFTView1:CURSor:HBArs:BPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the vertical cursor B position for the specified Math-FFT view. + """ + + +class DisplayMathfftview1CursorHbarsAunits(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts`` command. + + Description: + - This command queries the vertical units of horizontal cursor A for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:AUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorHbarsAposition(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition`` command. + + Description: + - This command sets or returns the position of horizontal cursor A for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:APOSition + - DISplay:MATHFFTView1:CURSor:HBArs:APOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the cursor position of the specified cursor in the specified view. + """ + + +class DisplayMathfftview1CursorHbars(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:HBArs?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:HBArs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.aposition``: The ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._aposition = DisplayMathfftview1CursorHbarsAposition( + device, f"{self._cmd_syntax}:APOSition" + ) + self._aunits = DisplayMathfftview1CursorHbarsAunits(device, f"{self._cmd_syntax}:AUNIts") + self._bposition = DisplayMathfftview1CursorHbarsBposition( + device, f"{self._cmd_syntax}:BPOSition" + ) + self._bunits = DisplayMathfftview1CursorHbarsBunits(device, f"{self._cmd_syntax}:BUNIts") + self._delta = DisplayMathfftview1CursorHbarsDelta(device, f"{self._cmd_syntax}:DELTa") + + @property + def aposition(self) -> DisplayMathfftview1CursorHbarsAposition: + """Return the ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition`` command. + + Description: + - This command sets or returns the position of horizontal cursor A for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:APOSition + - DISplay:MATHFFTView1:CURSor:HBArs:APOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the cursor position of the specified cursor in the specified view. + """ + return self._aposition + + @property + def aunits(self) -> DisplayMathfftview1CursorHbarsAunits: + """Return the ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts`` command. + + Description: + - This command queries the vertical units of horizontal cursor A for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:AUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._aunits + + @property + def bposition(self) -> DisplayMathfftview1CursorHbarsBposition: + """Return the ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition`` command. + + Description: + - This command sets or returns the position of horizontal cursor B for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:BPOSition + - DISplay:MATHFFTView1:CURSor:HBArs:BPOSition? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ```` is the vertical cursor B position for the specified Math-FFT view. + """ + return self._bposition + + @property + def bunits(self) -> DisplayMathfftview1CursorHbarsBunits: + """Return the ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts`` command. + + Description: + - This command queries the vertical units of horizontal cursor B for the specified + Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:BUNIts? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._bunits + + @property + def delta(self) -> DisplayMathfftview1CursorHbarsDelta: + """Return the ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa`` command. + + Description: + - This command queries the horizontal cursor's delta value of the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:HBArs:DELTa? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._delta + + +class DisplayMathfftview1CursorFunction(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:FUNCtion`` command. + + Description: + - This command sets or queries the cursor type for the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:FUNCtion {WAVEform|VBArs|HBArs|SCREEN} + - DISplay:MATHFFTView1:CURSor:FUNCtion? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``WAVEFORM`` specifies to display the paired vertical cursors in YT display format for + measuring waveform amplitude and time. Measurements are taken at where the cursor + intersects the waveform, and tracks waveform changes. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``SCREEN`` specifies to display both horizontal and vertical bar cursors, which display + the horizontal and vertical positions of the cursors, not waveform levels. Use these + cursors to measure anywhere in the waveform display area. + """ + + +class DisplayMathfftview1CursorDdt(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:DDT`` command. + + Description: + - This command queries the delta Y over delta X (ΔY/Δ X) cursor readout value of the + specified cursor in the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:DDT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:DDT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:DDT? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorBsource(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:BSOUrce`` command. + + Description: + - This command queries the Math-FFT waveform view source for cursor B. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:BSOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:BSOUrce? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +class DisplayMathfftview1CursorAsource(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor:ASOUrce`` command. + + Description: + - This command queries the Math-FFT waveform view source for cursor A. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:ASOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:ASOUrce? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + + +# pylint: disable=too-many-instance-attributes +class DisplayMathfftview1Cursor(SCPICmdRead): + """The ``DISplay:MATHFFTView1:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rolocation``: The ``DISplay:MATHFFTView1:CURSor:ROLOCATION`` command. + - ``.asource``: The ``DISplay:MATHFFTView1:CURSor:ASOUrce`` command. + - ``.bsource``: The ``DISplay:MATHFFTView1:CURSor:BSOUrce`` command. + - ``.ddt``: The ``DISplay:MATHFFTView1:CURSor:DDT`` command. + - ``.function``: The ``DISplay:MATHFFTView1:CURSor:FUNCtion`` command. + - ``.hbars``: The ``DISplay:MATHFFTView1:CURSor:HBArs`` command tree. + - ``.mode``: The ``DISplay:MATHFFTView1:CURSor:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE`` command. + - ``.screen``: The ``DISplay:MATHFFTView1:CURSor:SCREEN`` command tree. + - ``.state``: The ``DISplay:MATHFFTView1:CURSor:STATE`` command. + - ``.vbars``: The ``DISplay:MATHFFTView1:CURSor:VBArs`` command tree. + - ``.waveform``: The ``DISplay:MATHFFTView1:CURSor:WAVEform`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rolocation = DisplayMathfftview1CursorRolocation( + device, f"{self._cmd_syntax}:ROLOCATION" + ) + self._asource = DisplayMathfftview1CursorAsource(device, f"{self._cmd_syntax}:ASOUrce") + self._bsource = DisplayMathfftview1CursorBsource(device, f"{self._cmd_syntax}:BSOUrce") + self._ddt = DisplayMathfftview1CursorDdt(device, f"{self._cmd_syntax}:DDT") + self._function = DisplayMathfftview1CursorFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._hbars = DisplayMathfftview1CursorHbars(device, f"{self._cmd_syntax}:HBArs") + self._mode = DisplayMathfftview1CursorMode(device, f"{self._cmd_syntax}:MODe") + self._oneoverdeltatvalue = DisplayMathfftview1CursorOneoverdeltatvalue( + device, f"{self._cmd_syntax}:ONEOVERDELTATVALUE" + ) + self._screen = DisplayMathfftview1CursorScreen(device, f"{self._cmd_syntax}:SCREEN") + self._state = DisplayMathfftview1CursorState(device, f"{self._cmd_syntax}:STATE") + self._vbars = DisplayMathfftview1CursorVbars(device, f"{self._cmd_syntax}:VBArs") + self._waveform = DisplayMathfftview1CursorWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def rolocation(self) -> DisplayMathfftview1CursorRolocation: + """Return the ``DISplay:MATHFFTView1:CURSor:ROLOCATION`` command. + + Description: + - This command sets or queries the location to display the specified Math FFT plot + cursor readouts (in the plot graticule or in a badge in the Results Bar). + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:ROLOCATION?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ROLOCATION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ROLOCATION value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:ROLOCATION {GRATICULE|BADGE} + - DISplay:MATHFFTView1:CURSor:ROLOCATION? + ``` + + Info: + - ``1`` is the Math FFT plot number. + - ``GRATICULE`` sets the Math FFT plot cursor readouts to display as part of the cursors + in the plot view. + - ``BADGE`` removes the Math FFT plot cursor readouts from the cursors in the graticule + and displays the cursor information as a badge in the Results Bar. + """ + return self._rolocation + + @property + def asource(self) -> DisplayMathfftview1CursorAsource: + """Return the ``DISplay:MATHFFTView1:CURSor:ASOUrce`` command. + + Description: + - This command queries the Math-FFT waveform view source for cursor A. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:ASOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ASOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:ASOUrce? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._asource + + @property + def bsource(self) -> DisplayMathfftview1CursorBsource: + """Return the ``DISplay:MATHFFTView1:CURSor:BSOUrce`` command. + + Description: + - This command queries the Math-FFT waveform view source for cursor B. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:BSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:BSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:BSOUrce? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._bsource + + @property + def ddt(self) -> DisplayMathfftview1CursorDdt: + """Return the ``DISplay:MATHFFTView1:CURSor:DDT`` command. + + Description: + - This command queries the delta Y over delta X (ΔY/Δ X) cursor readout value of the + specified cursor in the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:DDT?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor:DDT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:DDT? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._ddt + + @property + def function(self) -> DisplayMathfftview1CursorFunction: + """Return the ``DISplay:MATHFFTView1:CURSor:FUNCtion`` command. + + Description: + - This command sets or queries the cursor type for the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:FUNCtion value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:FUNCtion {WAVEform|VBArs|HBArs|SCREEN} + - DISplay:MATHFFTView1:CURSor:FUNCtion? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``WAVEFORM`` specifies to display the paired vertical cursors in YT display format for + measuring waveform amplitude and time. Measurements are taken at where the cursor + intersects the waveform, and tracks waveform changes. + - ``VBArs`` specifies vertical bar cursors, which measure in horizontal units. + - ``HBArs`` specifies horizontal bar cursors, which measure in vertical units. + - ``SCREEN`` specifies to display both horizontal and vertical bar cursors, which + display the horizontal and vertical positions of the cursors, not waveform levels. Use + these cursors to measure anywhere in the waveform display area. + """ + return self._function + + @property + def hbars(self) -> DisplayMathfftview1CursorHbars: + """Return the ``DISplay:MATHFFTView1:CURSor:HBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:HBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:HBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:MATHFFTView1:CURSor:HBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:MATHFFTView1:CURSor:HBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:MATHFFTView1:CURSor:HBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:MATHFFTView1:CURSor:HBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:MATHFFTView1:CURSor:HBArs:DELTa`` command. + """ + return self._hbars + + @property + def mode(self) -> DisplayMathfftview1CursorMode: + """Return the ``DISplay:MATHFFTView1:CURSor:MODe`` command. + + Description: + - This command sets or queries the cursor tracking mode of the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:MODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:MODe value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:MODe {INDEPENDENT|TRACK} + - DISplay:MATHFFTView1:CURSor:MODe? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``INDEPENDENT`` allows independent adjustment of the two cursors. + - ``TRACK`` ties the navigational functionality of the two cursors together. For cursor + 1 adjustments, this ties the movement of the two cursors together; however, cursor 2 + continues to move independently of cursor 1. + """ + return self._mode + + @property + def oneoverdeltatvalue(self) -> DisplayMathfftview1CursorOneoverdeltatvalue: + """Return the ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE`` command. + + Description: + - This command queries the one over delta cursor readout value of the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + """ + return self._oneoverdeltatvalue + + @property + def screen(self) -> DisplayMathfftview1CursorScreen: + """Return the ``DISplay:MATHFFTView1:CURSor:SCREEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:SCREEN?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:SCREEN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.axposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:AXPOSition`` command. + - ``.ayposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:AYPOSition`` command. + - ``.bxposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:BXPOSition`` command. + - ``.byposition``: The ``DISplay:MATHFFTView1:CURSor:SCREEN:BYPOSition`` command. + """ + return self._screen + + @property + def state(self) -> DisplayMathfftview1CursorState: + """Return the ``DISplay:MATHFFTView1:CURSor:STATE`` command. + + Description: + - This command sets or queries the visible state of cursors for the specified Math-FFT + view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:CURSor:STATE {ON|OFF|} + - DISplay:MATHFFTView1:CURSor:STATE? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``ON`` enables the cursors. + - ``1`` enables the cursors. + - ``OFF`` disables the cursors. + - ``0`` disables the cursors. + - ```` = 0 turns off cursors; any other value displays cursors. + """ + return self._state + + @property + def vbars(self) -> DisplayMathfftview1CursorVbars: + """Return the ``DISplay:MATHFFTView1:CURSor:VBArs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:VBArs?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:VBArs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:MATHFFTView1:CURSor:VBArs:APOSition`` command. + - ``.aunits``: The ``DISplay:MATHFFTView1:CURSor:VBArs:AUNIts`` command. + - ``.bposition``: The ``DISplay:MATHFFTView1:CURSor:VBArs:BPOSition`` command. + - ``.bunits``: The ``DISplay:MATHFFTView1:CURSor:VBArs:BUNIts`` command. + - ``.delta``: The ``DISplay:MATHFFTView1:CURSor:VBArs:DELTa`` command. + """ + return self._vbars + + @property + def waveform(self) -> DisplayMathfftview1CursorWaveform: + """Return the ``DISplay:MATHFFTView1:CURSor:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor:WAVEform?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:MATHFFTView1:CURSor:WAVEform?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.aposition``: The ``DISplay:MATHFFTView1:CURSor:WAVEform:APOSition`` command. + - ``.bposition``: The ``DISplay:MATHFFTView1:CURSor:WAVEform:BPOSition`` command. + """ + return self._waveform + + +class DisplayMathfftview1Autoscale(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:MATHFFTView1:AUTOScale`` command. + + Description: + - This command sets or returns the enabled state of autoscale for Math/FFT waveforms. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:AUTOScale?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:MATHFFTView1:AUTOScale value`` + command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:AUTOScale {ON|OFF|} + - DISplay:MATHFFTView1:AUTOScale? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``OFF`` disables the autoscale feature. + - ``ON`` enables the autoscale feature. + - ```` = 0 disables the autoscale feature; any other value enables the autoscale + feature. + """ + + +class DisplayMathfftview1(SCPICmdRead): + """The ``DISplay:MATHFFTView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cursor``: The ``DISplay:MATHFFTView1:CURSor`` command tree. + - ``.autoscale``: The ``DISplay:MATHFFTView1:AUTOScale`` command. + - ``.gridlines``: The ``DISplay:MATHFFTView1:GRIDlines`` command. + - ``.math``: The ``DISplay:MATHFFTView1:MATH`` command tree. + - ``.xaxis``: The ``DISplay:MATHFFTView1:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:MATHFFTView1:YAXIS`` command tree. + - ``.zoom``: The ``DISplay:MATHFFTView1:ZOOM`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoscale = DisplayMathfftview1Autoscale(device, f"{self._cmd_syntax}:AUTOScale") + self._cursor = DisplayMathfftview1Cursor(device, f"{self._cmd_syntax}:CURSor") + self._gridlines = DisplayMathfftview1Gridlines(device, f"{self._cmd_syntax}:GRIDlines") + self._math = DisplayMathfftview1Math(device, f"{self._cmd_syntax}:MATH") + self._xaxis = DisplayMathfftview1Xaxis(device, f"{self._cmd_syntax}:XAXIS") + self._yaxis = DisplayMathfftview1Yaxis(device, f"{self._cmd_syntax}:YAXIS") + self._zoom = DisplayMathfftview1Zoom(device, f"{self._cmd_syntax}:ZOOM") + + @property + def autoscale(self) -> DisplayMathfftview1Autoscale: + """Return the ``DISplay:MATHFFTView1:AUTOScale`` command. + + Description: + - This command sets or returns the enabled state of autoscale for Math/FFT waveforms. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:AUTOScale?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:AUTOScale?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:AUTOScale value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:AUTOScale {ON|OFF|} + - DISplay:MATHFFTView1:AUTOScale? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``OFF`` disables the autoscale feature. + - ``ON`` enables the autoscale feature. + - ```` = 0 disables the autoscale feature; any other value enables the autoscale + feature. + """ + return self._autoscale + + @property + def cursor(self) -> DisplayMathfftview1Cursor: + """Return the ``DISplay:MATHFFTView1:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:CURSor?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rolocation``: The ``DISplay:MATHFFTView1:CURSor:ROLOCATION`` command. + - ``.asource``: The ``DISplay:MATHFFTView1:CURSor:ASOUrce`` command. + - ``.bsource``: The ``DISplay:MATHFFTView1:CURSor:BSOUrce`` command. + - ``.ddt``: The ``DISplay:MATHFFTView1:CURSor:DDT`` command. + - ``.function``: The ``DISplay:MATHFFTView1:CURSor:FUNCtion`` command. + - ``.hbars``: The ``DISplay:MATHFFTView1:CURSor:HBArs`` command tree. + - ``.mode``: The ``DISplay:MATHFFTView1:CURSor:MODe`` command. + - ``.oneoverdeltatvalue``: The ``DISplay:MATHFFTView1:CURSor:ONEOVERDELTATVALUE`` + command. + - ``.screen``: The ``DISplay:MATHFFTView1:CURSor:SCREEN`` command tree. + - ``.state``: The ``DISplay:MATHFFTView1:CURSor:STATE`` command. + - ``.vbars``: The ``DISplay:MATHFFTView1:CURSor:VBArs`` command tree. + - ``.waveform``: The ``DISplay:MATHFFTView1:CURSor:WAVEform`` command tree. + """ + return self._cursor + + @property + def gridlines(self) -> DisplayMathfftview1Gridlines: + """Return the ``DISplay:MATHFFTView1:GRIDlines`` command. + + Description: + - This command sets or queries the grid lines setting for the specified Math-FFT view. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:GRIDlines?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:GRIDlines?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:MATHFFTView1:GRIDlines value`` command. + + SCPI Syntax: + ``` + - DISplay:MATHFFTView1:GRIDlines {HORizontal|VERTical|BOTH} + - DISplay:MATHFFTView1:GRIDlines? + ``` + + Info: + - ``1`` is the Math-FFT waveform number. + - ``HORizontal`` specifies horizontal grid lines. + - ``VERTical`` specifies vertical grid lines. + - ``BOTH`` specifies both vertical and horizontal grid lines. + """ + return self._gridlines + + @property + def math(self) -> DisplayMathfftview1Math: + """Return the ``DISplay:MATHFFTView1:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:MATH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.math``: The ``DISplay:MATHFFTView1:MATH:MATH`` command tree. + """ + return self._math + + @property + def xaxis(self) -> DisplayMathfftview1Xaxis: + """Return the ``DISplay:MATHFFTView1:XAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:XAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:XAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.scale``: The ``DISplay:MATHFFTView1:XAXIS:SCALE`` command. + """ + return self._xaxis + + @property + def yaxis(self) -> DisplayMathfftview1Yaxis: + """Return the ``DISplay:MATHFFTView1:YAXIS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:YAXIS?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:YAXIS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.scale``: The ``DISplay:MATHFFTView1:YAXIS:SCALE`` command. + """ + return self._yaxis + + @property + def zoom(self) -> DisplayMathfftview1Zoom: + """Return the ``DISplay:MATHFFTView1:ZOOM`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1:ZOOM?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1:ZOOM?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.xaxis``: The ``DISplay:MATHFFTView1:ZOOM:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:MATHFFTView1:ZOOM:YAXIS`` command tree. + """ + return self._zoom + + +class DisplayIntensityBacklightAutodimTime(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe`` command. + + Description: + - Sets or queries the amount of time, in minutes, to wait for no user interface activity + before automatically dimming the display. The time can range from a minimum of 10 minutes + to a maximum of 1440 minutes (24 hours). The default is 10 minutes. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe value`` command. + + SCPI Syntax: + ``` + - DISplay:INTENSITy:BACKLight:AUTODim:TIMe + - DISplay:INTENSITy:BACKLight:AUTODim:TIMe? + ``` + + Info: + - ```` is the amount of time, in minutes, to wait for no user interface activity before + automatically dimming the display. + """ + + +class DisplayIntensityBacklightAutodimEnable(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble`` command. + + Description: + - Sets or queries the state of the display auto-dim feature. The default is enabled. Once + the backlight has dimmed, any button push, knob turn or mouse movement returns the + backlight value to the value set by ``:DISplay:INTENSITy:BACKLight``. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble value`` command. + + SCPI Syntax: + ``` + - DISplay:INTENSITy:BACKLight:AUTODim:ENAble {ON|OFF} + - DISplay:INTENSITy:BACKLight:AUTODim:ENAble? + ``` + + Info: + - ``ON`` enables the display auto-dim feature. + - ``OFF`` disables the display auto-dim feature. + """ + + +class DisplayIntensityBacklightAutodim(SCPICmdRead): + """The ``DISplay:INTENSITy:BACKLight:AUTODim`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy:BACKLight:AUTODim?`` + query. + - Using the ``.verify(value)`` method will send the ``DISplay:INTENSITy:BACKLight:AUTODim?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.enable``: The ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble`` command. + - ``.time``: The ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._enable = DisplayIntensityBacklightAutodimEnable(device, f"{self._cmd_syntax}:ENAble") + self._time = DisplayIntensityBacklightAutodimTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def enable(self) -> DisplayIntensityBacklightAutodimEnable: + """Return the ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble`` command. + + Description: + - Sets or queries the state of the display auto-dim feature. The default is enabled. + Once the backlight has dimmed, any button push, knob turn or mouse movement returns + the backlight value to the value set by ``:DISplay:INTENSITy:BACKLight``. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble value`` command. + + SCPI Syntax: + ``` + - DISplay:INTENSITy:BACKLight:AUTODim:ENAble {ON|OFF} + - DISplay:INTENSITy:BACKLight:AUTODim:ENAble? + ``` + + Info: + - ``ON`` enables the display auto-dim feature. + - ``OFF`` disables the display auto-dim feature. + """ + return self._enable + + @property + def time(self) -> DisplayIntensityBacklightAutodimTime: + """Return the ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe`` command. + + Description: + - Sets or queries the amount of time, in minutes, to wait for no user interface activity + before automatically dimming the display. The time can range from a minimum of 10 + minutes to a maximum of 1440 minutes (24 hours). The default is 10 minutes. + + Usage: + - Using the ``.query()`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe?`` query. + - Using the ``.verify(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe value`` command. + + SCPI Syntax: + ``` + - DISplay:INTENSITy:BACKLight:AUTODim:TIMe + - DISplay:INTENSITy:BACKLight:AUTODim:TIMe? + ``` + + Info: + - ```` is the amount of time, in minutes, to wait for no user interface activity + before automatically dimming the display. + """ + return self._time + + +class DisplayIntensityBacklight(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:INTENSITy:BACKLight`` command. + + Description: + - This command sets or queries the display backlight intensity setting. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy:BACKLight?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:INTENSITy:BACKLight?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:INTENSITy:BACKLight value`` + command. + + SCPI Syntax: + ``` + - DISplay:INTENSITy:BACKLight {LOW|MEDium|HIGH} + - DISplay:INTENSITy:BACKLight? + ``` + + Info: + - ``LOW`` selects a low brightness level. + - ``MEDium`` selects a moderate brightness level. + - ``HIGH`` selects a full brightness level. + + Properties: + - ``.autodim``: The ``DISplay:INTENSITy:BACKLight:AUTODim`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autodim = DisplayIntensityBacklightAutodim(device, f"{self._cmd_syntax}:AUTODim") + + @property + def autodim(self) -> DisplayIntensityBacklightAutodim: + """Return the ``DISplay:INTENSITy:BACKLight:AUTODim`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy:BACKLight:AUTODim?`` + query. + - Using the ``.verify(value)`` method will send the + ``DISplay:INTENSITy:BACKLight:AUTODim?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.enable``: The ``DISplay:INTENSITy:BACKLight:AUTODim:ENAble`` command. + - ``.time``: The ``DISplay:INTENSITy:BACKLight:AUTODim:TIMe`` command. + """ + return self._autodim + + +class DisplayIntensity(SCPICmdRead): + """The ``DISplay:INTENSITy`` command. + + Description: + - This query-only command returns the waveform saturation level and screen saver settings. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:INTENSITy?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:INTENSITy? + ``` + + Properties: + - ``.backlight``: The ``DISplay:INTENSITy:BACKLight`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._backlight = DisplayIntensityBacklight(device, f"{self._cmd_syntax}:BACKLight") + + @property + def backlight(self) -> DisplayIntensityBacklight: + """Return the ``DISplay:INTENSITy:BACKLight`` command. + + Description: + - This command sets or queries the display backlight intensity setting. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy:BACKLight?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:INTENSITy:BACKLight?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:INTENSITy:BACKLight value`` + command. + + SCPI Syntax: + ``` + - DISplay:INTENSITy:BACKLight {LOW|MEDium|HIGH} + - DISplay:INTENSITy:BACKLight? + ``` + + Info: + - ``LOW`` selects a low brightness level. + - ``MEDium`` selects a moderate brightness level. + - ``HIGH`` selects a full brightness level. + + Sub-properties: + - ``.autodim``: The ``DISplay:INTENSITy:BACKLight:AUTODim`` command tree. + """ + return self._backlight + + +class DisplayGlobalRefItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:GLObal:REF:STATE`` command. + + Description: + - this command sets or queries the global state (display mode On or Off) of the specified + reference waveform. Setting this value true (On or NR1 ≠ 0 ) turns on the source in the + waveform view. Setting this value false (Off or NR1 = 0 ) turns off the source in the + waveform view. This command only works if the specified reference waveform is added + already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:REF:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:REF:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:REF:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:REF:STATE {ON|OFF|} + - DISplay:GLObal:REF:STATE? + ``` + + Info: + - ``REF`` is the Reference waveform number. + - ```` = 0 disables the display of the specified reference; any other value enables + display of the reference. + - ``ON`` enables display of the specified reference. + - ``OFF`` disables display of the specified reference. + """ + + +class DisplayGlobalRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:GLObal:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REF`` is the Reference waveform number. + + Properties: + - ``.state``: The ``DISplay:GLObal:REF:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayGlobalRefItemState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayGlobalRefItemState: + """Return the ``DISplay:GLObal:REF:STATE`` command. + + Description: + - this command sets or queries the global state (display mode On or Off) of the + specified reference waveform. Setting this value true (On or NR1 ≠ 0 ) turns on the + source in the waveform view. Setting this value false (Off or NR1 = 0 ) turns off the + source in the waveform view. This command only works if the specified reference + waveform is added already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:REF:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:REF:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:REF:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:REF:STATE {ON|OFF|} + - DISplay:GLObal:REF:STATE? + ``` + + Info: + - ``REF`` is the Reference waveform number. + - ```` = 0 disables the display of the specified reference; any other value enables + display of the reference. + - ``ON`` enables display of the specified reference. + - ``OFF`` disables display of the specified reference. + """ + return self._state + + +class DisplayGlobalPlotItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:GLObal:PLOT:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the specified + time trend plot. Setting this value true (On or NR1 ≠ 0 ) turns on the source in the + waveform view. Setting this value false (Off or NR1 = 0 ) turns off the source in the + waveform view. This command only works if the specified plot is added already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:PLOT:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:PLOT:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:PLOT:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:PLOT:STATE {ON|OFF|} + - DISplay:GLObal:PLOT:STATE? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` = 0 disables the display of the specified plot; any other value enables display + of the plot. + - ``ON`` enables display of the specified plot. + - ``OFF`` disables display of the specified plot. + """ + + +class DisplayGlobalPlotItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:GLObal:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:PLOT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Properties: + - ``.state``: The ``DISplay:GLObal:PLOT:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayGlobalPlotItemState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayGlobalPlotItemState: + """Return the ``DISplay:GLObal:PLOT:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the + specified time trend plot. Setting this value true (On or NR1 ≠ 0 ) turns on the + source in the waveform view. Setting this value false (Off or NR1 = 0 ) turns off the + source in the waveform view. This command only works if the specified plot is added + already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:PLOT:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:PLOT:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:GLObal:PLOT:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:GLObal:PLOT:STATE {ON|OFF|} + - DISplay:GLObal:PLOT:STATE? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` = 0 disables the display of the specified plot; any other value enables + display of the plot. + - ``ON`` enables display of the specified plot. + - ``OFF`` disables display of the specified plot. + """ + return self._state + + +class DisplayGlobalMathItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:GLObal:MATH:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the specified + math. Setting this value true (On or NR1 ≠ 0 ) turns on the source in the waveform view. + Setting this value false (Off or NR1 = 0 ) turns off the source in the waveform view. This + command only works if the specified math waveform is added already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:MATH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:MATH:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:MATH:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:MATH:STATE {ON|OFF|} + - DISplay:GLObal:MATH:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified math; any other value enables display + of the math. + - ``ON`` enables display of the specified math. + - ``OFF`` disables display of the specified math. + """ + + +class DisplayGlobalMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:GLObal:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:MATH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:GLObal:MATH:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayGlobalMathItemState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayGlobalMathItemState: + """Return the ``DISplay:GLObal:MATH:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the + specified math. Setting this value true (On or NR1 ≠ 0 ) turns on the source in the + waveform view. Setting this value false (Off or NR1 = 0 ) turns off the source in the + waveform view. This command only works if the specified math waveform is added + already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:MATH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:MATH:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``DISplay:GLObal:MATH:STATE value`` command. + + SCPI Syntax: + ``` + - DISplay:GLObal:MATH:STATE {ON|OFF|} + - DISplay:GLObal:MATH:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified math; any other value enables + display of the math. + - ``ON`` enables display of the specified math. + - ``OFF`` disables display of the specified math. + """ + return self._state + + +class DisplayGlobalChannelState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:GLObal:CH:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the specified + channel (both analog and digital). Setting this value true (On or NR1 ≠ 0 ) turns on the + source in the waveform view. Setting this value false (Off or NR1 = 0 ) turns off the + source in the waveform view. This command only works if the specified channel is added + already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:CH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:CH:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:CH:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:CH:STATE {ON|OFF|} + - DISplay:GLObal:CH:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified channel; any other value enables + display of the channel. + - ``ON`` enables display of the specified channel. + - ``OFF`` disables display of the specified channel. + """ + + +class DisplayGlobalChannel(ValidatedChannel, SCPICmdRead): + """The ``DISplay:GLObal:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:CH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:GLObal:CH:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayGlobalChannelState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayGlobalChannelState: + """Return the ``DISplay:GLObal:CH:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the + specified channel (both analog and digital). Setting this value true (On or NR1 ≠ 0 ) + turns on the source in the waveform view. Setting this value false (Off or NR1 = 0 ) + turns off the source in the waveform view. This command only works if the specified + channel is added already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:CH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:CH:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:CH:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:CH:STATE {ON|OFF|} + - DISplay:GLObal:CH:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified channel; any other value enables + display of the channel. + - ``ON`` enables display of the specified channel. + - ``OFF`` disables display of the specified channel. + """ + return self._state + + +class DisplayGlobalBItemState(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:GLObal:B:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the specified + bus. Setting this value true (On or NR1 ≠ 0 ) turns on the source in the waveform view. + Setting this value false (Off or NR1 = 0 ) turns off the source in the waveform view. This + command only works if the specified bus is added already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:B:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:B:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:B:STATE {ON|OFF|} + - DISplay:GLObal:B:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified bus; any other value enables display + of the bus. + - ``ON`` enables display of the specified bus. + - ``OFF`` disables display of the specified bus. + """ + + +class DisplayGlobalBItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``DISplay:GLObal:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:B?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:B?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``DISplay:GLObal:B:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = DisplayGlobalBItemState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> DisplayGlobalBItemState: + """Return the ``DISplay:GLObal:B:STATE`` command. + + Description: + - This command sets or queries the global state (display mode On or Off) of the + specified bus. Setting this value true (On or NR1 ≠ 0 ) turns on the source in the + waveform view. Setting this value false (Off or NR1 = 0 ) turns off the source in the + waveform view. This command only works if the specified bus is added already. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:B:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:B:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:GLObal:B:STATE value`` + command. + + SCPI Syntax: + ``` + - DISplay:GLObal:B:STATE {ON|OFF|} + - DISplay:GLObal:B:STATE? + ``` + + Info: + - ```` = 0 disables the display of the specified bus; any other value enables + display of the bus. + - ``ON`` enables display of the specified bus. + - ``OFF`` disables display of the specified bus. + """ + return self._state + + +class DisplayGlobal(SCPICmdRead): + """The ``DISplay:GLObal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.b``: The ``DISplay:GLObal:B`` command tree. + - ``.ch``: The ``DISplay:GLObal:CH`` command tree. + - ``.math``: The ``DISplay:GLObal:MATH`` command tree. + - ``.plot``: The ``DISplay:GLObal:PLOT`` command tree. + - ``.ref``: The ``DISplay:GLObal:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._b: Dict[int, DisplayGlobalBItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayGlobalBItem(device, f"{self._cmd_syntax}:B{x}") + ) + self._ch: Dict[int, DisplayGlobalChannel] = DefaultDictPassKeyToFactory( + lambda x: DisplayGlobalChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._math: Dict[int, DisplayGlobalMathItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayGlobalMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) + self._plot: Dict[int, DisplayGlobalPlotItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayGlobalPlotItem(device, f"{self._cmd_syntax}:PLOT{x}") + ) + self._ref: Dict[int, DisplayGlobalRefItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayGlobalRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def b(self) -> Dict[int, DisplayGlobalBItem]: + """Return the ``DISplay:GLObal:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:B?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:GLObal:B:STATE`` command. + """ + return self._b + + @property + def ch(self) -> Dict[int, DisplayGlobalChannel]: + """Return the ``DISplay:GLObal:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:CH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:GLObal:CH:STATE`` command. + """ + return self._ch + + @property + def math(self) -> Dict[int, DisplayGlobalMathItem]: + """Return the ``DISplay:GLObal:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:MATH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``DISplay:GLObal:MATH:STATE`` command. + """ + return self._math + + @property + def plot(self) -> Dict[int, DisplayGlobalPlotItem]: + """Return the ``DISplay:GLObal:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:PLOT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Sub-properties: + - ``.state``: The ``DISplay:GLObal:PLOT:STATE`` command. + """ + return self._plot + + @property + def ref(self) -> Dict[int, DisplayGlobalRefItem]: + """Return the ``DISplay:GLObal:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REF`` is the Reference waveform number. + + Sub-properties: + - ``.state``: The ``DISplay:GLObal:REF:STATE`` command. + """ + return self._ref + + +class DisplayColors(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:COLors`` command. + + Description: + - Sets or queries the color mode for the graticule and waveform display. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:COLors?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:COLors?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:COLors value`` command. + + SCPI Syntax: + ``` + - DISplay:COLors {NORMal|INVERTed} + - DISplay:COLors? + ``` + + Info: + - ``NORMal`` specifies normal color mode. + - ``INVERTed`` specifies inverted color mode. + """ + + +class DisplayChannelNormalcolor(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:CH:NORMALColor`` command. + + Description: + - This command sets or queries the normal mode color of the specified input source to the + specified color. You can assign one of 48 unique colors to any channel, math, or reference + waveform. These colors replace the default normal colors and remain in effect until you + reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:CH:NORMALColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:CH:NORMALColor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:CH:NORMALColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:CH:NORMALColor COLOR + - DISplay:CH:NORMALColor? + ``` + + Info: + - ``CH`` specifies the input channel for which you want to change the waveform color, + where is the channel number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to 47. + """ + + +class DisplayChannelInvertcolor(SCPICmdWrite, SCPICmdRead): + """The ``DISplay:CH:INVERTColor`` command. + + Description: + - This command sets or queries the Inverted mode color of the specified input source to the + specified color. You can assign one of 48 unique colors to any channel, math, or reference + waveform. These colors replace the default Inverted colors and remain in effect until you + reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:CH:INVERTColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:CH:INVERTColor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:CH:INVERTColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:CH:INVERTColor COLOR + - DISplay:CH:INVERTColor? + ``` + + Info: + - ``CH`` specifies the input channel for which you want to change the waveform color, + where is the channel number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to 47. + """ + + +class DisplayChannel(ValidatedChannel, SCPICmdRead): + """The ``DISplay:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:CH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` specifies the input channel for which you want to change the waveform color, + where is the channel number. + + Properties: + - ``.invertcolor``: The ``DISplay:CH:INVERTColor`` command. + - ``.normalcolor``: The ``DISplay:CH:NORMALColor`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._invertcolor = DisplayChannelInvertcolor(device, f"{self._cmd_syntax}:INVERTColor") + self._normalcolor = DisplayChannelNormalcolor(device, f"{self._cmd_syntax}:NORMALColor") + + @property + def invertcolor(self) -> DisplayChannelInvertcolor: + """Return the ``DISplay:CH:INVERTColor`` command. + + Description: + - This command sets or queries the Inverted mode color of the specified input source to + the specified color. You can assign one of 48 unique colors to any channel, math, or + reference waveform. These colors replace the default Inverted colors and remain in + effect until you reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:CH:INVERTColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:CH:INVERTColor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:CH:INVERTColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:CH:INVERTColor COLOR + - DISplay:CH:INVERTColor? + ``` + + Info: + - ``CH`` specifies the input channel for which you want to change the waveform color, + where is the channel number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to + 47. + """ + return self._invertcolor + + @property + def normalcolor(self) -> DisplayChannelNormalcolor: + """Return the ``DISplay:CH:NORMALColor`` command. + + Description: + - This command sets or queries the normal mode color of the specified input source to + the specified color. You can assign one of 48 unique colors to any channel, math, or + reference waveform. These colors replace the default normal colors and remain in + effect until you reset the colors. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:CH:NORMALColor?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:CH:NORMALColor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:CH:NORMALColor value`` + command. + + SCPI Syntax: + ``` + - DISplay:CH:NORMALColor COLOR + - DISplay:CH:NORMALColor? + ``` + + Info: + - ``CH`` specifies the input channel for which you want to change the waveform color, + where is the channel number. + - ``COLOR`` specifies the color to assign to the specified waveform, where = 0 to + 47. + """ + return self._normalcolor + + +# pylint: disable=too-many-instance-attributes +class Display(SCPICmdRead): + """The ``DISplay`` command. + + Description: + - This query-only command returns the current Display settings. + + Usage: + - Using the ``.query()`` method will send the ``DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay? + ``` + + Properties: + - ``.colors``: The ``DISplay:COLors`` command. + - ``.global``: The ``DISplay:GLObal`` command tree. + - ``.intensity``: The ``DISplay:INTENSITy`` command. + - ``.mathfftview1``: The ``DISplay:MATHFFTView1`` command tree. + - ``.persistence``: The ``DISplay:PERSistence`` command. + - ``.plotview``: The ``DISplay:PLOTVIEW`` command tree. + - ``.plotview1``: The ``DISplay:PLOTView1`` command tree. + - ``.reffftview``: The ``DISplay:REFFFTView`` command tree. + - ``.select``: The ``DISplay:SELect`` command tree. + - ``.specview1``: The ``DISplay:SPECView1`` command tree. + - ``.varpersist``: The ``DISplay:VARpersist`` command. + - ``.waveview``: The ``DISplay:WAVEView`` command tree. + - ``.waveview1``: The ``DISplay:WAVEView1`` command tree. + - ``.waveform``: The ``DISplay:WAVEform`` command. + - ``.ch``: The ``DISplay:CH`` command tree. + - ``.math``: The ``DISplay:Math`` command tree. + - ``.ref``: The ``DISplay:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "DISplay") -> None: + super().__init__(device, cmd_syntax) + self._colors = DisplayColors(device, f"{self._cmd_syntax}:COLors") + self._global = DisplayGlobal(device, f"{self._cmd_syntax}:GLObal") + self._intensity = DisplayIntensity(device, f"{self._cmd_syntax}:INTENSITy") + self._mathfftview1 = DisplayMathfftview1(device, f"{self._cmd_syntax}:MATHFFTView1") + self._persistence = DisplayPersistence(device, f"{self._cmd_syntax}:PERSistence") + self._plotview: Dict[int, DisplayPlotviewItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayPlotviewItem(device, f"{self._cmd_syntax}:PLOTVIEW{x}") + ) + self._plotview1 = DisplayPlotview1(device, f"{self._cmd_syntax}:PLOTView1") + self._reffftview: Dict[int, DisplayReffftviewItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayReffftviewItem(device, f"{self._cmd_syntax}:REFFFTView{x}") + ) + self._select = DisplaySelect(device, f"{self._cmd_syntax}:SELect") + self._specview1 = DisplaySpecview1(device, f"{self._cmd_syntax}:SPECView1") + self._varpersist = DisplayVarpersist(device, f"{self._cmd_syntax}:VARpersist") + self._waveview = DisplayWaveview(device, f"{self._cmd_syntax}:WAVEView") + self._waveview1 = DisplayWaveview1(device, f"{self._cmd_syntax}:WAVEView1") + self._waveform = DisplayWaveform(device, f"{self._cmd_syntax}:WAVEform") + self._ch: Dict[int, DisplayChannel] = DefaultDictPassKeyToFactory( + lambda x: DisplayChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._math: Dict[int, DisplayMathItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayMathItem(device, f"{self._cmd_syntax}:Math{x}") + ) + self._ref: Dict[int, DisplayRefItem] = DefaultDictPassKeyToFactory( + lambda x: DisplayRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def colors(self) -> DisplayColors: + """Return the ``DISplay:COLors`` command. + + Description: + - Sets or queries the color mode for the graticule and waveform display. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:COLors?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:COLors?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:COLors value`` command. + + SCPI Syntax: + ``` + - DISplay:COLors {NORMal|INVERTed} + - DISplay:COLors? + ``` + + Info: + - ``NORMal`` specifies normal color mode. + - ``INVERTed`` specifies inverted color mode. + """ + return self._colors + + @property + def global_(self) -> DisplayGlobal: + """Return the ``DISplay:GLObal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:GLObal?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:GLObal?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.b``: The ``DISplay:GLObal:B`` command tree. + - ``.ch``: The ``DISplay:GLObal:CH`` command tree. + - ``.math``: The ``DISplay:GLObal:MATH`` command tree. + - ``.plot``: The ``DISplay:GLObal:PLOT`` command tree. + - ``.ref``: The ``DISplay:GLObal:REF`` command tree. + """ + return self._global + + @property + def intensity(self) -> DisplayIntensity: + """Return the ``DISplay:INTENSITy`` command. + + Description: + - This query-only command returns the waveform saturation level and screen saver + settings. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:INTENSITy?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:INTENSITy?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay:INTENSITy? + ``` + + Sub-properties: + - ``.backlight``: The ``DISplay:INTENSITy:BACKLight`` command. + """ + return self._intensity + + @property + def mathfftview1(self) -> DisplayMathfftview1: + """Return the ``DISplay:MATHFFTView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:MATHFFTView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:MATHFFTView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cursor``: The ``DISplay:MATHFFTView1:CURSor`` command tree. + - ``.autoscale``: The ``DISplay:MATHFFTView1:AUTOScale`` command. + - ``.gridlines``: The ``DISplay:MATHFFTView1:GRIDlines`` command. + - ``.math``: The ``DISplay:MATHFFTView1:MATH`` command tree. + - ``.xaxis``: The ``DISplay:MATHFFTView1:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:MATHFFTView1:YAXIS`` command tree. + - ``.zoom``: The ``DISplay:MATHFFTView1:ZOOM`` command tree. + """ + return self._mathfftview1 + + @property + def persistence(self) -> DisplayPersistence: + """Return the ``DISplay:PERSistence`` command. + + Description: + - This command sets or queries the display persistence for analog waveforms. Persistence + is valid for wave views only. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PERSistence?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PERSistence?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:PERSistence value`` + command. + + SCPI Syntax: + ``` + - DISplay:PERSistence {OFF|AUTO|INFPersist|INFInite|VARpersist|CLEAR} + - DISplay:PERSistence? + ``` + + Info: + - ``OFF`` disables the persistence aspect of the display. + - ``AUTO`` automatically set the persistence. + - ``INFPersist`` sets a display mode where any pixels, once touched by samples, remain + set until cleared by a mode change. + - ``INFInite`` sets a display mode where any pixels, once touched by samples, remain set + until cleared by a mode change. + - ``VARPersist`` sets a display mode where set pixels are gradually dimmed. + - ``CLEAR`` resets the persist time count down and clears the display of acquired + points. + + Sub-properties: + - ``.reset``: The ``DISplay:PERSistence:RESET`` command. + """ + return self._persistence + + @property + def plotview(self) -> Dict[int, DisplayPlotviewItem]: + """Return the ``DISplay:PLOTVIEW`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTVIEW?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTVIEW?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.xaxis``: The ``DISplay:PLOTVIEW:XAXIS`` command tree. + - ``.yaxis``: The ``DISplay:PLOTVIEW:YAXIS`` command tree. + """ + return self._plotview + + @property + def plotview1(self) -> DisplayPlotview1: + """Return the ``DISplay:PLOTView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:PLOTView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:PLOTView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cursor``: The ``DISplay:PLOTView1:CURSor`` command tree. + - ``.autoscale``: The ``DISplay:PLOTView1:AUTOScale`` command. + - ``.gridlines``: The ``DISplay:PLOTView1:GRIDlines`` command. + - ``.zoom``: The ``DISplay:PLOTView1:ZOOM`` command tree. + """ + return self._plotview1 + + @property + def reffftview(self) -> Dict[int, DisplayReffftviewItem]: + """Return the ``DISplay:REFFFTView`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REFFFTView?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REFFFTView?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``REFFFTView`` is the Reference FFT plot number. + + Sub-properties: + - ``.autoscale``: The ``DISplay:REFFFTView:AUTOScale`` command. + - ``.cursor``: The ``DISplay:REFFFTView:CURSor`` command tree. + - ``.gridlines``: The ``DISplay:REFFFTView:GRIDlines`` command. + - ``.ref``: The ``DISplay:REFFFTView:REF`` command tree. + - ``.xaxis``: The ``DISplay:REFFFTView:XAXIS`` command tree. + - ``.zoom``: The ``DISplay:REFFFTView:ZOOM`` command tree. + """ + return self._reffftview + + @property + def select(self) -> DisplaySelect: + """Return the ``DISplay:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SELect?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bus``: The ``DISplay:SELect:BUS`` command. + - ``.math``: The ``DISplay:SELect:MATH`` command. + - ``.reference``: The ``DISplay:SELect:REFerence`` command. + - ``.source``: The ``DISplay:SELect:SOUrce`` command. + - ``.specview1``: The ``DISplay:SELect:SPECView1`` command tree. + - ``.view``: The ``DISplay:SELect:VIEW`` command. + - ``.waveview1``: The ``DISplay:SELect:WAVEView1`` command tree. + """ + return self._select + + @property + def specview1(self) -> DisplaySpecview1: + """Return the ``DISplay:SPECView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:SPECView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:SPECView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cursor``: The ``DISplay:SPECView1:CURSor`` command tree. + - ``.graticule``: The ``DISplay:SPECView1:GRAticule`` command. + - ``.horz``: The ``DISplay:SPECView1:HORZ`` command. + - ``.intensity``: The ``DISplay:SPECView1:INTENSITy`` command tree. + - ``.viewstyle``: The ``DISplay:SPECView1:VIEWStyle`` command. + """ + return self._specview1 + + @property + def varpersist(self) -> DisplayVarpersist: + """Return the ``DISplay:VARpersist`` command. + + Description: + - This command sets or queries display persistence decay time, which is the approximate + decay time for a freshly struck persistence sample. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:VARpersist?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:VARpersist?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:VARpersist value`` command. + + SCPI Syntax: + ``` + - DISplay:VARpersist + - DISplay:VARpersist? + ``` + + Info: + - ```` indicates the persistence decay time and ranges from 0.5 to 100. + """ + return self._varpersist + + @property + def waveview(self) -> DisplayWaveview: + """Return the ``DISplay:WAVEView`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cursor``: The ``DISplay:WAVEView:CURSor`` command tree. + - ``.gridtype``: The ``DISplay:WAVEView:GRIDTYPE`` command. + """ + return self._waveview + + @property + def waveview1(self) -> DisplayWaveview1: + """Return the ``DISplay:WAVEView1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEView1?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEView1?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bus``: The ``DISplay:WAVEView1:BUS`` command tree. + - ``.ch``: The ``DISplay:WAVEView1:CH`` command tree. + - ``.cursor``: The ``DISplay:WAVEView1:CURSor`` command. + - ``.filter``: The ``DISplay:WAVEView1:FILTer`` command. + - ``.graticule``: The ``DISplay:WAVEView1:GRAticule`` command. + - ``.intensity``: The ``DISplay:WAVEView1:INTENSITy`` command tree. + - ``.math``: The ``DISplay:WAVEView1:MATH`` command tree. + - ``.plot``: The ``DISplay:WAVEView1:PLOT`` command tree. + - ``.ref``: The ``DISplay:WAVEView1:REF`` command tree. + - ``.rf_frequency``: The ``DISplay:WAVEView1:RF_FREQuency`` command tree. + - ``.rf_magnitude``: The ``DISplay:WAVEView1:RF_MAGnitude`` command tree. + - ``.rf_phase``: The ``DISplay:WAVEView1:RF_PHASe`` command tree. + - ``.style``: The ``DISplay:WAVEView1:STYle`` command. + - ``.viewstyle``: The ``DISplay:WAVEView1:VIEWStyle`` command. + - ``.zoom``: The ``DISplay:WAVEView1:ZOOM`` command. + - ``.refx``: The ``DISplay:WAVEView1:REF`` command tree. + """ + return self._waveview1 + + @property + def waveform(self) -> DisplayWaveform: + """Return the ``DISplay:WAVEform`` command. + + Description: + - This command globally enables or disables the waveform display. When disabled, the + waveform is still acquired and held in memory, but it is not drawn to the screen. + Disabling the waveform display may improve processing speed. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:WAVEform?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DISplay:WAVEform value`` command. + + SCPI Syntax: + ``` + - DISplay:WAVEform {ON|OFF|} + - DISplay:WAVEform? + ``` + + Info: + - ```` enables or disables the waveform display. 0 disables the waveform display; + any other value enables the waveform display. + - ``ON`` enables the waveform display. + - ``OFF`` disables the waveform display. + """ + return self._waveform + + @property + def ch(self) -> Dict[int, DisplayChannel]: + """Return the ``DISplay:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:CH?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:CH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` specifies the input channel for which you want to change the waveform color, + where is the channel number. + + Sub-properties: + - ``.invertcolor``: The ``DISplay:CH:INVERTColor`` command. + - ``.normalcolor``: The ``DISplay:CH:NORMALColor`` command. + """ + return self._ch + + @property + def math(self) -> Dict[int, DisplayMathItem]: + """Return the ``DISplay:Math`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:Math?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:Math?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.invertcolor``: The ``DISplay:Math:INVERTColor`` command. + - ``.normalcolor``: The ``DISplay:Math:NORMALColor`` command. + """ + return self._math + + @property + def ref(self) -> Dict[int, DisplayRefItem]: + """Return the ``DISplay:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``DISplay:REF?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay:REF?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``REF`` specifies the reference waveform for which you want to change the waveform + color, where is the reference waveform number. + + Sub-properties: + - ``.invertcolor``: The ``DISplay:REF:INVERTColor`` command. + - ``.normalcolor``: The ``DISplay:REF:NORMALColor`` command. + """ + return self._ref diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/filesys.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/filesys.py new file mode 100644 index 00000000..4943644e --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/filesys.py @@ -0,0 +1,86 @@ +"""The filesys commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - FILESYS:COLLECTLOGFILES + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class FilesysCollectlogfiles(SCPICmdWrite): + """The ``FILESYS:COLLECTLOGFILES`` command. + + Description: + - This command copies the internal log files to the local, USB, TekDrive or network drive + specified by the quoted string argument. + + Usage: + - Using the ``.write(value)`` method will send the ``FILESYS:COLLECTLOGFILES value`` + command. + + SCPI Syntax: + ``` + - FILESYS:COLLECTLOGFILES + ``` + + Info: + - ```` is a quoted string that specifies the file path to save the .zip file to. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Filesys(SCPICmdRead): + """The ``FILESYS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``FILESYS?`` query. + - Using the ``.verify(value)`` method will send the ``FILESYS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.collectlogfiles``: The ``FILESYS:COLLECTLOGFILES`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "FILESYS") -> None: + super().__init__(device, cmd_syntax) + self._collectlogfiles = FilesysCollectlogfiles( + device, f"{self._cmd_syntax}:COLLECTLOGFILES" + ) + + @property + def collectlogfiles(self) -> FilesysCollectlogfiles: + """Return the ``FILESYS:COLLECTLOGFILES`` command. + + Description: + - This command copies the internal log files to the local, USB, TekDrive or network + drive specified by the quoted string argument. + + Usage: + - Using the ``.write(value)`` method will send the ``FILESYS:COLLECTLOGFILES value`` + command. + + SCPI Syntax: + ``` + - FILESYS:COLLECTLOGFILES + ``` + + Info: + - ```` is a quoted string that specifies the file path to save the .zip file + to. + """ + return self._collectlogfiles diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/histogram.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/histogram.py new file mode 100644 index 00000000..35972345 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/histogram.py @@ -0,0 +1,1811 @@ +# pylint: disable=line-too-long +"""The histogram commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - HISTogram:ADDNew + - HISTogram:DELETEALL + - HISTogram:DELete + - HISTogram:HISTogram:BOX ,,, + - HISTogram:HISTogram:BOX? + - HISTogram:HISTogram:BSTate {ON|OFF} + - HISTogram:HISTogram:BSTate? + - HISTogram:HISTogram:DATa? + - HISTogram:HISTogram:DISPlay {LINEAr|LOG} + - HISTogram:HISTogram:DISPlay? + - HISTogram:HISTogram:FUNCtion {HORizontal|VERTical} + - HISTogram:HISTogram:FUNCtion? + - HISTogram:HISTogram:MEASurement:COUNt {ON|OFF} + - HISTogram:HISTogram:MEASurement:COUNt? + - HISTogram:HISTogram:MEASurement:HITS {ON|OFF} + - HISTogram:HISTogram:MEASurement:HITS? + - HISTogram:HISTogram:MEASurement:MAX {ON|OFF} + - HISTogram:HISTogram:MEASurement:MAX? + - HISTogram:HISTogram:MEASurement:MEAN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEAN? + - HISTogram:HISTogram:MEASurement:MEDian {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEDian? + - HISTogram:HISTogram:MEASurement:MIN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MIN? + - HISTogram:HISTogram:MEASurement:MODE {ON|OFF} + - HISTogram:HISTogram:MEASurement:MODE? + - HISTogram:HISTogram:MEASurement:ONESigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:ONESigma? + - HISTogram:HISTogram:MEASurement:PHITs {ON|OFF} + - HISTogram:HISTogram:MEASurement:PHITs? + - HISTogram:HISTogram:MEASurement:PK2PK {ON|OFF} + - HISTogram:HISTogram:MEASurement:PK2PK? + - HISTogram:HISTogram:MEASurement:RESUlts? {COUNt| HITS| MAX| MIN| PK2PK| MODE| MEAN| MEDian| PHITs| STDDev| ONESigma| TWOSigma| THRSigma},{ALLAcqs| CURRentacq| HISTory},{MAXimum| MEAN| MINimum| PK2PK| POPUlation| STDDev} + - HISTogram:HISTogram:MEASurement:STDDev {ON|OFF} + - HISTogram:HISTogram:MEASurement:STDDev? + - HISTogram:HISTogram:MEASurement:THRSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:THRSigma? + - HISTogram:HISTogram:MEASurement:TWOSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:TWOSigma? + - HISTogram:HISTogram:SAVe + - HISTogram:HISTogram:SIZe + - HISTogram:HISTogram:SIZe? + - HISTogram:HISTogram:SOUrce {S_CH|CH|MATH|REF} + - HISTogram:HISTogram:SOUrce? + - HISTogram:HISTogram:STATE {ON|OFF} + - HISTogram:HISTogram:STATE? + - HISTogram:HISTogram:TRANsparency + - HISTogram:HISTogram:TRANsparency? + - HISTogram:LIST? + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdReadWithArguments, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class HistogramList(SCPICmdRead): + """The ``HISTogram:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined histograms. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - HISTogram:LIST? + ``` + """ + + +class HistogramHistogramItemTransparency(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:TRANsparency`` command. + + Description: + - This command sets or queries the transparency of the histogram bins. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:TRANsparency?`` + query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:TRANsparency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:TRANsparency value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:TRANsparency + - HISTogram:HISTogram:TRANsparency? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` specifies the transparency as a percentage, with a minimum of 0 and a maximum of + 100. + """ + + +class HistogramHistogramItemState(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:STATE`` command. + + Description: + - This command sets or queries whether histogram calculations are enabled for the specified + histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:STATE value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:STATE {ON|OFF} + - HISTogram:HISTogram:STATE? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram calculations. + - ``OFF`` disables the histogram calculations. + """ + + +class HistogramHistogramItemSource(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:SOUrce`` command. + + Description: + - This command sets or queries which source waveform will be compared against the histogram + box when the histogram testing is enabled. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SOUrce value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:SOUrce {S_CH|CH|MATH|REF} + - HISTogram:HISTogram:SOUrce? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``S_CH`` specifies is the remote scope number and the analog channel as source. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class HistogramHistogramItemSize(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:SIZe`` command. + + Description: + - This command sets or queries the height or width of the specified histogram bins in + divisions. This size can be larger than the box, which allows you to view the histogram + bins easily. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SIZe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SIZe value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:SIZe + - HISTogram:HISTogram:SIZe? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` specifies the number of divisions to set the height or width of the histogram + bins to. + """ + + +class HistogramHistogramItemSave(SCPICmdWrite): + """The ``HISTogram:HISTogram:SAVe`` command. + + Description: + - This command saves the specified histograms data as a comma separated list of values. + + Usage: + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SAVe value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:SAVe + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` is the file path to save the .csv file to. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class HistogramHistogramItemMeasurementTwosigma(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + + Description: + - This command sets or queries whether the µ±2(sigma) measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:TWOSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:TWOSigma? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±2(sigma) measurement. + - ``OFF`` disables the µ±2(sigma) measurement. + """ + + +class HistogramHistogramItemMeasurementThrsigma(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + + Description: + - This command sets or queries whether the µ±3(sigma) measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:THRSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:THRSigma? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±3(sigma) measurement. + - ``OFF`` disables the µ±3(sigma) measurement. + """ + + +class HistogramHistogramItemMeasurementStddev(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:STDDev`` command. + + Description: + - This command sets or queries whether the Standard Deviation measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:STDDev?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:STDDev {ON|OFF} + - HISTogram:HISTogram:MEASurement:STDDev? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Standard Deviation measurement. + - ``OFF`` disables the Standard Deviation measurement. + """ + + +class HistogramHistogramItemMeasurementResults(SCPICmdReadWithArguments): + """The ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + + Description: + - This query only command returns the measurement results from the specified histogram. The + argument must be in the form of {argument 1},{argument 2},{argument 3}. Argument 1 + specifies which histogram measurement to return results for. Argument 2 specifies which + acquisitions to return measurement results for. Argument 3 specifies which statistic to + return measurement results for. + + Usage: + - Using the ``.query(argument)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:RESUlts? {COUNt| HITS| MAX| MIN| PK2PK| MODE| MEAN| MEDian| PHITs| STDDev| ONESigma| TWOSigma| THRSigma},{ALLAcqs| CURRentacq| HISTory},{MAXimum| MEAN| MINimum| PK2PK| POPUlation| STDDev} + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``COUNt`` specifies the Count as the histogram measurement to return results for. + - ``HITS`` specifies the Hits as the histogram measurement to return results for. + - ``MAX`` specifies the Max as the histogram measurement to return results for. + - ``MIN`` specifies the Min as the histogram measurement to return results for. + - ``PK2PK`` specifies the Peak-to-peak as the histogram measurement or statistic to return + results for. + - ``MODE`` specifies the Mode as the histogram measurement to return results for. + - ``MEAN`` specifies the Mean as the histogram measurement or statistic to return results + for. + - ``MEDian`` specifies the Median as the histogram measurement to return results for. + - ``PHITs`` specifies the Peak Hits as the histogram measurement to return results for. + - ``STDDev`` specifies the Standard Deviation as the histogram measurement or statistic to + return results for. + - ``ONESigma`` specifies the µ±1(sigma) as the histogram measurement to return results for. + - ``TWOSigma`` specifies the µ±2(sigma) as the histogram measurement to return results for. + - ``THRSigma`` specifies the µ±3(sigma) as the histogram measurement to return results for. + - ``ALLAcqs`` specifies the All Acquisitions as the acquisitions to return results for. + - ``CURRentacq`` specifies the Current Acquisitions as the acquisitions to return results + for. + - ``HISTory`` specifies the History as the acquisitions to return results for. + - ``MAXimum`` specifies the Maximum as the statistic to return results for. + - ``MINimum`` specifies the Minimum as the statistic to return results for. + - ``POPUlation`` specifies the Population as the statistic to return results for. + """ # noqa: E501 + + +class HistogramHistogramItemMeasurementPk2pk(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + + Description: + - This command sets or queries whether the Peak-to-peak measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:PK2PK?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:PK2PK {ON|OFF} + - HISTogram:HISTogram:MEASurement:PK2PK? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak-to-peak measurement. + - ``OFF`` disables the Peak-to-peak measurement. + """ + + +class HistogramHistogramItemMeasurementPhits(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:PHITs`` command. + + Description: + - This command sets or queries whether the Peak Hits measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:PHITs?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:PHITs {ON|OFF} + - HISTogram:HISTogram:MEASurement:PHITs? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak Hits measurement. + - ``OFF`` disables the Peak Hits measurement. + """ + + +class HistogramHistogramItemMeasurementOnesigma(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + + Description: + - This command sets or queries whether the µ±1(sigma) measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:ONESigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:ONESigma? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±1(sigma) measurement. + - ``OFF`` disables the µ±1(sigma) measurement. + """ + + +class HistogramHistogramItemMeasurementMode(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MODE`` command. + + Description: + - This command sets or queries whether the Mode measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MODE?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MODE {ON|OFF} + - HISTogram:HISTogram:MEASurement:MODE? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mode measurement. + - ``OFF`` disables the Mode measurement. + """ + + +class HistogramHistogramItemMeasurementMin(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MIN`` command. + + Description: + - This command sets or queries whether the Min measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MIN?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MIN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MIN? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Min measurement. + - ``OFF`` disables the Min measurement. + """ + + +class HistogramHistogramItemMeasurementMedian(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MEDian`` command. + + Description: + - This command sets or queries whether the Median measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MEDian?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MEDian {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEDian? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Median measurement. + - ``OFF`` disables the Median measurement. + """ + + +class HistogramHistogramItemMeasurementMean(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MEAN`` command. + + Description: + - This command sets or queries whether the Mean measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MEAN?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MEAN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEAN? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mean measurement. + - ``OFF`` disables the Mean measurement. + """ + + +class HistogramHistogramItemMeasurementMax(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:MAX`` command. + + Description: + - This command sets or queries whether the Max measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:MAX?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MAX {ON|OFF} + - HISTogram:HISTogram:MEASurement:MAX? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Max measurement. + - ``OFF`` disables the Max measurement. + """ + + +class HistogramHistogramItemMeasurementHits(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:HITS`` command. + + Description: + - This command sets or queries whether the Hits in Box measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:HITS?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:HITS {ON|OFF} + - HISTogram:HISTogram:MEASurement:HITS? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Hits in Box measurement. + - ``OFF`` disables the Hits in Box measurement. + """ + + +class HistogramHistogramItemMeasurementCount(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement:COUNt`` command. + + Description: + - This command sets or queries whether the waveform count measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement:COUNt?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:COUNt {ON|OFF} + - HISTogram:HISTogram:MEASurement:COUNt? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the waveform count measurement. + - ``OFF`` disables the waveform count measurement. + """ + + +# pylint: disable=too-many-instance-attributes +class HistogramHistogramItemMeasurement(SCPICmdRead): + """The ``HISTogram:HISTogram:MEASurement`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:MEASurement?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``HISTogram`` specifies the histogram number. + + Properties: + - ``.count``: The ``HISTogram:HISTogram:MEASurement:COUNt`` command. + - ``.hits``: The ``HISTogram:HISTogram:MEASurement:HITS`` command. + - ``.max``: The ``HISTogram:HISTogram:MEASurement:MAX`` command. + - ``.mean``: The ``HISTogram:HISTogram:MEASurement:MEAN`` command. + - ``.median``: The ``HISTogram:HISTogram:MEASurement:MEDian`` command. + - ``.min``: The ``HISTogram:HISTogram:MEASurement:MIN`` command. + - ``.mode``: The ``HISTogram:HISTogram:MEASurement:MODE`` command. + - ``.onesigma``: The ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + - ``.phits``: The ``HISTogram:HISTogram:MEASurement:PHITs`` command. + - ``.pk2pk``: The ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + - ``.results``: The ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + - ``.stddev``: The ``HISTogram:HISTogram:MEASurement:STDDev`` command. + - ``.thrsigma``: The ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + - ``.twosigma``: The ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = HistogramHistogramItemMeasurementCount(device, f"{self._cmd_syntax}:COUNt") + self._hits = HistogramHistogramItemMeasurementHits(device, f"{self._cmd_syntax}:HITS") + self._max = HistogramHistogramItemMeasurementMax(device, f"{self._cmd_syntax}:MAX") + self._mean = HistogramHistogramItemMeasurementMean(device, f"{self._cmd_syntax}:MEAN") + self._median = HistogramHistogramItemMeasurementMedian(device, f"{self._cmd_syntax}:MEDian") + self._min = HistogramHistogramItemMeasurementMin(device, f"{self._cmd_syntax}:MIN") + self._mode = HistogramHistogramItemMeasurementMode(device, f"{self._cmd_syntax}:MODE") + self._onesigma = HistogramHistogramItemMeasurementOnesigma( + device, f"{self._cmd_syntax}:ONESigma" + ) + self._phits = HistogramHistogramItemMeasurementPhits(device, f"{self._cmd_syntax}:PHITs") + self._pk2pk = HistogramHistogramItemMeasurementPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._results = HistogramHistogramItemMeasurementResults( + device, f"{self._cmd_syntax}:RESUlts" + ) + self._stddev = HistogramHistogramItemMeasurementStddev(device, f"{self._cmd_syntax}:STDDev") + self._thrsigma = HistogramHistogramItemMeasurementThrsigma( + device, f"{self._cmd_syntax}:THRSigma" + ) + self._twosigma = HistogramHistogramItemMeasurementTwosigma( + device, f"{self._cmd_syntax}:TWOSigma" + ) + + @property + def count(self) -> HistogramHistogramItemMeasurementCount: + """Return the ``HISTogram:HISTogram:MEASurement:COUNt`` command. + + Description: + - This command sets or queries whether the waveform count measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:COUNt value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:COUNt {ON|OFF} + - HISTogram:HISTogram:MEASurement:COUNt? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the waveform count measurement. + - ``OFF`` disables the waveform count measurement. + """ + return self._count + + @property + def hits(self) -> HistogramHistogramItemMeasurementHits: + """Return the ``HISTogram:HISTogram:MEASurement:HITS`` command. + + Description: + - This command sets or queries whether the Hits in Box measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:HITS value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:HITS {ON|OFF} + - HISTogram:HISTogram:MEASurement:HITS? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Hits in Box measurement. + - ``OFF`` disables the Hits in Box measurement. + """ + return self._hits + + @property + def max(self) -> HistogramHistogramItemMeasurementMax: + """Return the ``HISTogram:HISTogram:MEASurement:MAX`` command. + + Description: + - This command sets or queries whether the Max measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MAX value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MAX {ON|OFF} + - HISTogram:HISTogram:MEASurement:MAX? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Max measurement. + - ``OFF`` disables the Max measurement. + """ + return self._max + + @property + def mean(self) -> HistogramHistogramItemMeasurementMean: + """Return the ``HISTogram:HISTogram:MEASurement:MEAN`` command. + + Description: + - This command sets or queries whether the Mean measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEAN value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MEAN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEAN? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mean measurement. + - ``OFF`` disables the Mean measurement. + """ + return self._mean + + @property + def median(self) -> HistogramHistogramItemMeasurementMedian: + """Return the ``HISTogram:HISTogram:MEASurement:MEDian`` command. + + Description: + - This command sets or queries whether the Median measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MEDian value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MEDian {ON|OFF} + - HISTogram:HISTogram:MEASurement:MEDian? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Median measurement. + - ``OFF`` disables the Median measurement. + """ + return self._median + + @property + def min(self) -> HistogramHistogramItemMeasurementMin: + """Return the ``HISTogram:HISTogram:MEASurement:MIN`` command. + + Description: + - This command sets or queries whether the Min measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MIN value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MIN {ON|OFF} + - HISTogram:HISTogram:MEASurement:MIN? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Min measurement. + - ``OFF`` disables the Min measurement. + """ + return self._min + + @property + def mode(self) -> HistogramHistogramItemMeasurementMode: + """Return the ``HISTogram:HISTogram:MEASurement:MODE`` command. + + Description: + - This command sets or queries whether the Mode measurement is enabled on the histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:MODE value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:MODE {ON|OFF} + - HISTogram:HISTogram:MEASurement:MODE? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Mode measurement. + - ``OFF`` disables the Mode measurement. + """ + return self._mode + + @property + def onesigma(self) -> HistogramHistogramItemMeasurementOnesigma: + """Return the ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + + Description: + - This command sets or queries whether the µ±1(sigma) measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:ONESigma value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:ONESigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:ONESigma? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±1(sigma) measurement. + - ``OFF`` disables the µ±1(sigma) measurement. + """ + return self._onesigma + + @property + def phits(self) -> HistogramHistogramItemMeasurementPhits: + """Return the ``HISTogram:HISTogram:MEASurement:PHITs`` command. + + Description: + - This command sets or queries whether the Peak Hits measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PHITs value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:PHITs {ON|OFF} + - HISTogram:HISTogram:MEASurement:PHITs? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak Hits measurement. + - ``OFF`` disables the Peak Hits measurement. + """ + return self._phits + + @property + def pk2pk(self) -> HistogramHistogramItemMeasurementPk2pk: + """Return the ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + + Description: + - This command sets or queries whether the Peak-to-peak measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:PK2PK value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:PK2PK {ON|OFF} + - HISTogram:HISTogram:MEASurement:PK2PK? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Peak-to-peak measurement. + - ``OFF`` disables the Peak-to-peak measurement. + """ + return self._pk2pk + + @property + def results(self) -> HistogramHistogramItemMeasurementResults: + """Return the ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + + Description: + - This query only command returns the measurement results from the specified histogram. + The argument must be in the form of {argument 1},{argument 2},{argument 3}. Argument 1 + specifies which histogram measurement to return results for. Argument 2 specifies + which acquisitions to return measurement results for. Argument 3 specifies which + statistic to return measurement results for. + + Usage: + - Using the ``.query(argument)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``HISTogram:HISTogram:MEASurement:RESUlts? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:RESUlts? {COUNt| HITS| MAX| MIN| PK2PK| MODE| MEAN| MEDian| PHITs| STDDev| ONESigma| TWOSigma| THRSigma},{ALLAcqs| CURRentacq| HISTory},{MAXimum| MEAN| MINimum| PK2PK| POPUlation| STDDev} + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``COUNt`` specifies the Count as the histogram measurement to return results for. + - ``HITS`` specifies the Hits as the histogram measurement to return results for. + - ``MAX`` specifies the Max as the histogram measurement to return results for. + - ``MIN`` specifies the Min as the histogram measurement to return results for. + - ``PK2PK`` specifies the Peak-to-peak as the histogram measurement or statistic to + return results for. + - ``MODE`` specifies the Mode as the histogram measurement to return results for. + - ``MEAN`` specifies the Mean as the histogram measurement or statistic to return + results for. + - ``MEDian`` specifies the Median as the histogram measurement to return results for. + - ``PHITs`` specifies the Peak Hits as the histogram measurement to return results for. + - ``STDDev`` specifies the Standard Deviation as the histogram measurement or statistic + to return results for. + - ``ONESigma`` specifies the µ±1(sigma) as the histogram measurement to return results + for. + - ``TWOSigma`` specifies the µ±2(sigma) as the histogram measurement to return results + for. + - ``THRSigma`` specifies the µ±3(sigma) as the histogram measurement to return results + for. + - ``ALLAcqs`` specifies the All Acquisitions as the acquisitions to return results for. + - ``CURRentacq`` specifies the Current Acquisitions as the acquisitions to return + results for. + - ``HISTory`` specifies the History as the acquisitions to return results for. + - ``MAXimum`` specifies the Maximum as the statistic to return results for. + - ``MINimum`` specifies the Minimum as the statistic to return results for. + - ``POPUlation`` specifies the Population as the statistic to return results for. + """ # noqa: E501 + return self._results + + @property + def stddev(self) -> HistogramHistogramItemMeasurementStddev: + """Return the ``HISTogram:HISTogram:MEASurement:STDDev`` command. + + Description: + - This command sets or queries whether the Standard Deviation measurement is enabled on + the histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:STDDev value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:STDDev {ON|OFF} + - HISTogram:HISTogram:MEASurement:STDDev? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the Standard Deviation measurement. + - ``OFF`` disables the Standard Deviation measurement. + """ + return self._stddev + + @property + def thrsigma(self) -> HistogramHistogramItemMeasurementThrsigma: + """Return the ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + + Description: + - This command sets or queries whether the µ±3(sigma) measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:THRSigma value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:THRSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:THRSigma? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±3(sigma) measurement. + - ``OFF`` disables the µ±3(sigma) measurement. + """ + return self._thrsigma + + @property + def twosigma(self) -> HistogramHistogramItemMeasurementTwosigma: + """Return the ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + + Description: + - This command sets or queries whether the µ±2(sigma) measurement is enabled on the + histogram. + + Usage: + - Using the ``.query()`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:MEASurement:TWOSigma value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:MEASurement:TWOSigma {ON|OFF} + - HISTogram:HISTogram:MEASurement:TWOSigma? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the µ±2(sigma) measurement. + - ``OFF`` disables the µ±2(sigma) measurement. + """ + return self._twosigma + + +class HistogramHistogramItemFunction(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:FUNCtion`` command. + + Description: + - This command sets or queries the histogram mode. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:FUNCtion?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:FUNCtion value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:FUNCtion {HORizontal|VERTical} + - HISTogram:HISTogram:FUNCtion? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``HORizontal`` sets the histogram mode to horizontal. + - ``VERTical`` sets the histogram mode to vertical. + """ + + +class HistogramHistogramItemDisplay(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:DISPlay`` command. + + Description: + - This command sets or queries the histogram scaling display setting. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DISPlay?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DISPlay?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:DISPlay value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:DISPlay {LINEAr|LOG} + - HISTogram:HISTogram:DISPlay? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``LINEAr`` sets the histogram scaling to linear mode. + - ``LOG`` sets the histogram scaling to logarithmic mode. + """ + + +class HistogramHistogramItemData(SCPICmdRead): + """The ``HISTogram:HISTogram:DATa`` command. + + Description: + - This query only command returns a comma separated list of numbers representing the + histogram bin data. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DATa?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:DATa? + ``` + """ + + +class HistogramHistogramItemBstate(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:BSTate`` command. + + Description: + - This command sets or queries whether the histogram badge is displayed. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BSTate?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BSTate?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:BSTate value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:BSTate {ON|OFF} + - HISTogram:HISTogram:BSTate? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram badge display. + - ``OFF`` disables the histogram badge display. + """ + + +class HistogramHistogramItemBox(SCPICmdWrite, SCPICmdRead): + """The ``HISTogram:HISTogram:BOX`` command. + + Description: + - This command sets or queries the top, left, bottom and right positions of the histogram + box in source waveform coordinates. The argument is of the form + ,,,. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BOX?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BOX?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:BOX value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:BOX ,,, + - HISTogram:HISTogram:BOX? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` specifies four position values, separated by commas. The values are the top, + left, bottom, and right coordinates in that order. + """ + + +# pylint: disable=too-many-instance-attributes +class HistogramHistogramItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``HISTogram:HISTogram`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``HISTogram`` specifies the histogram number. + + Properties: + - ``.box``: The ``HISTogram:HISTogram:BOX`` command. + - ``.bstate``: The ``HISTogram:HISTogram:BSTate`` command. + - ``.data``: The ``HISTogram:HISTogram:DATa`` command. + - ``.display``: The ``HISTogram:HISTogram:DISPlay`` command. + - ``.function``: The ``HISTogram:HISTogram:FUNCtion`` command. + - ``.measurement``: The ``HISTogram:HISTogram:MEASurement`` command tree. + - ``.save``: The ``HISTogram:HISTogram:SAVe`` command. + - ``.size``: The ``HISTogram:HISTogram:SIZe`` command. + - ``.source``: The ``HISTogram:HISTogram:SOUrce`` command. + - ``.state``: The ``HISTogram:HISTogram:STATE`` command. + - ``.transparency``: The ``HISTogram:HISTogram:TRANsparency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._box = HistogramHistogramItemBox(device, f"{self._cmd_syntax}:BOX") + self._bstate = HistogramHistogramItemBstate(device, f"{self._cmd_syntax}:BSTate") + self._data = HistogramHistogramItemData(device, f"{self._cmd_syntax}:DATa") + self._display = HistogramHistogramItemDisplay(device, f"{self._cmd_syntax}:DISPlay") + self._function = HistogramHistogramItemFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._measurement = HistogramHistogramItemMeasurement( + device, f"{self._cmd_syntax}:MEASurement" + ) + self._save = HistogramHistogramItemSave(device, f"{self._cmd_syntax}:SAVe") + self._size = HistogramHistogramItemSize(device, f"{self._cmd_syntax}:SIZe") + self._source = HistogramHistogramItemSource(device, f"{self._cmd_syntax}:SOUrce") + self._state = HistogramHistogramItemState(device, f"{self._cmd_syntax}:STATE") + self._transparency = HistogramHistogramItemTransparency( + device, f"{self._cmd_syntax}:TRANsparency" + ) + + @property + def box(self) -> HistogramHistogramItemBox: + """Return the ``HISTogram:HISTogram:BOX`` command. + + Description: + - This command sets or queries the top, left, bottom and right positions of the + histogram box in source waveform coordinates. The argument is of the form + ,,,. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BOX?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BOX?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:BOX value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:BOX ,,, + - HISTogram:HISTogram:BOX? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` specifies four position values, separated by commas. The values are the top, + left, bottom, and right coordinates in that order. + """ + return self._box + + @property + def bstate(self) -> HistogramHistogramItemBstate: + """Return the ``HISTogram:HISTogram:BSTate`` command. + + Description: + - This command sets or queries whether the histogram badge is displayed. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:BSTate?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:BSTate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:BSTate value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:BSTate {ON|OFF} + - HISTogram:HISTogram:BSTate? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram badge display. + - ``OFF`` disables the histogram badge display. + """ + return self._bstate + + @property + def data(self) -> HistogramHistogramItemData: + """Return the ``HISTogram:HISTogram:DATa`` command. + + Description: + - This query only command returns a comma separated list of numbers representing the + histogram bin data. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DATa?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DATa?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:DATa? + ``` + """ + return self._data + + @property + def display(self) -> HistogramHistogramItemDisplay: + """Return the ``HISTogram:HISTogram:DISPlay`` command. + + Description: + - This command sets or queries the histogram scaling display setting. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:DISPlay?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:DISPlay?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:DISPlay value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:DISPlay {LINEAr|LOG} + - HISTogram:HISTogram:DISPlay? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``LINEAr`` sets the histogram scaling to linear mode. + - ``LOG`` sets the histogram scaling to logarithmic mode. + """ + return self._display + + @property + def function(self) -> HistogramHistogramItemFunction: + """Return the ``HISTogram:HISTogram:FUNCtion`` command. + + Description: + - This command sets or queries the histogram mode. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:FUNCtion?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:FUNCtion value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:FUNCtion {HORizontal|VERTical} + - HISTogram:HISTogram:FUNCtion? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``HORizontal`` sets the histogram mode to horizontal. + - ``VERTical`` sets the histogram mode to vertical. + """ + return self._function + + @property + def measurement(self) -> HistogramHistogramItemMeasurement: + """Return the ``HISTogram:HISTogram:MEASurement`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:MEASurement?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:MEASurement?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``HISTogram`` specifies the histogram number. + + Sub-properties: + - ``.count``: The ``HISTogram:HISTogram:MEASurement:COUNt`` command. + - ``.hits``: The ``HISTogram:HISTogram:MEASurement:HITS`` command. + - ``.max``: The ``HISTogram:HISTogram:MEASurement:MAX`` command. + - ``.mean``: The ``HISTogram:HISTogram:MEASurement:MEAN`` command. + - ``.median``: The ``HISTogram:HISTogram:MEASurement:MEDian`` command. + - ``.min``: The ``HISTogram:HISTogram:MEASurement:MIN`` command. + - ``.mode``: The ``HISTogram:HISTogram:MEASurement:MODE`` command. + - ``.onesigma``: The ``HISTogram:HISTogram:MEASurement:ONESigma`` command. + - ``.phits``: The ``HISTogram:HISTogram:MEASurement:PHITs`` command. + - ``.pk2pk``: The ``HISTogram:HISTogram:MEASurement:PK2PK`` command. + - ``.results``: The ``HISTogram:HISTogram:MEASurement:RESUlts`` command. + - ``.stddev``: The ``HISTogram:HISTogram:MEASurement:STDDev`` command. + - ``.thrsigma``: The ``HISTogram:HISTogram:MEASurement:THRSigma`` command. + - ``.twosigma``: The ``HISTogram:HISTogram:MEASurement:TWOSigma`` command. + """ + return self._measurement + + @property + def save(self) -> HistogramHistogramItemSave: + """Return the ``HISTogram:HISTogram:SAVe`` command. + + Description: + - This command saves the specified histograms data as a comma separated list of values. + + Usage: + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SAVe value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:SAVe + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` is the file path to save the .csv file to. + """ + return self._save + + @property + def size(self) -> HistogramHistogramItemSize: + """Return the ``HISTogram:HISTogram:SIZe`` command. + + Description: + - This command sets or queries the height or width of the specified histogram bins in + divisions. This size can be larger than the box, which allows you to view the + histogram bins easily. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SIZe?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SIZe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HISTogram:HISTogram:SIZe value`` + command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:SIZe + - HISTogram:HISTogram:SIZe? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` specifies the number of divisions to set the height or width of the + histogram bins to. + """ + return self._size + + @property + def source(self) -> HistogramHistogramItemSource: + """Return the ``HISTogram:HISTogram:SOUrce`` command. + + Description: + - This command sets or queries which source waveform will be compared against the + histogram box when the histogram testing is enabled. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:SOUrce value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:SOUrce {S_CH|CH|MATH|REF} + - HISTogram:HISTogram:SOUrce? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``S_CH`` specifies is the remote scope number and the analog channel as source. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def state(self) -> HistogramHistogramItemState: + """Return the ``HISTogram:HISTogram:STATE`` command. + + Description: + - This command sets or queries whether histogram calculations are enabled for the + specified histogram. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:STATE value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:STATE {ON|OFF} + - HISTogram:HISTogram:STATE? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ``ON`` enables the histogram calculations. + - ``OFF`` disables the histogram calculations. + """ + return self._state + + @property + def transparency(self) -> HistogramHistogramItemTransparency: + """Return the ``HISTogram:HISTogram:TRANsparency`` command. + + Description: + - This command sets or queries the transparency of the histogram bins. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram:TRANsparency?`` + query. + - Using the ``.verify(value)`` method will send the + ``HISTogram:HISTogram:TRANsparency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HISTogram:HISTogram:TRANsparency value`` command. + + SCPI Syntax: + ``` + - HISTogram:HISTogram:TRANsparency + - HISTogram:HISTogram:TRANsparency? + ``` + + Info: + - ``HISTogram`` specifies the histogram number. + - ```` specifies the transparency as a percentage, with a minimum of 0 and a + maximum of 100. + """ + return self._transparency + + +class HistogramDelete(SCPICmdWrite): + """The ``HISTogram:DELete`` command. + + Description: + - This command deletes the specified histogram. + + Usage: + - Using the ``.write(value)`` method will send the ``HISTogram:DELete value`` command. + + SCPI Syntax: + ``` + - HISTogram:DELete + ``` + + Info: + - ```` specifies the waveform histogram to delete. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class HistogramDeleteall(SCPICmdWriteNoArguments): + """The ``HISTogram:DELETEALL`` command. + + Description: + - This command deletes all the active instances of histograms defined in the scope + application. + + Usage: + - Using the ``.write()`` method will send the ``HISTogram:DELETEALL`` command. + + SCPI Syntax: + ``` + - HISTogram:DELETEALL + ``` + """ + + +class HistogramAddnew(SCPICmdWrite): + """The ``HISTogram:ADDNew`` command. + + Description: + - This command adds the specified waveform histogram. + + Usage: + - Using the ``.write(value)`` method will send the ``HISTogram:ADDNew value`` command. + + SCPI Syntax: + ``` + - HISTogram:ADDNew + ``` + + Info: + - ```` specifies the waveform histogram to add. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Histogram(SCPICmdRead): + """The ``HISTogram`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "HISTogram") -> None: + super().__init__(device, cmd_syntax) + self._addnew = HistogramAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._deleteall = HistogramDeleteall(device, f"{self._cmd_syntax}:DELETEALL") + self._delete = HistogramDelete(device, f"{self._cmd_syntax}:DELete") + self._histogram: Dict[int, HistogramHistogramItem] = DefaultDictPassKeyToFactory( + lambda x: HistogramHistogramItem(device, f"{self._cmd_syntax}:HISTogram{x}") + ) + self._list = HistogramList(device, f"{self._cmd_syntax}:LIST") + + @property + def addnew(self) -> HistogramAddnew: + """Return the ``HISTogram:ADDNew`` command. + + Description: + - This command adds the specified waveform histogram. + + Usage: + - Using the ``.write(value)`` method will send the ``HISTogram:ADDNew value`` command. + + SCPI Syntax: + ``` + - HISTogram:ADDNew + ``` + + Info: + - ```` specifies the waveform histogram to add. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + return self._addnew + + @property + def deleteall(self) -> HistogramDeleteall: + """Return the ``HISTogram:DELETEALL`` command. + + Description: + - This command deletes all the active instances of histograms defined in the scope + application. + + Usage: + - Using the ``.write()`` method will send the ``HISTogram:DELETEALL`` command. + + SCPI Syntax: + ``` + - HISTogram:DELETEALL + ``` + """ + return self._deleteall + + @property + def delete(self) -> HistogramDelete: + """Return the ``HISTogram:DELete`` command. + + Description: + - This command deletes the specified histogram. + + Usage: + - Using the ``.write(value)`` method will send the ``HISTogram:DELete value`` command. + + SCPI Syntax: + ``` + - HISTogram:DELete + ``` + + Info: + - ```` specifies the waveform histogram to delete. The argument is of the form + 'HIST', where NR1 is a number value ≥ 1. + """ + return self._delete + + @property + def histogram(self) -> Dict[int, HistogramHistogramItem]: + """Return the ``HISTogram:HISTogram`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:HISTogram?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``HISTogram`` specifies the histogram number. + + Sub-properties: + - ``.box``: The ``HISTogram:HISTogram:BOX`` command. + - ``.bstate``: The ``HISTogram:HISTogram:BSTate`` command. + - ``.data``: The ``HISTogram:HISTogram:DATa`` command. + - ``.display``: The ``HISTogram:HISTogram:DISPlay`` command. + - ``.function``: The ``HISTogram:HISTogram:FUNCtion`` command. + - ``.measurement``: The ``HISTogram:HISTogram:MEASurement`` command tree. + - ``.save``: The ``HISTogram:HISTogram:SAVe`` command. + - ``.size``: The ``HISTogram:HISTogram:SIZe`` command. + - ``.source``: The ``HISTogram:HISTogram:SOUrce`` command. + - ``.state``: The ``HISTogram:HISTogram:STATE`` command. + - ``.transparency``: The ``HISTogram:HISTogram:TRANsparency`` command. + """ + return self._histogram + + @property + def list(self) -> HistogramList: + """Return the ``HISTogram:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined histograms. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram:LIST?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - HISTogram:LIST? + ``` + """ + return self._list diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/horizontal.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/horizontal.py new file mode 100644 index 00000000..d97d8cb4 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/horizontal.py @@ -0,0 +1,507 @@ +"""The horizontal commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - HORizontal:DELay:MODe {ON|OFF|} + - HORizontal:DELay:MODe? + - HORizontal:DELay:TIMe + - HORizontal:DELay:TIMe? + - HORizontal:MODe {AUTO|MANual} + - HORizontal:MODe:MANual:CONFIGure {HORIZontalscale|RECORDLength} + - HORizontal:MODe:MANual:CONFIGure? + - HORizontal:MODe? + - HORizontal:POSition + - HORizontal:POSition? + - HORizontal:SAMPLERate + - HORizontal:SAMPLERate? + - HORizontal:SCAle + - HORizontal:SCAle? + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class HorizontalScale(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:SCAle`` command. + + Description: + - This command sets or queries the horizontal scale. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:SCAle?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:SCAle?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:SCAle value`` command. + + SCPI Syntax: + ``` + - HORizontal:SCAle + - HORizontal:SCAle? + ``` + + Info: + - ```` is the horizontal scale in time per division. + """ + + +class HorizontalSamplerate(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:SAMPLERate`` command. + + Description: + - This command sets or queries the horizontal sample rate. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:SAMPLERate?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:SAMPLERate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:SAMPLERate value`` command. + + SCPI Syntax: + ``` + - HORizontal:SAMPLERate + - HORizontal:SAMPLERate? + ``` + + Info: + - ```` is the horizontal sample rate in samples per second. + """ + + +class HorizontalPosition(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:POSition`` command. + + Description: + - This command sets or queries the horizontal position as a percent of screen width. When + Horizontal Delay Mode is turned off, this command is equivalent to adjusting the + HORIZONTAL POSITION knob on the front panel. When Horizontal Delay Mode is turned on, the + horizontal position is forced to 50%. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:POSition?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:POSition?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:POSition value`` command. + + SCPI Syntax: + ``` + - HORizontal:POSition + - HORizontal:POSition? + ``` + + Info: + - ```` is from 0 to ≈100 and is the position of the trigger point on the screen (0 = + left edge, 100 = right edge). + """ + + +class HorizontalModeManualConfigure(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:MODe:MANual:CONFIGure`` command. + + Description: + - Sets or queries which horizontal control (scale or record length) will primarily change + when the sample rate is changed in Manual mode. If the selected control (scale or record + length) reaches a limit then the unselected control (record length or scale) may also + change. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:MODe:MANual:CONFIGure?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:MODe:MANual:CONFIGure?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:MODe:MANual:CONFIGure value`` command. + + SCPI Syntax: + ``` + - HORizontal:MODe:MANual:CONFIGure {HORIZontalscale|RECORDLength} + - HORizontal:MODe:MANual:CONFIGure? + ``` + + Info: + - ``HORIZontalscale`` will change when sample rate is adjusted. + - ``RECORDLength`` will change when sample rate is adjusted. + """ + + +class HorizontalModeManual(SCPICmdRead): + """The ``HORizontal:MODe:MANual`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:MODe:MANual?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:MODe:MANual?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.configure``: The ``HORizontal:MODe:MANual:CONFIGure`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._configure = HorizontalModeManualConfigure(device, f"{self._cmd_syntax}:CONFIGure") + + @property + def configure(self) -> HorizontalModeManualConfigure: + """Return the ``HORizontal:MODe:MANual:CONFIGure`` command. + + Description: + - Sets or queries which horizontal control (scale or record length) will primarily + change when the sample rate is changed in Manual mode. If the selected control (scale + or record length) reaches a limit then the unselected control (record length or scale) + may also change. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:MODe:MANual:CONFIGure?`` + query. + - Using the ``.verify(value)`` method will send the + ``HORizontal:MODe:MANual:CONFIGure?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``HORizontal:MODe:MANual:CONFIGure value`` command. + + SCPI Syntax: + ``` + - HORizontal:MODe:MANual:CONFIGure {HORIZontalscale|RECORDLength} + - HORizontal:MODe:MANual:CONFIGure? + ``` + + Info: + - ``HORIZontalscale`` will change when sample rate is adjusted. + - ``RECORDLength`` will change when sample rate is adjusted. + """ + return self._configure + + +class HorizontalMode(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:MODe`` command. + + Description: + - This command set or queries the horizontal operating mode. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:MODe value`` command. + + SCPI Syntax: + ``` + - HORizontal:MODe {AUTO|MANual} + - HORizontal:MODe? + ``` + + Info: + - ``AUTO`` selects the automatic horizontal model. Auto mode automatically adjusts the + sample rate and record length to provide a high acquisition rate in Fast Acq or signal + fidelity in analysis. Record length is read only. + - ``MANUAL`` selects the manual horizontal model. Manual mode lets you change the sample + rate, horizontal scale, and record length. These values interact. For example, when you + change record length then the horizontal scale also changes. + + Properties: + - ``.manual``: The ``HORizontal:MODe:MANual`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._manual = HorizontalModeManual(device, f"{self._cmd_syntax}:MANual") + + @property + def manual(self) -> HorizontalModeManual: + """Return the ``HORizontal:MODe:MANual`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:MODe:MANual?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:MODe:MANual?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.configure``: The ``HORizontal:MODe:MANual:CONFIGure`` command. + """ + return self._manual + + +class HorizontalDelayTime(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:DELay:TIMe`` command. + + Description: + - This command sets or queries the horizontal delay time that is used when delay mode is on. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:DELay:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:DELay:TIMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:DELay:TIMe value`` command. + + SCPI Syntax: + ``` + - HORizontal:DELay:TIMe + - HORizontal:DELay:TIMe? + ``` + + Info: + - ``NR3`` is the delay in seconds. + """ + + +class HorizontalDelayMode(SCPICmdWrite, SCPICmdRead): + """The ``HORizontal:DELay:MODe`` command. + + Description: + - This command sets or queries the horizontal delay mode. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:DELay:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:DELay:MODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:DELay:MODe value`` command. + + SCPI Syntax: + ``` + - HORizontal:DELay:MODe {ON|OFF|} + - HORizontal:DELay:MODe? + ``` + + Info: + - ``OFF`` sets the Horizontal Delay Mode to off. This causes the ``HORizontal:POSition`` + command to operate like the HORIZONTAL POSITION knob on the front panel. + - ``ON`` sets the Horizontal Delay Mode to on. This causes the ``HORizontal:DELay:TIMe`` + command to operate like the HORIZONTAL POSITION knob on the front panel. + - ```` = 0 sets the Horizontal Delay Mode to off; any other value sets this mode to on. + """ + + +class HorizontalDelay(SCPICmdRead): + """The ``HORizontal:DELay`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:DELay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.mode``: The ``HORizontal:DELay:MODe`` command. + - ``.time``: The ``HORizontal:DELay:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = HorizontalDelayMode(device, f"{self._cmd_syntax}:MODe") + self._time = HorizontalDelayTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def mode(self) -> HorizontalDelayMode: + """Return the ``HORizontal:DELay:MODe`` command. + + Description: + - This command sets or queries the horizontal delay mode. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:DELay:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:DELay:MODe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:DELay:MODe value`` + command. + + SCPI Syntax: + ``` + - HORizontal:DELay:MODe {ON|OFF|} + - HORizontal:DELay:MODe? + ``` + + Info: + - ``OFF`` sets the Horizontal Delay Mode to off. This causes the ``HORizontal:POSition`` + command to operate like the HORIZONTAL POSITION knob on the front panel. + - ``ON`` sets the Horizontal Delay Mode to on. This causes the ``HORizontal:DELay:TIMe`` + command to operate like the HORIZONTAL POSITION knob on the front panel. + - ```` = 0 sets the Horizontal Delay Mode to off; any other value sets this mode to + on. + """ + return self._mode + + @property + def time(self) -> HorizontalDelayTime: + """Return the ``HORizontal:DELay:TIMe`` command. + + Description: + - This command sets or queries the horizontal delay time that is used when delay mode is + on. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:DELay:TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:DELay:TIMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:DELay:TIMe value`` + command. + + SCPI Syntax: + ``` + - HORizontal:DELay:TIMe + - HORizontal:DELay:TIMe? + ``` + + Info: + - ``NR3`` is the delay in seconds. + """ + return self._time + + +class Horizontal(SCPICmdRead): + """The ``HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.delay``: The ``HORizontal:DELay`` command tree. + - ``.mode``: The ``HORizontal:MODe`` command. + - ``.position``: The ``HORizontal:POSition`` command. + - ``.samplerate``: The ``HORizontal:SAMPLERate`` command. + - ``.scale``: The ``HORizontal:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "HORizontal") -> None: + super().__init__(device, cmd_syntax) + self._delay = HorizontalDelay(device, f"{self._cmd_syntax}:DELay") + self._mode = HorizontalMode(device, f"{self._cmd_syntax}:MODe") + self._position = HorizontalPosition(device, f"{self._cmd_syntax}:POSition") + self._samplerate = HorizontalSamplerate(device, f"{self._cmd_syntax}:SAMPLERate") + self._scale = HorizontalScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def delay(self) -> HorizontalDelay: + """Return the ``HORizontal:DELay`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:DELay?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mode``: The ``HORizontal:DELay:MODe`` command. + - ``.time``: The ``HORizontal:DELay:TIMe`` command. + """ + return self._delay + + @property + def mode(self) -> HorizontalMode: + """Return the ``HORizontal:MODe`` command. + + Description: + - This command set or queries the horizontal operating mode. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:MODe?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:MODe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:MODe value`` command. + + SCPI Syntax: + ``` + - HORizontal:MODe {AUTO|MANual} + - HORizontal:MODe? + ``` + + Info: + - ``AUTO`` selects the automatic horizontal model. Auto mode automatically adjusts the + sample rate and record length to provide a high acquisition rate in Fast Acq or signal + fidelity in analysis. Record length is read only. + - ``MANUAL`` selects the manual horizontal model. Manual mode lets you change the sample + rate, horizontal scale, and record length. These values interact. For example, when + you change record length then the horizontal scale also changes. + + Sub-properties: + - ``.manual``: The ``HORizontal:MODe:MANual`` command tree. + """ + return self._mode + + @property + def position(self) -> HorizontalPosition: + """Return the ``HORizontal:POSition`` command. + + Description: + - This command sets or queries the horizontal position as a percent of screen width. + When Horizontal Delay Mode is turned off, this command is equivalent to adjusting the + HORIZONTAL POSITION knob on the front panel. When Horizontal Delay Mode is turned on, + the horizontal position is forced to 50%. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:POSition?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:POSition?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:POSition value`` + command. + + SCPI Syntax: + ``` + - HORizontal:POSition + - HORizontal:POSition? + ``` + + Info: + - ```` is from 0 to ≈100 and is the position of the trigger point on the screen (0 + = left edge, 100 = right edge). + """ + return self._position + + @property + def samplerate(self) -> HorizontalSamplerate: + """Return the ``HORizontal:SAMPLERate`` command. + + Description: + - This command sets or queries the horizontal sample rate. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:SAMPLERate?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:SAMPLERate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:SAMPLERate value`` + command. + + SCPI Syntax: + ``` + - HORizontal:SAMPLERate + - HORizontal:SAMPLERate? + ``` + + Info: + - ```` is the horizontal sample rate in samples per second. + """ + return self._samplerate + + @property + def scale(self) -> HorizontalScale: + """Return the ``HORizontal:SCAle`` command. + + Description: + - This command sets or queries the horizontal scale. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal:SCAle?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal:SCAle?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HORizontal:SCAle value`` command. + + SCPI Syntax: + ``` + - HORizontal:SCAle + - HORizontal:SCAle? + ``` + + Info: + - ```` is the horizontal scale in time per division. + """ + return self._scale diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/mask.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/mask.py new file mode 100644 index 00000000..e782b8de --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/mask.py @@ -0,0 +1,1398 @@ +"""The mask commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - MASK:DELete 'MASK' + - MASK:MASK:COUNT:HITS? + - MASK:MASK:COUNT? + - MASK:MASK:DEFinedby {SEGments|TOLerances} + - MASK:MASK:DEFinedby? + - MASK:MASK:DISplay {ON|OFF} + - MASK:MASK:DISplay? + - MASK:MASK:LIST? + - MASK:MASK:SEG:COUNT:HITS? + - MASK:MASK:SEG:POINTS + - MASK:MASK:SEG:POINTS? + - MASK:MASK:SOUrce {CH|REF|MATH|RFvsTime} + - MASK:MASK:SOUrce? + - MASK:MASK:TESt:CTHReshold + - MASK:MASK:TESt:CTHReshold? + - MASK:MASK:TESt:STATE {ON|OFF} + - MASK:MASK:TESt:STATE? + - MASK:MASK:TESt:STATUS? + - MASK:MASK:TESt:THReshold + - MASK:MASK:TESt:THReshold? + - MASK:MASK:TOLerance:HABSolute + - MASK:MASK:TOLerance:HABSolute? + - MASK:MASK:TOLerance:HORizontal + - MASK:MASK:TOLerance:HORizontal? + - MASK:MASK:TOLerance:UPDatenow + - MASK:MASK:TOLerance:VABSolute + - MASK:MASK:TOLerance:VABSolute? + - MASK:MASK:TOLerance:VERTical + - MASK:MASK:TOLerance:VERTical? + - MASK:MASK:TTYPe {SCReen|ABSolute} + - MASK:MASK:TTYPe? + - MASK:TESt:WAVEforms + - MASK:TESt:WAVEforms? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class MaskTestWaveforms(SCPICmdWrite, SCPICmdRead): + """The ``MASK:TESt:WAVEforms`` command. + + Description: + - This command sets or queries the number of waveform acquisitions to test during mask + testing. The number of waveforms applies to all mask tests. + + Usage: + - Using the ``.query()`` method will send the ``MASK:TESt:WAVEforms?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:TESt:WAVEforms?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:TESt:WAVEforms value`` command. + + SCPI Syntax: + ``` + - MASK:TESt:WAVEforms + - MASK:TESt:WAVEforms? + ``` + + Info: + - ```` specifies the number of waveform acquisitions. + """ + + +class MaskTest(SCPICmdRead): + """The ``MASK:TESt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:TESt?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:TESt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.waveforms``: The ``MASK:TESt:WAVEforms`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._waveforms = MaskTestWaveforms(device, f"{self._cmd_syntax}:WAVEforms") + + @property + def waveforms(self) -> MaskTestWaveforms: + """Return the ``MASK:TESt:WAVEforms`` command. + + Description: + - This command sets or queries the number of waveform acquisitions to test during mask + testing. The number of waveforms applies to all mask tests. + + Usage: + - Using the ``.query()`` method will send the ``MASK:TESt:WAVEforms?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:TESt:WAVEforms?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:TESt:WAVEforms value`` + command. + + SCPI Syntax: + ``` + - MASK:TESt:WAVEforms + - MASK:TESt:WAVEforms? + ``` + + Info: + - ```` specifies the number of waveform acquisitions. + """ + return self._waveforms + + +class MaskMaskItemTtype(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TTYPe`` command. + + Description: + - This command sets or queries the type of tolerance values used when defining a tolerance + mask. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TTYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TTYPe value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TTYPe {SCReen|ABSolute} + - MASK:MASK:TTYPe? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ``SCReen`` indicates that the horizontal and vertical mask tolerances are defined in + relative units of graticule divisions. There are always 10 horizontal divisions and 10 + vertical divisions on the scope waveform display. When the tolerance type is SCReen, the + tolerance values set by the HORizontal and VERTical commands are used to define the + tolerance mask when an UPDatenow command is sent. + - ``ABSolute`` indicates that the horizontal and vertical mask tolerances are defined in the + absolute units of the mask source waveform. These units are normally seconds and volts + respectively. When the tolerance type is ABSolute, the tolerance values set by the + HABSolute and VABSolute commands are used to define the tolerance mask when an UPDatenow + command is sent. + """ + + +class MaskMaskItemToleranceVertical(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TOLerance:VERTical`` command. + + Description: + - This command sets or queries the mask vertical tolerance. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:VERTical?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:VERTical?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TOLerance:VERTical value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:VERTical + - MASK:MASK:TOLerance:VERTical? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of graticule divisions. The maximum is 1 division. + """ + + +class MaskMaskItemToleranceVabsolute(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TOLerance:VABSolute`` command. + + Description: + - This command sets or queries the mask vertical tolerance in absolute units of the mask + source (generally volts). This value is used when the mask TTYPe is set to ABSolute and + the UPDatenow command is sent. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:VABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:VABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:VABSolute value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:VABSolute + - MASK:MASK:TOLerance:VABSolute? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of the mask source. Most traces in the waveform window + have vertical units of volts, but other units such as amps or degrees are possible. The + maximum value is the equivalent of one vertical graticule division. + """ + + +class MaskMaskItemToleranceUpdatenow(SCPICmdWriteNoArguments): + """The ``MASK:MASK:TOLerance:UPDatenow`` command. + + Description: + - This command causes the tolerance mask to be recalculated with the current horizontal and + vertical tolerances. + + Usage: + - Using the ``.write()`` method will send the ``MASK:MASK:TOLerance:UPDatenow`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:UPDatenow + ``` + + Info: + - ``MASK`` specifies the mask number. + """ + + +class MaskMaskItemToleranceHorizontal(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TOLerance:HORizontal`` command. + + Description: + - This command sets or queries the mask horizontal tolerance. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:HORizontal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:HORizontal value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:HORizontal + - MASK:MASK:TOLerance:HORizontal? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of graticule divisions. The maximum is 1 division. + """ + + +class MaskMaskItemToleranceHabsolute(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TOLerance:HABSolute`` command. + + Description: + - This command sets or queries the mask horizontal tolerance in absolute units of seconds. + This value is used when the mask TTYPe is set to ABSolute and the UPDatenow command is + sent. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:HABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:HABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:HABSolute value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:HABSolute + - MASK:MASK:TOLerance:HABSolute? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of seconds. The maximum time is the equivalent of one + horizontal graticule division. + """ + + +class MaskMaskItemTolerance(SCPICmdRead): + """The ``MASK:MASK:TOLerance`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask number. + + Properties: + - ``.habsolute``: The ``MASK:MASK:TOLerance:HABSolute`` command. + - ``.horizontal``: The ``MASK:MASK:TOLerance:HORizontal`` command. + - ``.updatenow``: The ``MASK:MASK:TOLerance:UPDatenow`` command. + - ``.vabsolute``: The ``MASK:MASK:TOLerance:VABSolute`` command. + - ``.vertical``: The ``MASK:MASK:TOLerance:VERTical`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._habsolute = MaskMaskItemToleranceHabsolute(device, f"{self._cmd_syntax}:HABSolute") + self._horizontal = MaskMaskItemToleranceHorizontal(device, f"{self._cmd_syntax}:HORizontal") + self._updatenow = MaskMaskItemToleranceUpdatenow(device, f"{self._cmd_syntax}:UPDatenow") + self._vabsolute = MaskMaskItemToleranceVabsolute(device, f"{self._cmd_syntax}:VABSolute") + self._vertical = MaskMaskItemToleranceVertical(device, f"{self._cmd_syntax}:VERTical") + + @property + def habsolute(self) -> MaskMaskItemToleranceHabsolute: + """Return the ``MASK:MASK:TOLerance:HABSolute`` command. + + Description: + - This command sets or queries the mask horizontal tolerance in absolute units of + seconds. This value is used when the mask TTYPe is set to ABSolute and the UPDatenow + command is sent. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:HABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MASK:MASK:TOLerance:HABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:HABSolute value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:HABSolute + - MASK:MASK:TOLerance:HABSolute? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of seconds. The maximum time is the equivalent of + one horizontal graticule division. + """ + return self._habsolute + + @property + def horizontal(self) -> MaskMaskItemToleranceHorizontal: + """Return the ``MASK:MASK:TOLerance:HORizontal`` command. + + Description: + - This command sets or queries the mask horizontal tolerance. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:HORizontal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MASK:MASK:TOLerance:HORizontal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:HORizontal value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:HORizontal + - MASK:MASK:TOLerance:HORizontal? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of graticule divisions. The maximum is 1 division. + """ + return self._horizontal + + @property + def updatenow(self) -> MaskMaskItemToleranceUpdatenow: + """Return the ``MASK:MASK:TOLerance:UPDatenow`` command. + + Description: + - This command causes the tolerance mask to be recalculated with the current horizontal + and vertical tolerances. + + Usage: + - Using the ``.write()`` method will send the ``MASK:MASK:TOLerance:UPDatenow`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:UPDatenow + ``` + + Info: + - ``MASK`` specifies the mask number. + """ + return self._updatenow + + @property + def vabsolute(self) -> MaskMaskItemToleranceVabsolute: + """Return the ``MASK:MASK:TOLerance:VABSolute`` command. + + Description: + - This command sets or queries the mask vertical tolerance in absolute units of the mask + source (generally volts). This value is used when the mask TTYPe is set to ABSolute + and the UPDatenow command is sent. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:VABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MASK:MASK:TOLerance:VABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:VABSolute value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:VABSolute + - MASK:MASK:TOLerance:VABSolute? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of the mask source. Most traces in the waveform + window have vertical units of volts, but other units such as amps or degrees are + possible. The maximum value is the equivalent of one vertical graticule division. + """ + return self._vabsolute + + @property + def vertical(self) -> MaskMaskItemToleranceVertical: + """Return the ``MASK:MASK:TOLerance:VERTical`` command. + + Description: + - This command sets or queries the mask vertical tolerance. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance:VERTical?`` + query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance:VERTical?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TOLerance:VERTical value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TOLerance:VERTical + - MASK:MASK:TOLerance:VERTical? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ```` is the tolerance in units of graticule divisions. The maximum is 1 division. + """ + return self._vertical + + +class MaskMaskItemTestThreshold(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TESt:THReshold`` command. + + Description: + - This command sets or queries the number of waveform violations needed for the specified + mask test to change from PASS to FAIL. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TESt:THReshold value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:THReshold + - MASK:MASK:TESt:THReshold? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ```` specifies the threshold value. + """ + + +class MaskMaskItemTestStatus(SCPICmdRead): + """The ``MASK:MASK:TESt:STATUS`` command. + + Description: + - This command returns the status of the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:STATUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:STATUS? + ``` + + Info: + - ``MASK`` specifies the mask test. + """ + + +class MaskMaskItemTestState(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TESt:STATE`` command. + + Description: + - This command sets or queries the state of the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TESt:STATE value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:STATE {ON|OFF} + - MASK:MASK:TESt:STATE? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``ON`` sets the mask test state to ON. When the state is ON the Pass/Fail status and hit + count information are reset and the mask test is started. + - ``OFF`` sets the mask test state to OFF. When the mask test completes the state is set to + OFF. + """ + + +class MaskMaskItemTestCthreshold(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:TESt:CTHReshold`` command. + + Description: + - This command sets or queries the number of consecutive waveform violations needed for the + specified mask test to change from PASS to FAIL. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:CTHReshold?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:CTHReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TESt:CTHReshold value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:CTHReshold + - MASK:MASK:TESt:CTHReshold? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ```` specifies the threshold value. + """ + + +class MaskMaskItemTest(SCPICmdRead): + """The ``MASK:MASK:TESt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + + Properties: + - ``.cthreshold``: The ``MASK:MASK:TESt:CTHReshold`` command. + - ``.state``: The ``MASK:MASK:TESt:STATE`` command. + - ``.status``: The ``MASK:MASK:TESt:STATUS`` command. + - ``.threshold``: The ``MASK:MASK:TESt:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cthreshold = MaskMaskItemTestCthreshold(device, f"{self._cmd_syntax}:CTHReshold") + self._state = MaskMaskItemTestState(device, f"{self._cmd_syntax}:STATE") + self._status = MaskMaskItemTestStatus(device, f"{self._cmd_syntax}:STATUS") + self._threshold = MaskMaskItemTestThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def cthreshold(self) -> MaskMaskItemTestCthreshold: + """Return the ``MASK:MASK:TESt:CTHReshold`` command. + + Description: + - This command sets or queries the number of consecutive waveform violations needed for + the specified mask test to change from PASS to FAIL. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:CTHReshold?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:CTHReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MASK:MASK:TESt:CTHReshold value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:CTHReshold + - MASK:MASK:TESt:CTHReshold? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ```` specifies the threshold value. + """ + return self._cthreshold + + @property + def state(self) -> MaskMaskItemTestState: + """Return the ``MASK:MASK:TESt:STATE`` command. + + Description: + - This command sets or queries the state of the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TESt:STATE value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:STATE {ON|OFF} + - MASK:MASK:TESt:STATE? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``ON`` sets the mask test state to ON. When the state is ON the Pass/Fail status and + hit count information are reset and the mask test is started. + - ``OFF`` sets the mask test state to OFF. When the mask test completes the state is set + to OFF. + """ + return self._state + + @property + def status(self) -> MaskMaskItemTestStatus: + """Return the ``MASK:MASK:TESt:STATUS`` command. + + Description: + - This command returns the status of the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:STATUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:STATUS? + ``` + + Info: + - ``MASK`` specifies the mask test. + """ + return self._status + + @property + def threshold(self) -> MaskMaskItemTestThreshold: + """Return the ``MASK:MASK:TESt:THReshold`` command. + + Description: + - This command sets or queries the number of waveform violations needed for the + specified mask test to change from PASS to FAIL. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TESt:THReshold value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:TESt:THReshold + - MASK:MASK:TESt:THReshold? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ```` specifies the threshold value. + """ + return self._threshold + + +class MaskMaskItemSource(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:SOUrce`` command. + + Description: + - This command sets or queries analog source for the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:SOUrce value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:SOUrce {CH|REF|MATH|RFvsTime} + - MASK:MASK:SOUrce? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``REF`` specifies a reference waveform as the source. + - ``RFvsTime`` specifies a RF vs Time as the source. + """ + + +class MaskMaskItemSegItemPoints(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:SEG:POINTS`` command. + + Description: + - This command sets or queries the X/Y coordinates of all points in the designated mask + segment. Mask vertices are in time/volts (currently limited to 1024 characters). The set + form defines new points in the mask, replacing any existing points. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG:POINTS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG:POINTS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:SEG:POINTS value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:SEG:POINTS + - MASK:MASK:SEG:POINTS? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + - ```` specifies the X/Y coordinates of all points in the designated mask segment. + """ + + +class MaskMaskItemSegItemCountHits(SCPICmdRead): + """The ``MASK:MASK:SEG:COUNT:HITS`` command. + + Description: + - The command returns the total number of mask hits in the specified mask segment of the + specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG:COUNT:HITS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG:COUNT:HITS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:SEG:COUNT:HITS? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + """ + + +class MaskMaskItemSegItemCount(SCPICmdRead): + """The ``MASK:MASK:SEG:COUNT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG:COUNT?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG:COUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + + Properties: + - ``.hits``: The ``MASK:MASK:SEG:COUNT:HITS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hits = MaskMaskItemSegItemCountHits(device, f"{self._cmd_syntax}:HITS") + + @property + def hits(self) -> MaskMaskItemSegItemCountHits: + """Return the ``MASK:MASK:SEG:COUNT:HITS`` command. + + Description: + - The command returns the total number of mask hits in the specified mask segment of the + specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG:COUNT:HITS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG:COUNT:HITS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:SEG:COUNT:HITS? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + """ + return self._hits + + +class MaskMaskItemSegItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``MASK:MASK:SEG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + + Properties: + - ``.count``: The ``MASK:MASK:SEG:COUNT`` command tree. + - ``.points``: The ``MASK:MASK:SEG:POINTS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = MaskMaskItemSegItemCount(device, f"{self._cmd_syntax}:COUNT") + self._points = MaskMaskItemSegItemPoints(device, f"{self._cmd_syntax}:POINTS") + + @property + def count(self) -> MaskMaskItemSegItemCount: + """Return the ``MASK:MASK:SEG:COUNT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG:COUNT?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG:COUNT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + + Sub-properties: + - ``.hits``: The ``MASK:MASK:SEG:COUNT:HITS`` command. + """ + return self._count + + @property + def points(self) -> MaskMaskItemSegItemPoints: + """Return the ``MASK:MASK:SEG:POINTS`` command. + + Description: + - This command sets or queries the X/Y coordinates of all points in the designated mask + segment. Mask vertices are in time/volts (currently limited to 1024 characters). The + set form defines new points in the mask, replacing any existing points. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG:POINTS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG:POINTS?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:SEG:POINTS value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:SEG:POINTS + - MASK:MASK:SEG:POINTS? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + - ```` specifies the X/Y coordinates of all points in the designated mask segment. + """ + return self._points + + +class MaskMaskItemList(SCPICmdRead): + """The ``MASK:MASK:LIST`` command. + + Description: + - This command queries the list of segments in the mask used by the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:LIST?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:LIST? + ``` + + Info: + - ``MASK`` specifies the mask test. + """ + + +class MaskMaskItemDisplay(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:DISplay`` command. + + Description: + - This command sets or queries the display state of the mask used for the specified mask + test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:DISplay?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:DISplay value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:DISplay {ON|OFF} + - MASK:MASK:DISplay? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``ON`` sets the display state of the specified mask to on. + - ``OFF`` sets the display state of the specified mask to off. + """ + + +class MaskMaskItemDefinedby(SCPICmdWrite, SCPICmdRead): + """The ``MASK:MASK:DEFinedby`` command. + + Description: + - This command sets or queries whether the specified mask is defined by segments or + tolerances. Segment masks are defined by one or more polygons. Tolerance masks are defined + by specified horizontal and vertical tolerances around the mask source. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:DEFinedby?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:DEFinedby?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:DEFinedby value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:DEFinedby {SEGments|TOLerances} + - MASK:MASK:DEFinedby? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ``SEGments`` defines the mask by segments. + - ``TOLerances`` defines the mask by horizontal and vertical tolerances around mask source. + """ + + +class MaskMaskItemCountHits(SCPICmdRead): + """The ``MASK:MASK:COUNT:HITS`` command. + + Description: + - This command returns the total number of mask hits in all mask segments for the specified + mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:COUNT:HITS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:COUNT:HITS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:COUNT:HITS? + ``` + + Info: + - ``MASK`` specifies the mask test. + """ + + +class MaskMaskItemCount(SCPICmdRead): + """The ``MASK:MASK:COUNT`` command. + + Description: + - This command returns the total number of mask hits in all segments and the number of mask + hits in each individual mask segment for the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:COUNT?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:COUNT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:COUNT? + ``` + + Info: + - ``MASK`` specifies the mask test. + + Properties: + - ``.hits``: The ``MASK:MASK:COUNT:HITS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hits = MaskMaskItemCountHits(device, f"{self._cmd_syntax}:HITS") + + @property + def hits(self) -> MaskMaskItemCountHits: + """Return the ``MASK:MASK:COUNT:HITS`` command. + + Description: + - This command returns the total number of mask hits in all mask segments for the + specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:COUNT:HITS?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:COUNT:HITS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:COUNT:HITS? + ``` + + Info: + - ``MASK`` specifies the mask test. + """ + return self._hits + + +# pylint: disable=too-many-instance-attributes +class MaskMaskItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``MASK:MASK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + + Properties: + - ``.count``: The ``MASK:MASK:COUNT`` command. + - ``.definedby``: The ``MASK:MASK:DEFinedby`` command. + - ``.display``: The ``MASK:MASK:DISplay`` command. + - ``.list``: The ``MASK:MASK:LIST`` command. + - ``.seg``: The ``MASK:MASK:SEG`` command tree. + - ``.source``: The ``MASK:MASK:SOUrce`` command. + - ``.test``: The ``MASK:MASK:TESt`` command tree. + - ``.tolerance``: The ``MASK:MASK:TOLerance`` command tree. + - ``.ttype``: The ``MASK:MASK:TTYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = MaskMaskItemCount(device, f"{self._cmd_syntax}:COUNT") + self._definedby = MaskMaskItemDefinedby(device, f"{self._cmd_syntax}:DEFinedby") + self._display = MaskMaskItemDisplay(device, f"{self._cmd_syntax}:DISplay") + self._list = MaskMaskItemList(device, f"{self._cmd_syntax}:LIST") + self._seg: Dict[int, MaskMaskItemSegItem] = DefaultDictPassKeyToFactory( + lambda x: MaskMaskItemSegItem(device, f"{self._cmd_syntax}:SEG{x}") + ) + self._source = MaskMaskItemSource(device, f"{self._cmd_syntax}:SOUrce") + self._test = MaskMaskItemTest(device, f"{self._cmd_syntax}:TESt") + self._tolerance = MaskMaskItemTolerance(device, f"{self._cmd_syntax}:TOLerance") + self._ttype = MaskMaskItemTtype(device, f"{self._cmd_syntax}:TTYPe") + + @property + def count(self) -> MaskMaskItemCount: + """Return the ``MASK:MASK:COUNT`` command. + + Description: + - This command returns the total number of mask hits in all segments and the number of + mask hits in each individual mask segment for the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:COUNT?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:COUNT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:COUNT? + ``` + + Info: + - ``MASK`` specifies the mask test. + + Sub-properties: + - ``.hits``: The ``MASK:MASK:COUNT:HITS`` command. + """ + return self._count + + @property + def definedby(self) -> MaskMaskItemDefinedby: + """Return the ``MASK:MASK:DEFinedby`` command. + + Description: + - This command sets or queries whether the specified mask is defined by segments or + tolerances. Segment masks are defined by one or more polygons. Tolerance masks are + defined by specified horizontal and vertical tolerances around the mask source. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:DEFinedby?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:DEFinedby?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:DEFinedby value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:DEFinedby {SEGments|TOLerances} + - MASK:MASK:DEFinedby? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ``SEGments`` defines the mask by segments. + - ``TOLerances`` defines the mask by horizontal and vertical tolerances around mask + source. + """ + return self._definedby + + @property + def display(self) -> MaskMaskItemDisplay: + """Return the ``MASK:MASK:DISplay`` command. + + Description: + - This command sets or queries the display state of the mask used for the specified mask + test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:DISplay?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:DISplay value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:DISplay {ON|OFF} + - MASK:MASK:DISplay? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``ON`` sets the display state of the specified mask to on. + - ``OFF`` sets the display state of the specified mask to off. + """ + return self._display + + @property + def list(self) -> MaskMaskItemList: + """Return the ``MASK:MASK:LIST`` command. + + Description: + - This command queries the list of segments in the mask used by the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:LIST?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MASK:MASK:LIST? + ``` + + Info: + - ``MASK`` specifies the mask test. + """ + return self._list + + @property + def seg(self) -> Dict[int, MaskMaskItemSegItem]: + """Return the ``MASK:MASK:SEG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SEG?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SEG?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + - ``SEG`` specifies the mask segment. + + Sub-properties: + - ``.count``: The ``MASK:MASK:SEG:COUNT`` command tree. + - ``.points``: The ``MASK:MASK:SEG:POINTS`` command. + """ + return self._seg + + @property + def source(self) -> MaskMaskItemSource: + """Return the ``MASK:MASK:SOUrce`` command. + + Description: + - This command sets or queries analog source for the specified mask test. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:SOUrce value`` + command. + + SCPI Syntax: + ``` + - MASK:MASK:SOUrce {CH|REF|MATH|RFvsTime} + - MASK:MASK:SOUrce? + ``` + + Info: + - ``MASK`` specifies the mask test. + - ``CH`` specifies an analog channel as source. + - ``MATH`` specifies a math channel as source. + - ``REF`` specifies a reference waveform as the source. + - ``RFvsTime`` specifies a RF vs Time as the source. + """ + return self._source + + @property + def test(self) -> MaskMaskItemTest: + """Return the ``MASK:MASK:TESt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TESt?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TESt?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + + Sub-properties: + - ``.cthreshold``: The ``MASK:MASK:TESt:CTHReshold`` command. + - ``.state``: The ``MASK:MASK:TESt:STATE`` command. + - ``.status``: The ``MASK:MASK:TESt:STATUS`` command. + - ``.threshold``: The ``MASK:MASK:TESt:THReshold`` command. + """ + return self._test + + @property + def tolerance(self) -> MaskMaskItemTolerance: + """Return the ``MASK:MASK:TOLerance`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TOLerance?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TOLerance?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask number. + + Sub-properties: + - ``.habsolute``: The ``MASK:MASK:TOLerance:HABSolute`` command. + - ``.horizontal``: The ``MASK:MASK:TOLerance:HORizontal`` command. + - ``.updatenow``: The ``MASK:MASK:TOLerance:UPDatenow`` command. + - ``.vabsolute``: The ``MASK:MASK:TOLerance:VABSolute`` command. + - ``.vertical``: The ``MASK:MASK:TOLerance:VERTical`` command. + """ + return self._tolerance + + @property + def ttype(self) -> MaskMaskItemTtype: + """Return the ``MASK:MASK:TTYPe`` command. + + Description: + - This command sets or queries the type of tolerance values used when defining a + tolerance mask. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK:TTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK:TTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MASK:MASK:TTYPe value`` command. + + SCPI Syntax: + ``` + - MASK:MASK:TTYPe {SCReen|ABSolute} + - MASK:MASK:TTYPe? + ``` + + Info: + - ``MASK`` specifies the mask number. + - ``SCReen`` indicates that the horizontal and vertical mask tolerances are defined in + relative units of graticule divisions. There are always 10 horizontal divisions and 10 + vertical divisions on the scope waveform display. When the tolerance type is SCReen, + the tolerance values set by the HORizontal and VERTical commands are used to define + the tolerance mask when an UPDatenow command is sent. + - ``ABSolute`` indicates that the horizontal and vertical mask tolerances are defined in + the absolute units of the mask source waveform. These units are normally seconds and + volts respectively. When the tolerance type is ABSolute, the tolerance values set by + the HABSolute and VABSolute commands are used to define the tolerance mask when an + UPDatenow command is sent. + """ + return self._ttype + + +class MaskDelete(SCPICmdWrite): + """The ``MASK:DELete`` command. + + Description: + - This command deletes all mask segments of the specified mask test. + + Usage: + - Using the ``.write(value)`` method will send the ``MASK:DELete value`` command. + + SCPI Syntax: + ``` + - MASK:DELete 'MASK' + ``` + + Info: + - ``MASK`` specifies the mask test. This argument is enclosed in quotes. + """ + + +class Mask(SCPICmdRead): + """The ``MASK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.delete``: The ``MASK:DELete`` command. + - ``.mask``: The ``MASK:MASK`` command tree. + - ``.test``: The ``MASK:TESt`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "MASK") -> None: + super().__init__(device, cmd_syntax) + self._delete = MaskDelete(device, f"{self._cmd_syntax}:DELete") + self._mask: Dict[int, MaskMaskItem] = DefaultDictPassKeyToFactory( + lambda x: MaskMaskItem(device, f"{self._cmd_syntax}:MASK{x}") + ) + self._test = MaskTest(device, f"{self._cmd_syntax}:TESt") + + @property + def delete(self) -> MaskDelete: + """Return the ``MASK:DELete`` command. + + Description: + - This command deletes all mask segments of the specified mask test. + + Usage: + - Using the ``.write(value)`` method will send the ``MASK:DELete value`` command. + + SCPI Syntax: + ``` + - MASK:DELete 'MASK' + ``` + + Info: + - ``MASK`` specifies the mask test. This argument is enclosed in quotes. + """ + return self._delete + + @property + def mask(self) -> Dict[int, MaskMaskItem]: + """Return the ``MASK:MASK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``MASK`` specifies the mask test. + + Sub-properties: + - ``.count``: The ``MASK:MASK:COUNT`` command. + - ``.definedby``: The ``MASK:MASK:DEFinedby`` command. + - ``.display``: The ``MASK:MASK:DISplay`` command. + - ``.list``: The ``MASK:MASK:LIST`` command. + - ``.seg``: The ``MASK:MASK:SEG`` command tree. + - ``.source``: The ``MASK:MASK:SOUrce`` command. + - ``.test``: The ``MASK:MASK:TESt`` command tree. + - ``.tolerance``: The ``MASK:MASK:TOLerance`` command tree. + - ``.ttype``: The ``MASK:MASK:TTYPe`` command. + """ + return self._mask + + @property + def test(self) -> MaskTest: + """Return the ``MASK:TESt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK:TESt?`` query. + - Using the ``.verify(value)`` method will send the ``MASK:TESt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.waveforms``: The ``MASK:TESt:WAVEforms`` command. + """ + return self._test diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/math.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/math.py new file mode 100644 index 00000000..384521e5 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/math.py @@ -0,0 +1,5795 @@ +# pylint: disable=line-too-long +"""The math commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - MATH:ADDNew + - MATH:DELete + - MATH:LIST? + - MATH:MATH:ARINC429A:SUPPortedfields {DATa} + - MATH:MATH:ARINC429A:SUPPortedfields? + - MATH:MATH:AUDIO:SUPPortedfields {LCHannel|RCHannel|TDMChannel} + - MATH:MATH:AUDIO:SUPPortedfields? + - MATH:MATH:AUTOETHERnet:SUPPortedfields {DATa|IPData|TDATa} + - MATH:MATH:AUTOETHERnet:SUPPortedfields? + - MATH:MATH:AVG:MODE {ON|OFF|} + - MATH:MATH:AVG:WEIGht + - MATH:MATH:CAN:SUPPortedfields {DATa} + - MATH:MATH:CAN:SUPPortedfields? + - MATH:MATH:CXPI:SUPPortedfields {DATa} + - MATH:MATH:CXPI:SUPPortedfields? + - MATH:MATH:DEFine + - MATH:MATH:DEFine? + - MATH:MATH:ESPI:SUPPortedfields {DATa|CDATa|RDATa} + - MATH:MATH:ESPI:SUPPortedfields? + - MATH:MATH:ETHERCAT:SUPPortedfields {DATa|SDATa|NWVariabledata} + - MATH:MATH:ETHERCAT:SUPPortedfields? + - MATH:MATH:ETHERnet:SUPPortedfields {DATa|IPData|TDATa} + - MATH:MATH:ETHERnet:SUPPortedfields? + - MATH:MATH:EUSB:SUPPortedfields {DATa|DDATa} + - MATH:MATH:EUSB:SUPPortedfields? + - MATH:MATH:FILTer:CFReq + - MATH:MATH:FILTer:CFReq? + - MATH:MATH:FILTer:DELay + - MATH:MATH:FILTer:DELay? + - MATH:MATH:FILTer:DESIgn {EXECUTE|ABORT|APPLY} + - MATH:MATH:FILTer:HCFReq + - MATH:MATH:FILTer:HCFReq? + - MATH:MATH:FILTer:INFo? + - MATH:MATH:FILTer:LCFReq + - MATH:MATH:FILTer:LCFReq? + - MATH:MATH:FILTer:LOAD + - MATH:MATH:FILTer:LOAD:RESPonse {1|0} + - MATH:MATH:FILTer:LOAD:RESPonse? + - MATH:MATH:FILTer:ORDer + - MATH:MATH:FILTer:ORDer? + - MATH:MATH:FILTer:PRIPple + - MATH:MATH:FILTer:PRIPple? + - MATH:MATH:FILTer:RESPonse {BUTTerworth|CHEBYONe|CHEBYTWo|ELLiptical|GAUSsian|BESSelCUSTom} + - MATH:MATH:FILTer:ROFactor + - MATH:MATH:FILTer:ROFactor? + - MATH:MATH:FILTer:SATTenuation + - MATH:MATH:FILTer:SATTenuation? + - MATH:MATH:FILTer:SAVe + - MATH:MATH:FILTer:SAVe:RESPonse {1|0} + - MATH:MATH:FILTer:SAVe:RESPonse? + - MATH:MATH:FILTer:SDEViation + - MATH:MATH:FILTer:SDEViation? + - MATH:MATH:FILTer:SDURation + - MATH:MATH:FILTer:SDURation? + - MATH:MATH:FILTer:SOURce {S_Ch|CH|MATH|REF} + - MATH:MATH:FILTer:SOURce? + - MATH:MATH:FILTer:SYMBols + - MATH:MATH:FILTer:SYMBols? + - MATH:MATH:FILTer:TWIDth + - MATH:MATH:FILTer:TWIDth? + - MATH:MATH:FILTer:TYPe {LPASs|HPASs|BPASs|BSTop|APASs|HILBert|DIFFerentiator|RC|RRC} + - MATH:MATH:FILTer:TYPe? + - MATH:MATH:FLEXray:SUPPortedfields {DATa} + - MATH:MATH:FLEXray:SUPPortedfields? + - MATH:MATH:FUNCtion {ADD|SUBtract|MULTiply|DIVide} + - MATH:MATH:GATing {NONE|SCREEN|CURSor} + - MATH:MATH:GATing? + - MATH:MATH:I2C:SUPPortedfields {DATa} + - MATH:MATH:I2C:SUPPortedfields? + - MATH:MATH:I3C:SUPPortedfields {DATa} + - MATH:MATH:I3C:SUPPortedfields? + - MATH:MATH:INTERpolation {ON|OFF} + - MATH:MATH:LABel:COLor + - MATH:MATH:LABel:FONT:BOLD {ON|OFF|} + - MATH:MATH:LABel:FONT:ITALic {ON|OFF|} + - MATH:MATH:LABel:FONT:SIZE + - MATH:MATH:LABel:FONT:TYPE + - MATH:MATH:LABel:FONT:UNDERline {ON|OFF|} + - MATH:MATH:LABel:NAMe + - MATH:MATH:LABel:NAMe? + - MATH:MATH:LABel:XPOS + - MATH:MATH:LABel:XPOS? + - MATH:MATH:LABel:YPOS + - MATH:MATH:LABel:YPOS? + - MATH:MATH:LIN:SUPPortedfields {DATa} + - MATH:MATH:LIN:SUPPortedfields? + - MATH:MATH:MDIO:SUPPortedfields {DATa} + - MATH:MATH:MDIO:SUPPortedfields? + - MATH:MATH:MIL1553B:SUPPortedfields {DATa|PAYLoad} + - MATH:MATH:MIL1553B:SUPPortedfields? + - MATH:MATH:ONEWIRe:SUPPortedfields {DATa} + - MATH:MATH:ONEWIRe:SUPPortedfields? + - MATH:MATH:PARallel:SUPPortedfields {DATa} + - MATH:MATH:PARallel:SUPPortedfields? + - MATH:MATH:PSIFIVe:SUPPortedfields {DATa|DRA|DRB|SDATa} + - MATH:MATH:PSIFIVe:SUPPortedfields? + - MATH:MATH:RS232C:SUPPortedfields {DATa|TXData|RXData} + - MATH:MATH:RS232C:SUPPortedfields? + - MATH:MATH:SDLC:SUPPortedfields {DATa} + - MATH:MATH:SDLC:SUPPortedfields? + - MATH:MATH:SENT:SUPPortedfields {FCData|FCDFirst|FCDTwo|SDATa} + - MATH:MATH:SENT:SUPPortedfields? + - MATH:MATH:SIGNeddata {ON|OFF} + - MATH:MATH:SIGNeddata? + - MATH:MATH:SMBUS:SUPPortedfields {DATa} + - MATH:MATH:SMBUS:SUPPortedfields? + - MATH:MATH:SOUrce1 {S_Ch|CH|MATH|REF} + - MATH:MATH:SPACEWIRe:SUPPortedfields {DATa} + - MATH:MATH:SPACEWIRe:SUPPortedfields? + - MATH:MATH:SPECTral:HORZ {LOG|LINEAr} + - MATH:MATH:SPECTral:HORZ? + - MATH:MATH:SPECTral:MAG {LINEAr|DBM} + - MATH:MATH:SPECTral:MAG? + - MATH:MATH:SPECTral:PHASE {DEGrees|RADians|GROUPDelay} + - MATH:MATH:SPECTral:PHASE? + - MATH:MATH:SPECTral:SOUrce {S_Ch|CH|MATH|REF} + - MATH:MATH:SPECTral:SOUrce? + - MATH:MATH:SPECTral:SUPPress {OFF|ON|0|1} + - MATH:MATH:SPECTral:SUPPress:VALue + - MATH:MATH:SPECTral:SUPPress:VALue? + - MATH:MATH:SPECTral:SUPPress? + - MATH:MATH:SPECTral:TYPE {MAGNitude|PHASe|REAL|IMAGinary} + - MATH:MATH:SPECTral:TYPE? + - MATH:MATH:SPECTral:UNWRap {OFF|ON|0|1} + - MATH:MATH:SPECTral:UNWRap:DEGrees + - MATH:MATH:SPECTral:UNWRap:DEGrees? + - MATH:MATH:SPECTral:UNWRap? + - MATH:MATH:SPECTral:WINdow {RECTANGular|HAMMing|HANNing|BLACKMANHarris|KAISERBessel|GAUSSian|FLATTOP2|TEKEXPonential} + - MATH:MATH:SPECTral:WINdow? + - MATH:MATH:SPI:SUPPortedfields {DATa|MOSIdata|MISOdata} + - MATH:MATH:SPI:SUPPortedfields? + - MATH:MATH:SPMI:SUPPortedfields {DATa|CDATa|RDATa} + - MATH:MATH:SPMI:SUPPortedfields? + - MATH:MATH:SVID:SUPPortedfields {MPAYload|SPAYload} + - MATH:MATH:SVID:SUPPortedfields? + - MATH:MATH:TYPe {BASic|FILTER|FFT|ADVanced} + - MATH:MATH:USB:SUPPortedfields {DATa} + - MATH:MATH:USB:SUPPortedfields? + - MATH:MATH:VUNIT + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class MathMathItemVunit(SCPICmdWrite): + """The ``MATH:MATH:VUNIT`` command. + + Description: + - This command specifies or returns the math custom vertical units. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:VUNIT value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:VUNIT + ``` + + Info: + - ```` is the custom vertical units. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MathMathItemUsbSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:USB:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for USB bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:USB:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:USB:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:USB:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:USB:SUPPortedfields {DATa} + - MATH:MATH:USB:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemUsb(SCPICmdRead): + """The ``MATH:MATH:USB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:USB?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:USB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:USB:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemUsbSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemUsbSupportedfields: + """Return the ``MATH:MATH:USB:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for USB + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:USB:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:USB:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:USB:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:USB:SUPPortedfields {DATa} + - MATH:MATH:USB:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemType(SCPICmdWrite): + """The ``MATH:MATH:TYPe`` command. + + Description: + - This command sets or queries the math type. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:TYPe value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:TYPe {BASic|FILTER|FFT|ADVanced} + ``` + + Info: + - ``BASic`` set the type to basic math. + - ``FILTER`` sets the math type to filter. Requires UDFLT licenses on 5, 6 series MSO + instruments and Tekscope (Offline). + - ``FFT`` sets the type to FFT math, which can use any live analog or reference waveform in + the time domain. NOTE. You can also use FFT as part of a math expression by declaring the + type. + - ``ADVanced`` sets the type to advanced math. + """ + + +class MathMathItemSvidSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SVID:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SVID bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SVID:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SVID:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SVID:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SVID:SUPPortedfields {MPAYload|SPAYload} + - MATH:MATH:SVID:SUPPortedfields? + ``` + + Info: + - ``MPAYload`` sets the field type to MPAYload. + - ``SPAYload`` sets the field type to SPAYload. + """ + + +class MathMathItemSvid(SCPICmdRead): + """The ``MATH:MATH:SVID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SVID?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SVID?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SVID:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSvidSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSvidSupportedfields: + """Return the ``MATH:MATH:SVID:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SVID + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SVID:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SVID:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SVID:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SVID:SUPPortedfields {MPAYload|SPAYload} + - MATH:MATH:SVID:SUPPortedfields? + ``` + + Info: + - ``MPAYload`` sets the field type to MPAYload. + - ``SPAYload`` sets the field type to SPAYload. + """ + return self._supportedfields + + +class MathMathItemSpmiSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPMI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SPMI bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPMI:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPMI:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPMI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPMI:SUPPortedfields {DATa|CDATa|RDATa} + - MATH:MATH:SPMI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``CDATa`` sets the field type to CDATa. + - ``RDATa`` sets the field type to RDATa. + """ + + +class MathMathItemSpmi(SCPICmdRead): + """The ``MATH:MATH:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPMI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SPMI:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSpmiSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSpmiSupportedfields: + """Return the ``MATH:MATH:SPMI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SPMI + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPMI:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPMI:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPMI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPMI:SUPPortedfields {DATa|CDATa|RDATa} + - MATH:MATH:SPMI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``CDATa`` sets the field type to CDATa. + - ``RDATa`` sets the field type to RDATa. + """ + return self._supportedfields + + +class MathMathItemSpiSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SPI bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPI:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPI:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPI:SUPPortedfields {DATa|MOSIdata|MISOdata} + - MATH:MATH:SPI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``MOSIdata`` sets the field type to MOSIdata. MOSIdata field is available to select when + SPI Bus configuration for Data Inputs is set to Two. + - ``MISOdata`` sets the field type to MISOdata. MISOdata field is available to select when + SPI Bus configuration for Data Inputs is set to Two. + """ + + +class MathMathItemSpi(SCPICmdRead): + """The ``MATH:MATH:SPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPI?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SPI:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSpiSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSpiSupportedfields: + """Return the ``MATH:MATH:SPI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SPI + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPI:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPI:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPI:SUPPortedfields {DATa|MOSIdata|MISOdata} + - MATH:MATH:SPI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``MOSIdata`` sets the field type to MOSIdata. MOSIdata field is available to select + when SPI Bus configuration for Data Inputs is set to Two. + - ``MISOdata`` sets the field type to MISOdata. MISOdata field is available to select + when SPI Bus configuration for Data Inputs is set to Two. + """ + return self._supportedfields + + +class MathMathItemSpectralWindow(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:WINdow`` command. + + Description: + - This command sets or queries the window function used to apply the specified FFT window to + the input data for the specified math waveform. The Math waveform is specified by x. A + spectral window determines what the filter shape of the spectral analyzer will be in the + frequency domain. It can be described by a mathematical function that is multiplied + point-by-point times the input data to the spectral analyzer. Following is a list of + arguments that specify the window function used to multiply the input data. The windows + are listed in the order of their ability to resolve frequencies (resolution bandwidth). + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:WINdow?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:WINdow value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:WINdow {RECTANGular|HAMMing|HANNing|BLACKMANHarris|KAISERBessel|GAUSSian|FLATTOP2|TEKEXPonential} + - MATH:MATH:SPECTral:WINdow? + ``` + + Info: + - ``RECTANGular`` window function is equivalent to multiplying all gate data by one. + - ``HAMMing`` window function is based on a cosine series. + - ``HANNing`` window function is based on a cosine series. + - ``BLACKMANHarris`` window function is based on a cosine series. + - ``KAISERBessel`` window function is based on a cosine series. + - ``GAUSSian`` window function has the best localization characteristics in the joint + time/frequency plane. + - ``FLATTOP2`` window function is a cosine series window with a flattened frequency response + lobe. + - ``TEKEXPonential`` window has an exponential nonsymmetrical shape in the time domain and a + triangular shape in the frequency domain. + """ # noqa: E501 + + +class MathMathItemSpectralUnwrapDegrees(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:UNWRap:DEGrees`` command. + + Description: + - This command sets or queries how many degrees adjacent phase values can jump before being + unwrapped. This requires the Spectral type to be Phase and the UNWRAP to be enabled for + this PI command to have any affect. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:UNWRap:DEGrees?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPECTral:UNWRap:DEGrees?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:UNWRap:DEGrees value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:UNWRap:DEGrees + - MATH:MATH:SPECTral:UNWRap:DEGrees? + ``` + + Info: + - ```` is the value of unwrap phase in degrees. + """ + + +class MathMathItemSpectralUnwrap(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:UNWRap`` command. + + Description: + - This command sets or queries whether phase unwrap of the spectral analyzer output data is + enabled. The Math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:UNWRap?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:UNWRap?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:UNWRap value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:UNWRap {OFF|ON|0|1} + - MATH:MATH:SPECTral:UNWRap? + ``` + + Info: + - ``0`` disables phase unwrap for the specified math waveform. + - ``1`` enables phase unwrap for the specified math waveform. + - ``ON`` enables phase unwrap for the specified math waveform. + - ``OFF`` disables phase unwrap for the specified math waveform. + + Properties: + - ``.degrees``: The ``MATH:MATH:SPECTral:UNWRap:DEGrees`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._degrees = MathMathItemSpectralUnwrapDegrees(device, f"{self._cmd_syntax}:DEGrees") + + @property + def degrees(self) -> MathMathItemSpectralUnwrapDegrees: + """Return the ``MATH:MATH:SPECTral:UNWRap:DEGrees`` command. + + Description: + - This command sets or queries how many degrees adjacent phase values can jump before + being unwrapped. This requires the Spectral type to be Phase and the UNWRAP to be + enabled for this PI command to have any affect. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:UNWRap:DEGrees?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPECTral:UNWRap:DEGrees?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:UNWRap:DEGrees value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:UNWRap:DEGrees + - MATH:MATH:SPECTral:UNWRap:DEGrees? + ``` + + Info: + - ```` is the value of unwrap phase in degrees. + """ + return self._degrees + + +class MathMathItemSpectralType(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:TYPE`` command. + + Description: + - This command sets or queries the FFT type selected for spectral analysis. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:TYPE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:TYPE {MAGNitude|PHASe|REAL|IMAGinary} + - MATH:MATH:SPECTral:TYPE? + ``` + + Info: + - ``MAGNitude`` specifies the magnitude spectral function. + - ``PHASe`` specifies the phase spectral function. + - ``REAL`` specifies the real spectral function. + - ``IMAGinary`` specifies the imaginary spectral function. + """ + + +class MathMathItemSpectralSuppressValue(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:SUPPress:VALue`` command. + + Description: + - This command sets or queries in volts the value of suppression threshold of the specified + math waveform. This requires the Spectral type to be Phase and the Suppression to be + enabled for this PI command to have any affect. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:SUPPress:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPECTral:SUPPress:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:SUPPress:VALue value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:SUPPress:VALue + - MATH:MATH:SPECTral:SUPPress:VALue? + ``` + + Info: + - ```` is the value of suppression threshold of the specified math waveform in volts. + """ + + +class MathMathItemSpectralSuppress(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:SUPPress`` command. + + Description: + - This command sets or queries whether suppression threshold for the specified math waveform + is enabled. This is only applied when Spectral Plot type is Phase. The math waveform is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:SUPPress?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:SUPPress?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:SUPPress value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:SUPPress {OFF|ON|0|1} + - MATH:MATH:SPECTral:SUPPress? + ``` + + Info: + - ``0`` disables suppression threshold for the specified math waveform. + - ``1`` enables suppression threshold for the specified math waveform. + - ``ON`` enables suppression threshold for the specified math waveform. + - ``OFF`` disables suppression threshold for the specified math waveform. + + Properties: + - ``.value``: The ``MATH:MATH:SPECTral:SUPPress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = MathMathItemSpectralSuppressValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> MathMathItemSpectralSuppressValue: + """Return the ``MATH:MATH:SPECTral:SUPPress:VALue`` command. + + Description: + - This command sets or queries in volts the value of suppression threshold of the + specified math waveform. This requires the Spectral type to be Phase and the + Suppression to be enabled for this PI command to have any affect. The math waveform is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:SUPPress:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPECTral:SUPPress:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:SUPPress:VALue value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:SUPPress:VALue + - MATH:MATH:SPECTral:SUPPress:VALue? + ``` + + Info: + - ```` is the value of suppression threshold of the specified math waveform in + volts. + """ + return self._value + + +class MathMathItemSpectralSource(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:SOUrce`` command. + + Description: + - This command sets or queries the specified spectral math source. This only works with a + math of type FFT. The math waveform is specified by x. ``MATH:MATH:SPECTRAL:SOURCE`` is + for use when the ``MATH:MATH:TYPE`` is FFT. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:SOUrce value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:SOUrce {S_Ch|CH|MATH|REF} + - MATH:MATH:SPECTral:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MathMathItemSpectralPhase(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:PHASE`` command. + + Description: + - This command sets or queries the units of a SpectralPhase function in the specified math + definition string. The Math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:PHASE?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:PHASE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:PHASE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:PHASE {DEGrees|RADians|GROUPDelay} + - MATH:MATH:SPECTral:PHASE? + ``` + + Info: + - ``DEGREES`` sets the SpectralPhase units to degrees. + - ``RADIANS`` sets the SpectralPhase units to radians. + - ``GROUPDELAY`` sets the SpectralPhase units to groupdelay, which computes the derivative + of unwrapped phase spectrum. Units are expressed in seconds. + """ + + +class MathMathItemSpectralMag(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:MAG`` command. + + Description: + - This command sets or queries the units of the SpectralMag function in the specified math + definition string. The Math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:MAG?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:MAG?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:MAG value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:MAG {LINEAr|DBM} + - MATH:MATH:SPECTral:MAG? + ``` + + Info: + - ``LINEAR`` sets the SpectralMag units to linear. + - ``DBM`` sets the SpectralMag units to decibels. It also sets the Ref Level Offset to a + value that is the equivalent of 1 mW into 50 Ω. + """ + + +class MathMathItemSpectralHorz(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPECTral:HORZ`` command. + + Description: + - This command sets or queries the horizontal display scale of the spectral math waveform. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:HORZ?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:HORZ?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:HORZ value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:HORZ {LOG|LINEAr} + - MATH:MATH:SPECTral:HORZ? + ``` + + Info: + - ``LINEAr`` sets the SpectralMag units to linear. + - ``LOG`` sets the SpectralMag units to log. + """ + + +# pylint: disable=too-many-instance-attributes +class MathMathItemSpectral(SCPICmdRead): + """The ``MATH:MATH:SPECTral`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.horz``: The ``MATH:MATH:SPECTral:HORZ`` command. + - ``.mag``: The ``MATH:MATH:SPECTral:MAG`` command. + - ``.phase``: The ``MATH:MATH:SPECTral:PHASE`` command. + - ``.source``: The ``MATH:MATH:SPECTral:SOUrce`` command. + - ``.suppress``: The ``MATH:MATH:SPECTral:SUPPress`` command. + - ``.type``: The ``MATH:MATH:SPECTral:TYPE`` command. + - ``.unwrap``: The ``MATH:MATH:SPECTral:UNWRap`` command. + - ``.window``: The ``MATH:MATH:SPECTral:WINdow`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._horz = MathMathItemSpectralHorz(device, f"{self._cmd_syntax}:HORZ") + self._mag = MathMathItemSpectralMag(device, f"{self._cmd_syntax}:MAG") + self._phase = MathMathItemSpectralPhase(device, f"{self._cmd_syntax}:PHASE") + self._source = MathMathItemSpectralSource(device, f"{self._cmd_syntax}:SOUrce") + self._suppress = MathMathItemSpectralSuppress(device, f"{self._cmd_syntax}:SUPPress") + self._type = MathMathItemSpectralType(device, f"{self._cmd_syntax}:TYPE") + self._unwrap = MathMathItemSpectralUnwrap(device, f"{self._cmd_syntax}:UNWRap") + self._window = MathMathItemSpectralWindow(device, f"{self._cmd_syntax}:WINdow") + + @property + def horz(self) -> MathMathItemSpectralHorz: + """Return the ``MATH:MATH:SPECTral:HORZ`` command. + + Description: + - This command sets or queries the horizontal display scale of the spectral math + waveform. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:HORZ?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:HORZ?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:HORZ value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:HORZ {LOG|LINEAr} + - MATH:MATH:SPECTral:HORZ? + ``` + + Info: + - ``LINEAr`` sets the SpectralMag units to linear. + - ``LOG`` sets the SpectralMag units to log. + """ + return self._horz + + @property + def mag(self) -> MathMathItemSpectralMag: + """Return the ``MATH:MATH:SPECTral:MAG`` command. + + Description: + - This command sets or queries the units of the SpectralMag function in the specified + math definition string. The Math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:MAG?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:MAG?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:MAG value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:MAG {LINEAr|DBM} + - MATH:MATH:SPECTral:MAG? + ``` + + Info: + - ``LINEAR`` sets the SpectralMag units to linear. + - ``DBM`` sets the SpectralMag units to decibels. It also sets the Ref Level Offset to a + value that is the equivalent of 1 mW into 50 Ω. + """ + return self._mag + + @property + def phase(self) -> MathMathItemSpectralPhase: + """Return the ``MATH:MATH:SPECTral:PHASE`` command. + + Description: + - This command sets or queries the units of a SpectralPhase function in the specified + math definition string. The Math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:PHASE?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:PHASE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:PHASE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:PHASE {DEGrees|RADians|GROUPDelay} + - MATH:MATH:SPECTral:PHASE? + ``` + + Info: + - ``DEGREES`` sets the SpectralPhase units to degrees. + - ``RADIANS`` sets the SpectralPhase units to radians. + - ``GROUPDELAY`` sets the SpectralPhase units to groupdelay, which computes the + derivative of unwrapped phase spectrum. Units are expressed in seconds. + """ + return self._phase + + @property + def source(self) -> MathMathItemSpectralSource: + """Return the ``MATH:MATH:SPECTral:SOUrce`` command. + + Description: + - This command sets or queries the specified spectral math source. This only works with + a math of type FFT. The math waveform is specified by x. + ``MATH:MATH:SPECTRAL:SOURCE`` is for use when the ``MATH:MATH:TYPE`` is FFT. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:SOUrce value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:SOUrce {S_Ch|CH|MATH|REF} + - MATH:MATH:SPECTral:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def suppress(self) -> MathMathItemSpectralSuppress: + """Return the ``MATH:MATH:SPECTral:SUPPress`` command. + + Description: + - This command sets or queries whether suppression threshold for the specified math + waveform is enabled. This is only applied when Spectral Plot type is Phase. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:SUPPress?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:SUPPress?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:SUPPress value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:SUPPress {OFF|ON|0|1} + - MATH:MATH:SPECTral:SUPPress? + ``` + + Info: + - ``0`` disables suppression threshold for the specified math waveform. + - ``1`` enables suppression threshold for the specified math waveform. + - ``ON`` enables suppression threshold for the specified math waveform. + - ``OFF`` disables suppression threshold for the specified math waveform. + + Sub-properties: + - ``.value``: The ``MATH:MATH:SPECTral:SUPPress:VALue`` command. + """ + return self._suppress + + @property + def type(self) -> MathMathItemSpectralType: + """Return the ``MATH:MATH:SPECTral:TYPE`` command. + + Description: + - This command sets or queries the FFT type selected for spectral analysis. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SPECTral:TYPE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:TYPE {MAGNitude|PHASe|REAL|IMAGinary} + - MATH:MATH:SPECTral:TYPE? + ``` + + Info: + - ``MAGNitude`` specifies the magnitude spectral function. + - ``PHASe`` specifies the phase spectral function. + - ``REAL`` specifies the real spectral function. + - ``IMAGinary`` specifies the imaginary spectral function. + """ + return self._type + + @property + def unwrap(self) -> MathMathItemSpectralUnwrap: + """Return the ``MATH:MATH:SPECTral:UNWRap`` command. + + Description: + - This command sets or queries whether phase unwrap of the spectral analyzer output data + is enabled. The Math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:UNWRap?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:UNWRap?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:UNWRap value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:UNWRap {OFF|ON|0|1} + - MATH:MATH:SPECTral:UNWRap? + ``` + + Info: + - ``0`` disables phase unwrap for the specified math waveform. + - ``1`` enables phase unwrap for the specified math waveform. + - ``ON`` enables phase unwrap for the specified math waveform. + - ``OFF`` disables phase unwrap for the specified math waveform. + + Sub-properties: + - ``.degrees``: The ``MATH:MATH:SPECTral:UNWRap:DEGrees`` command. + """ + return self._unwrap + + @property + def window(self) -> MathMathItemSpectralWindow: + """Return the ``MATH:MATH:SPECTral:WINdow`` command. + + Description: + - This command sets or queries the window function used to apply the specified FFT + window to the input data for the specified math waveform. The Math waveform is + specified by x. A spectral window determines what the filter shape of the spectral + analyzer will be in the frequency domain. It can be described by a mathematical + function that is multiplied point-by-point times the input data to the spectral + analyzer. Following is a list of arguments that specify the window function used to + multiply the input data. The windows are listed in the order of their ability to + resolve frequencies (resolution bandwidth). + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral:WINdow?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPECTral:WINdow value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPECTral:WINdow {RECTANGular|HAMMing|HANNing|BLACKMANHarris|KAISERBessel|GAUSSian|FLATTOP2|TEKEXPonential} + - MATH:MATH:SPECTral:WINdow? + ``` + + Info: + - ``RECTANGular`` window function is equivalent to multiplying all gate data by one. + - ``HAMMing`` window function is based on a cosine series. + - ``HANNing`` window function is based on a cosine series. + - ``BLACKMANHarris`` window function is based on a cosine series. + - ``KAISERBessel`` window function is based on a cosine series. + - ``GAUSSian`` window function has the best localization characteristics in the joint + time/frequency plane. + - ``FLATTOP2`` window function is a cosine series window with a flattened frequency + response lobe. + - ``TEKEXPonential`` window has an exponential nonsymmetrical shape in the time domain + and a triangular shape in the frequency domain. + """ # noqa: E501 + return self._window + + +class MathMathItemSpacewireSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SPACEWIRe:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SPACEWIRe + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPACEWIRe:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPACEWIRe:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPACEWIRe:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPACEWIRe:SUPPortedfields {DATa} + - MATH:MATH:SPACEWIRe:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemSpacewire(SCPICmdRead): + """The ``MATH:MATH:SPACEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPACEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPACEWIRe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SPACEWIRe:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSpacewireSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSpacewireSupportedfields: + """Return the ``MATH:MATH:SPACEWIRe:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + SPACEWIRe bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MATH:MATH:SPACEWIRe:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SPACEWIRe:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SPACEWIRe:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SPACEWIRe:SUPPortedfields {DATa} + - MATH:MATH:SPACEWIRe:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemSource1(SCPICmdWrite): + """The ``MATH:MATH:SOUrce1`` command. + + Description: + - This command sets or queries the specified math source. The source in the command can be + either 1 or 2. This command sets the Basic Math components in the user interface, with two + sources and a function. You would also need to set the math type to Basic to see the + change in the user interface but this will not effect the programmable interface. The math + waveform and source are specified by x. SOURCE1 and SOURCE2 are for use when the + ``MATH:MATH:TYPE`` is BASIC. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:SOUrce1 value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SOUrce1 {S_Ch|CH|MATH|REF} + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MathMathItemSmbusSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SMBUS:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SMBUS bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SMBUS:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SMBUS:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SMBUS:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SMBUS:SUPPortedfields {DATa} + - MATH:MATH:SMBUS:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemSmbus(SCPICmdRead): + """The ``MATH:MATH:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SMBUS?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SMBUS?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SMBUS:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSmbusSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSmbusSupportedfields: + """Return the ``MATH:MATH:SMBUS:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SMBUS + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SMBUS:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SMBUS:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SMBUS:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SMBUS:SUPPortedfields {DATa} + - MATH:MATH:SMBUS:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemSigneddata(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SIGNeddata`` command. + + Description: + - This command sets or queries value to denote that bus field is decoded as signed/unsigned + data for math on bus source. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SIGNeddata?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SIGNeddata?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SIGNeddata value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SIGNeddata {ON|OFF} + - MATH:MATH:SIGNeddata? + ``` + + Info: + - ``ON`` indicates that the bus field is decoded as signed data for drawing the math + waveform. + - ``OFF`` indicates that the bus field is decoded as unsigned data for drawing the math + waveform. + """ + + +class MathMathItemSentSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SENT:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SENT bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SENT:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SENT:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SENT:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SENT:SUPPortedfields {FCData|FCDFirst|FCDTwo|SDATa} + - MATH:MATH:SENT:SUPPortedfields? + ``` + + Info: + - ``FCData`` sets the field type to FCData. FCData field is available to select when SENT + Bus configuration for Fast Data Channels is set to 2. + - ``FCDFirst`` sets the field type to FCDFirst. + - ``FCDTwo`` sets the field type to FCDTwo. + - ``SDATa`` sets the field type to SDATa. SDATa is available when SENT Bus configuration for + Slow Channel is not None. + """ + + +class MathMathItemSent(SCPICmdRead): + """The ``MATH:MATH:SENT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SENT?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SENT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SENT:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSentSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSentSupportedfields: + """Return the ``MATH:MATH:SENT:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SENT + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SENT:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SENT:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SENT:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SENT:SUPPortedfields {FCData|FCDFirst|FCDTwo|SDATa} + - MATH:MATH:SENT:SUPPortedfields? + ``` + + Info: + - ``FCData`` sets the field type to FCData. FCData field is available to select when + SENT Bus configuration for Fast Data Channels is set to 2. + - ``FCDFirst`` sets the field type to FCDFirst. + - ``FCDTwo`` sets the field type to FCDTwo. + - ``SDATa`` sets the field type to SDATa. SDATa is available when SENT Bus configuration + for Slow Channel is not None. + """ + return self._supportedfields + + +class MathMathItemSdlcSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:SDLC:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SDLC bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SDLC:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SDLC:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SDLC:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SDLC:SUPPortedfields {DATa} + - MATH:MATH:SDLC:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemSdlc(SCPICmdRead): + """The ``MATH:MATH:SDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SDLC?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SDLC?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:SDLC:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemSdlcSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemSdlcSupportedfields: + """Return the ``MATH:MATH:SDLC:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for SDLC + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SDLC:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:SDLC:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:SDLC:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:SDLC:SUPPortedfields {DATa} + - MATH:MATH:SDLC:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemRs232cSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:RS232C:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for RS232C + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:RS232C:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:RS232C:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:RS232C:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:RS232C:SUPPortedfields {DATa|TXData|RXData} + - MATH:MATH:RS232C:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``TXData`` sets the field type to TXData. TXData field can be set when RS232 Bus + configuration for Data Inputs is set to Two. + - ``RXData`` sets the field type to RXData. RXData field can be set when RS232 Bus + configuration for Data Inputs is set to Two. + """ + + +class MathMathItemRs232c(SCPICmdRead): + """The ``MATH:MATH:RS232C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:RS232C?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:RS232C?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:RS232C:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemRs232cSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemRs232cSupportedfields: + """Return the ``MATH:MATH:RS232C:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for RS232C + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:RS232C:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:RS232C:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:RS232C:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:RS232C:SUPPortedfields {DATa|TXData|RXData} + - MATH:MATH:RS232C:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``TXData`` sets the field type to TXData. TXData field can be set when RS232 Bus + configuration for Data Inputs is set to Two. + - ``RXData`` sets the field type to RXData. RXData field can be set when RS232 Bus + configuration for Data Inputs is set to Two. + """ + return self._supportedfields + + +class MathMathItemPsifiveSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:PSIFIVe:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for PSIFIVe + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PSIFIVe:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:PSIFIVe:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:PSIFIVe:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:PSIFIVe:SUPPortedfields {DATa|DRA|DRB|SDATa} + - MATH:MATH:PSIFIVe:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``DRA`` sets the field type to DRA. + - ``DRB`` sets the field type to DRB. + - ``SDATa`` sets the field type to SDATa. + """ + + +class MathMathItemPsifive(SCPICmdRead): + """The ``MATH:MATH:PSIFIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PSIFIVe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:PSIFIVe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:PSIFIVe:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemPsifiveSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemPsifiveSupportedfields: + """Return the ``MATH:MATH:PSIFIVe:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + PSIFIVe bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PSIFIVe:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:PSIFIVe:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:PSIFIVe:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:PSIFIVe:SUPPortedfields {DATa|DRA|DRB|SDATa} + - MATH:MATH:PSIFIVe:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``DRA`` sets the field type to DRA. + - ``DRB`` sets the field type to DRB. + - ``SDATa`` sets the field type to SDATa. + """ + return self._supportedfields + + +class MathMathItemParallelSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:PARallel:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for PARallel + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PARallel:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:PARallel:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:PARallel:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:PARallel:SUPPortedfields {DATa} + - MATH:MATH:PARallel:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemParallel(SCPICmdRead): + """The ``MATH:MATH:PARallel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PARallel?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:PARallel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:PARallel:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemParallelSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemParallelSupportedfields: + """Return the ``MATH:MATH:PARallel:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + PARallel bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PARallel:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:PARallel:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:PARallel:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:PARallel:SUPPortedfields {DATa} + - MATH:MATH:PARallel:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemOnewireSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:ONEWIRe:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for ONEWIRe + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ONEWIRe:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ONEWIRe:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ONEWIRe:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ONEWIRe:SUPPortedfields {DATa} + - MATH:MATH:ONEWIRe:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemOnewire(SCPICmdRead): + """The ``MATH:MATH:ONEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ONEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ONEWIRe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:ONEWIRe:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemOnewireSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemOnewireSupportedfields: + """Return the ``MATH:MATH:ONEWIRe:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + ONEWIRe bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ONEWIRe:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ONEWIRe:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ONEWIRe:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ONEWIRe:SUPPortedfields {DATa} + - MATH:MATH:ONEWIRe:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemMil1553bSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:MIL1553B:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for MIL1553B + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MIL1553B:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:MIL1553B:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:MIL1553B:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:MIL1553B:SUPPortedfields {DATa|PAYLoad} + - MATH:MATH:MIL1553B:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``PAYLoad`` sets the field type to PAYLoad. + """ + + +class MathMathItemMil1553b(SCPICmdRead): + """The ``MATH:MATH:MIL1553B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:MIL1553B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:MIL1553B:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemMil1553bSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemMil1553bSupportedfields: + """Return the ``MATH:MATH:MIL1553B:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + MIL1553B bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MIL1553B:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:MIL1553B:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:MIL1553B:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:MIL1553B:SUPPortedfields {DATa|PAYLoad} + - MATH:MATH:MIL1553B:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``PAYLoad`` sets the field type to PAYLoad. + """ + return self._supportedfields + + +class MathMathItemMdioSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:MDIO:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for MDIO bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MDIO:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:MDIO:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:MDIO:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:MDIO:SUPPortedfields {DATa} + - MATH:MATH:MDIO:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemMdio(SCPICmdRead): + """The ``MATH:MATH:MDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MDIO?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:MDIO?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:MDIO:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemMdioSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemMdioSupportedfields: + """Return the ``MATH:MATH:MDIO:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for MDIO + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MDIO:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:MDIO:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:MDIO:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:MDIO:SUPPortedfields {DATa} + - MATH:MATH:MDIO:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemLinSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:LIN:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for LIN bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LIN:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LIN:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LIN:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LIN:SUPPortedfields {DATa} + - MATH:MATH:LIN:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemLin(SCPICmdRead): + """The ``MATH:MATH:LIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LIN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:LIN:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemLinSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemLinSupportedfields: + """Return the ``MATH:MATH:LIN:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for LIN + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LIN:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:LIN:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LIN:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LIN:SUPPortedfields {DATa} + - MATH:MATH:LIN:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the specified math label. The Math waveform + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:YPOS + - MATH:MATH:LABel:YPOS? + ``` + + Info: + - ```` is the location (in pixels) where the label for the selected math waveform is + displayed, relative to the baseline of the waveform. + """ + + +class MathMathItemLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:LABel:XPOS`` command. + + Description: + - This command sets or queries the X position of the specified math label. Maths are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:XPOS + - MATH:MATH:LABel:XPOS? + ``` + + Info: + - ```` is the location (in pixels) where the label for the selected math waveform is + displayed, relative to the left edge of the display. + """ + + +class MathMathItemLabelName(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:LABel:NAMe`` command. + + Description: + - This command sets or queries the label string, which is used for annotating the math + waveform on the screen. The math waveform to which the label is attached is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:NAMe + - MATH:MATH:LABel:NAMe? + ``` + + Info: + - ```` specifies the label to annotate the math waveform. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MathMathItemLabelFontUnderline(SCPICmdWrite): + """The ``MATH:MATH:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified math label. The math + waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:UNDERline {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off underline, and any other integer turns on underline. + - ``OFF`` turns off underline. + - ``ON`` turns on underline. + """ + + +class MathMathItemLabelFontType(SCPICmdWrite): + """The ``MATH:MATH:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries font type of the specified math label, such as Arial or Times + New Roman. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:TYPE + ``` + + Info: + - ```` is the name of the font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MathMathItemLabelFontSize(SCPICmdWrite): + """The ``MATH:MATH:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries font size of the specified math label. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:SIZE + ``` + + Info: + - ```` sets the label size in points. + """ + + +class MathMathItemLabelFontItalic(SCPICmdWrite): + """The ``MATH:MATH:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries italic state of the specified math label. The math waveform + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:ITALic {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off italic, and any other integer turns on italic. + - ``OFF`` turns off italic. + - ``ON`` turns on italic. + """ + + +class MathMathItemLabelFontBold(SCPICmdWrite): + """The ``MATH:MATH:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified math label. The math waveform + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:BOLD {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off bold, and any other integer turns on bold. + - ``OFF`` turns off bold. + - ``ON`` turns on bold. + """ + + +class MathMathItemLabelFont(SCPICmdRead): + """The ``MATH:MATH:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``MATH:MATH:LABel:FONT:BOLD`` command. + - ``.italic``: The ``MATH:MATH:LABel:FONT:ITALic`` command. + - ``.size``: The ``MATH:MATH:LABel:FONT:SIZE`` command. + - ``.type``: The ``MATH:MATH:LABel:FONT:TYPE`` command. + - ``.underline``: The ``MATH:MATH:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = MathMathItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = MathMathItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = MathMathItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = MathMathItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = MathMathItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> MathMathItemLabelFontBold: + """Return the ``MATH:MATH:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified math label. The math + waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LABel:FONT:BOLD value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:BOLD {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off bold, and any other integer turns on bold. + - ``OFF`` turns off bold. + - ``ON`` turns on bold. + """ + return self._bold + + @property + def italic(self) -> MathMathItemLabelFontItalic: + """Return the ``MATH:MATH:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries italic state of the specified math label. The math + waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:ITALic {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off italic, and any other integer turns on italic. + - ``OFF`` turns off italic. + - ``ON`` turns on italic. + """ + return self._italic + + @property + def size(self) -> MathMathItemLabelFontSize: + """Return the ``MATH:MATH:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries font size of the specified math label. The math waveform + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LABel:FONT:SIZE value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:SIZE + ``` + + Info: + - ```` sets the label size in points. + """ + return self._size + + @property + def type(self) -> MathMathItemLabelFontType: + """Return the ``MATH:MATH:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries font type of the specified math label, such as Arial or + Times New Roman. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LABel:FONT:TYPE value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:TYPE + ``` + + Info: + - ```` is the name of the font type. + """ + return self._type + + @property + def underline(self) -> MathMathItemLabelFontUnderline: + """Return the ``MATH:MATH:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified math label. The math + waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:FONT:UNDERline {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off underline, and any other integer turns on underline. + - ``OFF`` turns off underline. + - ``ON`` turns on underline. + """ + return self._underline + + +class MathMathItemLabelColor(SCPICmdWrite): + """The ``MATH:MATH:LABel:COLor`` command. + + Description: + - This command sets or queries color of the specified math's label. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:COLor + ``` + + Info: + - `` is the color of the label. To return the color to the default color, send + an empty string as in this example: ``:MATH:MATH1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MathMathItemLabel(SCPICmdRead): + """The ``MATH:MATH:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``MATH:MATH:LABel:COLor`` command. + - ``.font``: The ``MATH:MATH:LABel:FONT`` command tree. + - ``.name``: The ``MATH:MATH:LABel:NAMe`` command. + - ``.xpos``: The ``MATH:MATH:LABel:XPOS`` command. + - ``.ypos``: The ``MATH:MATH:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = MathMathItemLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = MathMathItemLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = MathMathItemLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = MathMathItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = MathMathItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> MathMathItemLabelColor: + """Return the ``MATH:MATH:LABel:COLor`` command. + + Description: + - This command sets or queries color of the specified math's label. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:COLor + ``` + + Info: + - `` is the color of the label. To return the color to the default color, + send an empty string as in this example: ``:MATH:MATH1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> MathMathItemLabelFont: + """Return the ``MATH:MATH:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``MATH:MATH:LABel:FONT:BOLD`` command. + - ``.italic``: The ``MATH:MATH:LABel:FONT:ITALic`` command. + - ``.size``: The ``MATH:MATH:LABel:FONT:SIZE`` command. + - ``.type``: The ``MATH:MATH:LABel:FONT:TYPE`` command. + - ``.underline``: The ``MATH:MATH:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> MathMathItemLabelName: + """Return the ``MATH:MATH:LABel:NAMe`` command. + + Description: + - This command sets or queries the label string, which is used for annotating the math + waveform on the screen. The math waveform to which the label is attached is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:NAMe + - MATH:MATH:LABel:NAMe? + ``` + + Info: + - ```` specifies the label to annotate the math waveform. + """ + return self._name + + @property + def xpos(self) -> MathMathItemLabelXpos: + """Return the ``MATH:MATH:LABel:XPOS`` command. + + Description: + - This command sets or queries the X position of the specified math label. Maths are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:XPOS + - MATH:MATH:LABel:XPOS? + ``` + + Info: + - ```` is the location (in pixels) where the label for the selected math waveform + is displayed, relative to the left edge of the display. + """ + return self._xpos + + @property + def ypos(self) -> MathMathItemLabelYpos: + """Return the ``MATH:MATH:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the specified math label. The Math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:LABel:YPOS + - MATH:MATH:LABel:YPOS? + ``` + + Info: + - ```` is the location (in pixels) where the label for the selected math waveform + is displayed, relative to the baseline of the waveform. + """ + return self._ypos + + +class MathMathItemInterpolation(SCPICmdWrite): + """The ``MATH:MATH:INTERpolation`` command. + + Description: + - This command sets or queries whether sinc interpolation is enabled for math on bus source. + The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:INTERpolation value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:INTERpolation {ON|OFF} + ``` + + Info: + - ``ON`` indicates that the sinc interpolation is used for math waveform. + - ``OFF`` indicates no interpolation is used for math waveform. Waveform will appear + 'stair-steppy' in this case. + """ + + +class MathMathItemI3cSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:I3C:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for I3Cbus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I3C:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:I3C:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:I3C:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:I3C:SUPPortedfields {DATa} + - MATH:MATH:I3C:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemI3c(SCPICmdRead): + """The ``MATH:MATH:I3C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I3C?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:I3C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:I3C:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemI3cSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemI3cSupportedfields: + """Return the ``MATH:MATH:I3C:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + I3Cbus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I3C:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:I3C:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:I3C:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:I3C:SUPPortedfields {DATa} + - MATH:MATH:I3C:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemI2cSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:I2C:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for I2C bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I2C:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:I2C:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:I2C:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:I2C:SUPPortedfields {DATa} + - MATH:MATH:I2C:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemI2c(SCPICmdRead): + """The ``MATH:MATH:I2C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:I2C?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:I2C:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemI2cSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemI2cSupportedfields: + """Return the ``MATH:MATH:I2C:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for I2C + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I2C:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:I2C:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:I2C:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:I2C:SUPPortedfields {DATa} + - MATH:MATH:I2C:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemGating(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:GATing`` command. + + Description: + - This command specifies or returns the gating setting. It only applies to Math FFT plots. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:GATing?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:GATing value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:GATing {NONE|SCREEN|CURSor} + - MATH:MATH:GATing? + ``` + + Info: + - ``NONE`` turns off math gating. + - ``SCREEN`` turns on gating, using the left and right edges of the screen. + - ``CURSor`` limits math to the portion of the waveform between the vertical bar cursors, + even if they are off screen. + """ + + +class MathMathItemFunction(SCPICmdWrite): + """The ``MATH:MATH:FUNCtion`` command. + + Description: + - This command sets or queries the basic math arithmetic function. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FUNCtion value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FUNCtion {ADD|SUBtract|MULTiply|DIVide} + ``` + + Info: + - ``ADD`` sets the basic math function to add. + - ``SUBtract`` sets the basic math function to subtract. + - ``MULTiply`` sets the basic math function to multiply. + - ``DIVide`` sets the basic math function to divide. + """ + + +class MathMathItemFlexraySupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FLEXray:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for FLEXray + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FLEXray:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FLEXray:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FLEXray:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FLEXray:SUPPortedfields {DATa} + - MATH:MATH:FLEXray:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemFlexray(SCPICmdRead): + """The ``MATH:MATH:FLEXray`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FLEXray?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FLEXray?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:FLEXray:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemFlexraySupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemFlexraySupportedfields: + """Return the ``MATH:MATH:FLEXray:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + FLEXray bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FLEXray:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FLEXray:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FLEXray:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FLEXray:SUPPortedfields {DATa} + - MATH:MATH:FLEXray:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemFilterType(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:TYPe`` command. + + Description: + - This command specifies or queries the filter type. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TYPe value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:TYPe {LPASs|HPASs|BPASs|BSTop|APASs|HILBert|DIFFerentiator|RC|RRC} + - MATH:MATH:FILTer:TYPe? + ``` + + Info: + - ``LPASs`` specifies the filter type as LPASs. + - ``HPASs`` specifies the filter type as HPASs. + - ``BPASs`` specifies the filter type as BPASs. + - ``BSTop`` specifies the filter type as BSTop. + - ``APASs`` specifies the filter type as APASs. + - ``HILBert`` specifies the filter type as HILBert. + - ``DIFFerentiator`` specifies the filter type as DIFFerentiator. + - ``RC`` specifies the filter type as RC. + - ``RRC`` specifies the filter type as RRC. + """ + + +class MathMathItemFilterTwidth(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:TWIDth`` command. + + Description: + - This command sets or queries the filter Transition Width for Custom filter response. The + math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TWIDth?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TWIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TWIDth value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:TWIDth + - MATH:MATH:FILTer:TWIDth? + ``` + + Info: + - ```` specifies the Transition Width for Custom filter response. + """ + + +class MathMathItemFilterSymbols(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SYMBols`` command. + + Description: + - This command sets or queries the symbol for raised cosine or root raised cosine filter. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SYMBols?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SYMBols?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SYMBols value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SYMBols + - MATH:MATH:FILTer:SYMBols? + ``` + + Info: + - ```` specifies the number of symbols for Raised-Cosine (RC) filter type. + """ + + +class MathMathItemFilterSource(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SOURce`` command. + + Description: + - This command sets or queries the math waveform filter source. The math waveform and source + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SOURce?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SOURce value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SOURce {S_Ch|CH|MATH|REF} + - MATH:MATH:FILTer:SOURce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MathMathItemFilterSduration(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SDURation`` command. + + Description: + - This command sets or queries the symbol duration for raised cosine or root raised cosine + filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDURation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDURation?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SDURation value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SDURation + - MATH:MATH:FILTer:SDURation? + ``` + + Info: + - ```` specifies the number of symbol duration for Root-Raised-Cosine (RRC) filter + type. + """ + + +class MathMathItemFilterSdeviation(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SDEViation`` command. + + Description: + - This command sets or queries the standard deviation in Gaussian filter. The math waveform + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDEViation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDEViation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SDEViation value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SDEViation + - MATH:MATH:FILTer:SDEViation? + ``` + + Info: + - ```` sets the standard deviation in gaussian filter. + """ + + +class MathMathItemFilterSaveResponse(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SAVe:RESPonse`` command. + + Description: + - This command set the filter response images to be saved while saving the filter file. The + math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:SAVe:RESPonse value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SAVe:RESPonse {1|0} + - MATH:MATH:FILTer:SAVe:RESPonse? + ``` + + Info: + - ``1`` enables the save of the filter response image. + - ``0`` disables the save of the filter response image. This is the default value. + """ + + +class MathMathItemFilterSave(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SAVe`` command. + + Description: + - This command saves the filter file. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SAVe value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SAVe + ``` + + Info: + - ```` saves the created filter in .flt format to the specified save location. + + Properties: + - ``.response``: The ``MATH:MATH:FILTer:SAVe:RESPonse`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._response = MathMathItemFilterSaveResponse(device, f"{self._cmd_syntax}:RESPonse") + + @property + def response(self) -> MathMathItemFilterSaveResponse: + """Return the ``MATH:MATH:FILTer:SAVe:RESPonse`` command. + + Description: + - This command set the filter response images to be saved while saving the filter file. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SAVe:RESPonse?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FILTer:SAVe:RESPonse?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:SAVe:RESPonse value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SAVe:RESPonse {1|0} + - MATH:MATH:FILTer:SAVe:RESPonse? + ``` + + Info: + - ``1`` enables the save of the filter response image. + - ``0`` disables the save of the filter response image. This is the default value. + """ + return self._response + + +class MathMathItemFilterSattenuation(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:SATTenuation`` command. + + Description: + - This command sets or queries the stop band attenuation in the filter response. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SATTenuation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SATTenuation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:SATTenuation value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SATTenuation + - MATH:MATH:FILTer:SATTenuation? + ``` + + Info: + - ```` sets the stop band attenuation in the filter response. + """ + + +class MathMathItemFilterRofactor(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:ROFactor`` command. + + Description: + - This command sets or queries roll off factor for raised cosine or root raised cosine + filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ROFactor?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ROFactor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ROFactor value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:ROFactor + - MATH:MATH:FILTer:ROFactor? + ``` + + Info: + - ```` specifies the Roll-off Factor value for Rasied-Cosine(RC) filter type. + """ + + +class MathMathItemFilterResponse(SCPICmdWrite): + """The ``MATH:MATH:FILTer:RESPonse`` command. + + Description: + - This command will load the filter responses and automatically apply filter option. The + math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:RESPonse value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:RESPonse {BUTTerworth|CHEBYONe|CHEBYTWo|ELLiptical|GAUSsian|BESSelCUSTom} + ``` + + Info: + - ``BUTTerworth`` specifies the filter response as BUTTerworth. + - ``CHEBYONe`` specifies the filter response as CHEBYONe. + - ``CHEBYTWo`` specifies the filter response as CHEBYTWo. + - ``ELLiptical`` specifies the filter response as ELLiptical. + - ``GAUSsian`` specifies the filter response as GAUSsian. + - ``BESSelCUSTom`` specifies the filter response as BESSelCUSTom. + """ # noqa: E501 + + +class MathMathItemFilterPripple(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:PRIPple`` command. + + Description: + - This command sets or queries the pass band ripple in the filter response. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:PRIPple?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:PRIPple?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:PRIPple value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:PRIPple + - MATH:MATH:FILTer:PRIPple? + ``` + + Info: + - ```` sets the pass band ripple in the filter response. + """ + + +class MathMathItemFilterOrder(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:ORDer`` command. + + Description: + - This command sets or queries the filter order. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ORDer?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ORDer?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ORDer value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:ORDer + - MATH:MATH:FILTer:ORDer? + ``` + + Info: + - ```` sets the filter order. + """ + + +class MathMathItemFilterLoadResponse(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:LOAD:RESPonse`` command. + + Description: + - This command will load the filter responses and automatically apply filter option. The + math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:LOAD:RESPonse value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:LOAD:RESPonse {1|0} + - MATH:MATH:FILTer:LOAD:RESPonse? + ``` + + Info: + - ``1`` enables recall of filter response image. + - ``0`` disables recall of filter response image. + """ + + +class MathMathItemFilterLoad(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:LOAD`` command. + + Description: + - This command loads the filter file. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LOAD value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:LOAD + ``` + + Info: + - ```` sets the path to the filter file to load. Linux default location is C:. + Windows default location is C:UsersPublicTektronixTekScopeFilters. + + Properties: + - ``.response``: The ``MATH:MATH:FILTer:LOAD:RESPonse`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._response = MathMathItemFilterLoadResponse(device, f"{self._cmd_syntax}:RESPonse") + + @property + def response(self) -> MathMathItemFilterLoadResponse: + """Return the ``MATH:MATH:FILTer:LOAD:RESPonse`` command. + + Description: + - This command will load the filter responses and automatically apply filter option. The + math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LOAD:RESPonse?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FILTer:LOAD:RESPonse?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:LOAD:RESPonse value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:LOAD:RESPonse {1|0} + - MATH:MATH:FILTer:LOAD:RESPonse? + ``` + + Info: + - ``1`` enables recall of filter response image. + - ``0`` disables recall of filter response image. + """ + return self._response + + +class MathMathItemFilterLcfreq(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:LCFReq`` command. + + Description: + - This command sets or queries the low cutoff frequency for bandpass or band stop filter. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:LCFReq?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LCFReq value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:LCFReq + - MATH:MATH:FILTer:LCFReq? + ``` + + Info: + - ```` sets the low cutoff frequency for bandpass or band stop filter. + """ + + +class MathMathItemFilterInfo(SCPICmdRead): + """The ``MATH:MATH:FILTer:INFo`` command. + + Description: + - This command returns filter information output when the user creates a filter. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:INFo?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:INFo?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:INFo? + ``` + """ + + +class MathMathItemFilterHcfreq(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:HCFReq`` command. + + Description: + - This command sets or queries the high cutoff frequency for bandpass or band stop filter. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:HCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:HCFReq?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:HCFReq value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:HCFReq + - MATH:MATH:FILTer:HCFReq? + ``` + + Info: + - ```` sets the high cutoff frequency for bandpass or band stop filter. + """ + + +class MathMathItemFilterDesign(SCPICmdWrite): + """The ``MATH:MATH:FILTer:DESIgn`` command. + + Description: + - This command performs filter specific Apply, Abort, and Generate operations. The math + waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:DESIgn value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:DESIgn {EXECUTE|ABORT|APPLY} + ``` + + Info: + - ``EXECUTE`` executes filter file creation. + - ``APPLY`` applies the filter definition on the Math waveform. + - ``ABORT`` aborts the filter execution. + """ + + +class MathMathItemFilterDelay(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:DELay`` command. + + Description: + - This command sets or queries the delay for all pass filter. The math waveform is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:DELay?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:DELay value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:DELay + - MATH:MATH:FILTer:DELay? + ``` + + Info: + - ```` sets the delay for all pass filter. + """ + + +class MathMathItemFilterCfreq(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:FILTer:CFReq`` command. + + Description: + - This command sets or queries the filter cutoff frequency. The math waveform is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:CFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:CFReq?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:CFReq value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:CFReq + - MATH:MATH:FILTer:CFReq? + ``` + + Info: + - ```` sets the filter cutoff frequency. + """ + + +# pylint: disable=too-many-instance-attributes +class MathMathItemFilter(SCPICmdRead): + """The ``MATH:MATH:FILTer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cfreq``: The ``MATH:MATH:FILTer:CFReq`` command. + - ``.delay``: The ``MATH:MATH:FILTer:DELay`` command. + - ``.design``: The ``MATH:MATH:FILTer:DESIgn`` command. + - ``.hcfreq``: The ``MATH:MATH:FILTer:HCFReq`` command. + - ``.info``: The ``MATH:MATH:FILTer:INFo`` command. + - ``.lcfreq``: The ``MATH:MATH:FILTer:LCFReq`` command. + - ``.load``: The ``MATH:MATH:FILTer:LOAD`` command. + - ``.order``: The ``MATH:MATH:FILTer:ORDer`` command. + - ``.pripple``: The ``MATH:MATH:FILTer:PRIPple`` command. + - ``.response``: The ``MATH:MATH:FILTer:RESPonse`` command. + - ``.rofactor``: The ``MATH:MATH:FILTer:ROFactor`` command. + - ``.sattenuation``: The ``MATH:MATH:FILTer:SATTenuation`` command. + - ``.save``: The ``MATH:MATH:FILTer:SAVe`` command. + - ``.sdeviation``: The ``MATH:MATH:FILTer:SDEViation`` command. + - ``.sduration``: The ``MATH:MATH:FILTer:SDURation`` command. + - ``.source``: The ``MATH:MATH:FILTer:SOURce`` command. + - ``.symbols``: The ``MATH:MATH:FILTer:SYMBols`` command. + - ``.twidth``: The ``MATH:MATH:FILTer:TWIDth`` command. + - ``.type``: The ``MATH:MATH:FILTer:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cfreq = MathMathItemFilterCfreq(device, f"{self._cmd_syntax}:CFReq") + self._delay = MathMathItemFilterDelay(device, f"{self._cmd_syntax}:DELay") + self._design = MathMathItemFilterDesign(device, f"{self._cmd_syntax}:DESIgn") + self._hcfreq = MathMathItemFilterHcfreq(device, f"{self._cmd_syntax}:HCFReq") + self._info = MathMathItemFilterInfo(device, f"{self._cmd_syntax}:INFo") + self._lcfreq = MathMathItemFilterLcfreq(device, f"{self._cmd_syntax}:LCFReq") + self._load = MathMathItemFilterLoad(device, f"{self._cmd_syntax}:LOAD") + self._order = MathMathItemFilterOrder(device, f"{self._cmd_syntax}:ORDer") + self._pripple = MathMathItemFilterPripple(device, f"{self._cmd_syntax}:PRIPple") + self._response = MathMathItemFilterResponse(device, f"{self._cmd_syntax}:RESPonse") + self._rofactor = MathMathItemFilterRofactor(device, f"{self._cmd_syntax}:ROFactor") + self._sattenuation = MathMathItemFilterSattenuation( + device, f"{self._cmd_syntax}:SATTenuation" + ) + self._save = MathMathItemFilterSave(device, f"{self._cmd_syntax}:SAVe") + self._sdeviation = MathMathItemFilterSdeviation(device, f"{self._cmd_syntax}:SDEViation") + self._sduration = MathMathItemFilterSduration(device, f"{self._cmd_syntax}:SDURation") + self._source = MathMathItemFilterSource(device, f"{self._cmd_syntax}:SOURce") + self._symbols = MathMathItemFilterSymbols(device, f"{self._cmd_syntax}:SYMBols") + self._twidth = MathMathItemFilterTwidth(device, f"{self._cmd_syntax}:TWIDth") + self._type = MathMathItemFilterType(device, f"{self._cmd_syntax}:TYPe") + + @property + def cfreq(self) -> MathMathItemFilterCfreq: + """Return the ``MATH:MATH:FILTer:CFReq`` command. + + Description: + - This command sets or queries the filter cutoff frequency. The math waveform is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:CFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:CFReq?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:CFReq value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:CFReq + - MATH:MATH:FILTer:CFReq? + ``` + + Info: + - ```` sets the filter cutoff frequency. + """ + return self._cfreq + + @property + def delay(self) -> MathMathItemFilterDelay: + """Return the ``MATH:MATH:FILTer:DELay`` command. + + Description: + - This command sets or queries the delay for all pass filter. The math waveform is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:DELay?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:DELay value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:DELay + - MATH:MATH:FILTer:DELay? + ``` + + Info: + - ```` sets the delay for all pass filter. + """ + return self._delay + + @property + def design(self) -> MathMathItemFilterDesign: + """Return the ``MATH:MATH:FILTer:DESIgn`` command. + + Description: + - This command performs filter specific Apply, Abort, and Generate operations. The math + waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:DESIgn value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:DESIgn {EXECUTE|ABORT|APPLY} + ``` + + Info: + - ``EXECUTE`` executes filter file creation. + - ``APPLY`` applies the filter definition on the Math waveform. + - ``ABORT`` aborts the filter execution. + """ + return self._design + + @property + def hcfreq(self) -> MathMathItemFilterHcfreq: + """Return the ``MATH:MATH:FILTer:HCFReq`` command. + + Description: + - This command sets or queries the high cutoff frequency for bandpass or band stop + filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:HCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:HCFReq?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:HCFReq value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:HCFReq + - MATH:MATH:FILTer:HCFReq? + ``` + + Info: + - ```` sets the high cutoff frequency for bandpass or band stop filter. + """ + return self._hcfreq + + @property + def info(self) -> MathMathItemFilterInfo: + """Return the ``MATH:MATH:FILTer:INFo`` command. + + Description: + - This command returns filter information output when the user creates a filter. The + math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:INFo?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:INFo?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:INFo? + ``` + """ + return self._info + + @property + def lcfreq(self) -> MathMathItemFilterLcfreq: + """Return the ``MATH:MATH:FILTer:LCFReq`` command. + + Description: + - This command sets or queries the low cutoff frequency for bandpass or band stop + filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:LCFReq?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:LCFReq?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LCFReq value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:LCFReq + - MATH:MATH:FILTer:LCFReq? + ``` + + Info: + - ```` sets the low cutoff frequency for bandpass or band stop filter. + """ + return self._lcfreq + + @property + def load(self) -> MathMathItemFilterLoad: + """Return the ``MATH:MATH:FILTer:LOAD`` command. + + Description: + - This command loads the filter file. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:LOAD value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:LOAD + ``` + + Info: + - ```` sets the path to the filter file to load. Linux default location is C:. + Windows default location is C:UsersPublicTektronixTekScopeFilters. + + Sub-properties: + - ``.response``: The ``MATH:MATH:FILTer:LOAD:RESPonse`` command. + """ + return self._load + + @property + def order(self) -> MathMathItemFilterOrder: + """Return the ``MATH:MATH:FILTer:ORDer`` command. + + Description: + - This command sets or queries the filter order. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ORDer?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ORDer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:ORDer value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:ORDer + - MATH:MATH:FILTer:ORDer? + ``` + + Info: + - ```` sets the filter order. + """ + return self._order + + @property + def pripple(self) -> MathMathItemFilterPripple: + """Return the ``MATH:MATH:FILTer:PRIPple`` command. + + Description: + - This command sets or queries the pass band ripple in the filter response. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:PRIPple?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:PRIPple?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:PRIPple value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:PRIPple + - MATH:MATH:FILTer:PRIPple? + ``` + + Info: + - ```` sets the pass band ripple in the filter response. + """ + return self._pripple + + @property + def response(self) -> MathMathItemFilterResponse: + """Return the ``MATH:MATH:FILTer:RESPonse`` command. + + Description: + - This command will load the filter responses and automatically apply filter option. The + math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:RESPonse value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:RESPonse {BUTTerworth|CHEBYONe|CHEBYTWo|ELLiptical|GAUSsian|BESSelCUSTom} + ``` + + Info: + - ``BUTTerworth`` specifies the filter response as BUTTerworth. + - ``CHEBYONe`` specifies the filter response as CHEBYONe. + - ``CHEBYTWo`` specifies the filter response as CHEBYTWo. + - ``ELLiptical`` specifies the filter response as ELLiptical. + - ``GAUSsian`` specifies the filter response as GAUSsian. + - ``BESSelCUSTom`` specifies the filter response as BESSelCUSTom. + """ # noqa: E501 + return self._response + + @property + def rofactor(self) -> MathMathItemFilterRofactor: + """Return the ``MATH:MATH:FILTer:ROFactor`` command. + + Description: + - This command sets or queries roll off factor for raised cosine or root raised cosine + filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:ROFactor?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:ROFactor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:ROFactor value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:ROFactor + - MATH:MATH:FILTer:ROFactor? + ``` + + Info: + - ```` specifies the Roll-off Factor value for Rasied-Cosine(RC) filter type. + """ + return self._rofactor + + @property + def sattenuation(self) -> MathMathItemFilterSattenuation: + """Return the ``MATH:MATH:FILTer:SATTenuation`` command. + + Description: + - This command sets or queries the stop band attenuation in the filter response. The + math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SATTenuation?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:FILTer:SATTenuation?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:SATTenuation value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SATTenuation + - MATH:MATH:FILTer:SATTenuation? + ``` + + Info: + - ```` sets the stop band attenuation in the filter response. + """ + return self._sattenuation + + @property + def save(self) -> MathMathItemFilterSave: + """Return the ``MATH:MATH:FILTer:SAVe`` command. + + Description: + - This command saves the filter file. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SAVe value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SAVe + ``` + + Info: + - ```` saves the created filter in .flt format to the specified save location. + + Sub-properties: + - ``.response``: The ``MATH:MATH:FILTer:SAVe:RESPonse`` command. + """ + return self._save + + @property + def sdeviation(self) -> MathMathItemFilterSdeviation: + """Return the ``MATH:MATH:FILTer:SDEViation`` command. + + Description: + - This command sets or queries the standard deviation in Gaussian filter. The math + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDEViation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDEViation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:SDEViation value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SDEViation + - MATH:MATH:FILTer:SDEViation? + ``` + + Info: + - ```` sets the standard deviation in gaussian filter. + """ + return self._sdeviation + + @property + def sduration(self) -> MathMathItemFilterSduration: + """Return the ``MATH:MATH:FILTer:SDURation`` command. + + Description: + - This command sets or queries the symbol duration for raised cosine or root raised + cosine filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SDURation?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SDURation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:FILTer:SDURation value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SDURation + - MATH:MATH:FILTer:SDURation? + ``` + + Info: + - ```` specifies the number of symbol duration for Root-Raised-Cosine (RRC) filter + type. + """ + return self._sduration + + @property + def source(self) -> MathMathItemFilterSource: + """Return the ``MATH:MATH:FILTer:SOURce`` command. + + Description: + - This command sets or queries the math waveform filter source. The math waveform and + source are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SOURce?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SOURce value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SOURce {S_Ch|CH|MATH|REF} + - MATH:MATH:FILTer:SOURce? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def symbols(self) -> MathMathItemFilterSymbols: + """Return the ``MATH:MATH:FILTer:SYMBols`` command. + + Description: + - This command sets or queries the symbol for raised cosine or root raised cosine + filter. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:SYMBols?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:SYMBols?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:SYMBols value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:SYMBols + - MATH:MATH:FILTer:SYMBols? + ``` + + Info: + - ```` specifies the number of symbols for Raised-Cosine (RC) filter type. + """ + return self._symbols + + @property + def twidth(self) -> MathMathItemFilterTwidth: + """Return the ``MATH:MATH:FILTer:TWIDth`` command. + + Description: + - This command sets or queries the filter Transition Width for Custom filter response. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TWIDth?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TWIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TWIDth value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:TWIDth + - MATH:MATH:FILTer:TWIDth? + ``` + + Info: + - ```` specifies the Transition Width for Custom filter response. + """ + return self._twidth + + @property + def type(self) -> MathMathItemFilterType: + """Return the ``MATH:MATH:FILTer:TYPe`` command. + + Description: + - This command specifies or queries the filter type. The math waveform is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:FILTer:TYPe value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FILTer:TYPe {LPASs|HPASs|BPASs|BSTop|APASs|HILBert|DIFFerentiator|RC|RRC} + - MATH:MATH:FILTer:TYPe? + ``` + + Info: + - ``LPASs`` specifies the filter type as LPASs. + - ``HPASs`` specifies the filter type as HPASs. + - ``BPASs`` specifies the filter type as BPASs. + - ``BSTop`` specifies the filter type as BSTop. + - ``APASs`` specifies the filter type as APASs. + - ``HILBert`` specifies the filter type as HILBert. + - ``DIFFerentiator`` specifies the filter type as DIFFerentiator. + - ``RC`` specifies the filter type as RC. + - ``RRC`` specifies the filter type as RRC. + """ + return self._type + + +class MathMathItemEusbSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:EUSB:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for EUSB bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:EUSB:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:EUSB:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:EUSB:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:EUSB:SUPPortedfields {DATa|DDATa} + - MATH:MATH:EUSB:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. DATa field can be set when eUSB Bus configuration + for Speed is set to High and Signal type is Diff. + - ``DDATa`` sets the field type to DDATa. + """ + + +class MathMathItemEusb(SCPICmdRead): + """The ``MATH:MATH:EUSB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:EUSB?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:EUSB?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:EUSB:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemEusbSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemEusbSupportedfields: + """Return the ``MATH:MATH:EUSB:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for EUSB + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:EUSB:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:EUSB:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:EUSB:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:EUSB:SUPPortedfields {DATa|DDATa} + - MATH:MATH:EUSB:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. DATa field can be set when eUSB Bus + configuration for Speed is set to High and Signal type is Diff. + - ``DDATa`` sets the field type to DDATa. + """ + return self._supportedfields + + +class MathMathItemEthernetSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:ETHERnet:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for ETHERnet + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERnet:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ETHERnet:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ETHERnet:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ETHERnet:SUPPortedfields {DATa|IPData|TDATa} + - MATH:MATH:ETHERnet:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``IPData`` sets the field type to IPData. + - ``TDATa`` sets the field type to TDATa. + """ + + +class MathMathItemEthernet(SCPICmdRead): + """The ``MATH:MATH:ETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:ETHERnet:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemEthernetSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemEthernetSupportedfields: + """Return the ``MATH:MATH:ETHERnet:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + ETHERnet bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERnet:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ETHERnet:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ETHERnet:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ETHERnet:SUPPortedfields {DATa|IPData|TDATa} + - MATH:MATH:ETHERnet:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``IPData`` sets the field type to IPData. + - ``TDATa`` sets the field type to TDATa. + """ + return self._supportedfields + + +class MathMathItemEthercatSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:ETHERCAT:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for ETHERCAT + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERCAT:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ETHERCAT:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ETHERCAT:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ETHERCAT:SUPPortedfields {DATa|SDATa|NWVariabledata} + - MATH:MATH:ETHERCAT:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``SDATa`` sets the field type to SDATa. + - ``NWVariabledata`` sets the field type to NWVariabledata. + """ + + +class MathMathItemEthercat(SCPICmdRead): + """The ``MATH:MATH:ETHERCAT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERCAT?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ETHERCAT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:ETHERCAT:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemEthercatSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemEthercatSupportedfields: + """Return the ``MATH:MATH:ETHERCAT:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + ETHERCAT bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERCAT:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ETHERCAT:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ETHERCAT:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ETHERCAT:SUPPortedfields {DATa|SDATa|NWVariabledata} + - MATH:MATH:ETHERCAT:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``SDATa`` sets the field type to SDATa. + - ``NWVariabledata`` sets the field type to NWVariabledata. + """ + return self._supportedfields + + +class MathMathItemEspiSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:ESPI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for ESPI bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ESPI:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ESPI:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ESPI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ESPI:SUPPortedfields {DATa|CDATa|RDATa} + - MATH:MATH:ESPI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``CDATa`` sets the field type to CDATa. + - ``RDATa`` sets the field type to RDATa. + """ + + +class MathMathItemEspi(SCPICmdRead): + """The ``MATH:MATH:ESPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ESPI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ESPI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:ESPI:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemEspiSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemEspiSupportedfields: + """Return the ``MATH:MATH:ESPI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for ESPI + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ESPI:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ESPI:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ESPI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ESPI:SUPPortedfields {DATa|CDATa|RDATa} + - MATH:MATH:ESPI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``CDATa`` sets the field type to CDATa. + - ``RDATa`` sets the field type to RDATa. + """ + return self._supportedfields + + +class MathMathItemDefine(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:DEFine`` command. + + Description: + - This command allows you to define new waveforms using mathematical expressions. The query + form of this command returns the math definition for the specified math waveform. The math + waveform is specified by x. You can specify a math expression from waveforms, measurements + and scalar sources, functions, operands, and numerical constants. Math expressions can be + simple, such as Ch1, which specifies that a waveform should show the signal source of + Channel 1 with no mathematical computation. Math expressions can also be complex, + consisting of 100 plus characters and comprising many sources (including other math + waveforms), functions, and operands. As an example, you can enter the expression + Log(Ch1+Ch2), which specifies that the signals from channels 1 and 2 are to be + algebraically added, and the base 10 log of the sum is to be shown as the final math + waveform. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:DEFine?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:DEFine?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:DEFine value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:DEFine + - MATH:MATH:DEFine? + ``` + + Info: + - ```` quoted string argument is the mathematical expression that defines the + waveform. ``MATH:MATH:DEFINE?`` is for use when the ``MATH:MATH:TYPE`` is ADVANCED. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MathMathItemCxpiSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:CXPI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for CXPI bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CXPI:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:CXPI:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:CXPI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:CXPI:SUPPortedfields {DATa} + - MATH:MATH:CXPI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemCxpi(SCPICmdRead): + """The ``MATH:MATH:CXPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CXPI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:CXPI?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:CXPI:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemCxpiSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemCxpiSupportedfields: + """Return the ``MATH:MATH:CXPI:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for CXPI + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CXPI:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:CXPI:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:CXPI:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:CXPI:SUPPortedfields {DATa} + - MATH:MATH:CXPI:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemCanSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:CAN:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for CAN bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CAN:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:CAN:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:CAN:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:CAN:SUPPortedfields {DATa} + - MATH:MATH:CAN:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemCan(SCPICmdRead): + """The ``MATH:MATH:CAN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:CAN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:CAN:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemCanSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemCanSupportedfields: + """Return the ``MATH:MATH:CAN:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for CAN + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CAN:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:CAN:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:CAN:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:CAN:SUPPortedfields {DATa} + - MATH:MATH:CAN:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +class MathMathItemAvgWeight(SCPICmdWrite): + """The ``MATH:MATH:AVG:WEIGht`` command. + + Description: + - This command sets or queries the number of acquisitions at which the averaging algorithm + will begin exponential averaging. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:AVG:WEIGht value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:AVG:WEIGht + ``` + + Info: + - ```` is the number of acquisitions at which the averaging algorithm will begin + exponential averaging. + """ + + +class MathMathItemAvgMode(SCPICmdWrite): + """The ``MATH:MATH:AVG:MODE`` command. + + Description: + - This command sets or queries the math average mode flag. If the flag is set to 1, math + averaging is turned on. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:AVG:MODE value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:AVG:MODE {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off average mode, and any other integer turns on average mode. + - ``OFF`` turns off average mode. + - ``ON`` turns on average mode. + """ + + +class MathMathItemAvg(SCPICmdRead): + """The ``MATH:MATH:AVG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AVG?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AVG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.mode``: The ``MATH:MATH:AVG:MODE`` command. + - ``.weight``: The ``MATH:MATH:AVG:WEIGht`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = MathMathItemAvgMode(device, f"{self._cmd_syntax}:MODE") + self._weight = MathMathItemAvgWeight(device, f"{self._cmd_syntax}:WEIGht") + + @property + def mode(self) -> MathMathItemAvgMode: + """Return the ``MATH:MATH:AVG:MODE`` command. + + Description: + - This command sets or queries the math average mode flag. If the flag is set to 1, math + averaging is turned on. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:AVG:MODE value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:AVG:MODE {ON|OFF|} + ``` + + Info: + - ```` = 0 turns off average mode, and any other integer turns on average mode. + - ``OFF`` turns off average mode. + - ``ON`` turns on average mode. + """ + return self._mode + + @property + def weight(self) -> MathMathItemAvgWeight: + """Return the ``MATH:MATH:AVG:WEIGht`` command. + + Description: + - This command sets or queries the number of acquisitions at which the averaging + algorithm will begin exponential averaging. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:AVG:WEIGht value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:AVG:WEIGht + ``` + + Info: + - ```` is the number of acquisitions at which the averaging algorithm will begin + exponential averaging. + """ + return self._weight + + +class MathMathItemAutoethernetSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:AUTOETHERnet:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + AUTOETHERnet bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUTOETHERnet:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:AUTOETHERnet:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:AUTOETHERnet:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:AUTOETHERnet:SUPPortedfields {DATa|IPData|TDATa} + - MATH:MATH:AUTOETHERnet:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``IPData`` sets the field type to IPData. + - ``TDATa`` sets the field type to TDATa. + """ + + +class MathMathItemAutoethernet(SCPICmdRead): + """The ``MATH:MATH:AUTOETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUTOETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AUTOETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:AUTOETHERnet:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemAutoethernetSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemAutoethernetSupportedfields: + """Return the ``MATH:MATH:AUTOETHERnet:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + AUTOETHERnet bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MATH:MATH:AUTOETHERnet:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:AUTOETHERnet:SUPPortedfields?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:AUTOETHERnet:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:AUTOETHERnet:SUPPortedfields {DATa|IPData|TDATa} + - MATH:MATH:AUTOETHERnet:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + - ``IPData`` sets the field type to IPData. + - ``TDATa`` sets the field type to TDATa. + """ + return self._supportedfields + + +class MathMathItemAudioSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:AUDIO:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for Audio bus. + The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUDIO:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AUDIO:SUPPortedfields?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:AUDIO:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:AUDIO:SUPPortedfields {LCHannel|RCHannel|TDMChannel} + - MATH:MATH:AUDIO:SUPPortedfields? + ``` + + Info: + - ``LCHannel`` sets the field type to LCHannel. + - ``RCHannel`` sets the field type to RCHannel. + - ``TDMChannel`` sets the field type to TDMChannel. + """ + + +class MathMathItemAudio(SCPICmdRead): + """The ``MATH:MATH:AUDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUDIO?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AUDIO?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:AUDIO:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemAudioSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemAudioSupportedfields: + """Return the ``MATH:MATH:AUDIO:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for Audio + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUDIO:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:AUDIO:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:AUDIO:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:AUDIO:SUPPortedfields {LCHannel|RCHannel|TDMChannel} + - MATH:MATH:AUDIO:SUPPortedfields? + ``` + + Info: + - ``LCHannel`` sets the field type to LCHannel. + - ``RCHannel`` sets the field type to RCHannel. + - ``TDMChannel`` sets the field type to TDMChannel. + """ + return self._supportedfields + + +class MathMathItemArinc429aSupportedfields(SCPICmdWrite, SCPICmdRead): + """The ``MATH:MATH:ARINC429A:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for ARINC429A + bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ARINC429A:SUPPortedfields?`` + query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ARINC429A:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ARINC429A:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ARINC429A:SUPPortedfields {DATa} + - MATH:MATH:ARINC429A:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + + +class MathMathItemArinc429a(SCPICmdRead): + """The ``MATH:MATH:ARINC429A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ARINC429A?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ARINC429A?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.supportedfields``: The ``MATH:MATH:ARINC429A:SUPPortedfields`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._supportedfields = MathMathItemArinc429aSupportedfields( + device, f"{self._cmd_syntax}:SUPPortedfields" + ) + + @property + def supportedfields(self) -> MathMathItemArinc429aSupportedfields: + """Return the ``MATH:MATH:ARINC429A:SUPPortedfields`` command. + + Description: + - This command sets or queries the field type for the math for the bus source for + ARINC429A bus. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MATH:MATH:ARINC429A:SUPPortedfields?`` query. + - Using the ``.verify(value)`` method will send the + ``MATH:MATH:ARINC429A:SUPPortedfields?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MATH:MATH:ARINC429A:SUPPortedfields value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:ARINC429A:SUPPortedfields {DATa} + - MATH:MATH:ARINC429A:SUPPortedfields? + ``` + + Info: + - ``DATa`` sets the field type to DATa. + """ + return self._supportedfields + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class MathMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``MATH:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.arinc429a``: The ``MATH:MATH:ARINC429A`` command tree. + - ``.audio``: The ``MATH:MATH:AUDIO`` command tree. + - ``.autoethernet``: The ``MATH:MATH:AUTOETHERnet`` command tree. + - ``.avg``: The ``MATH:MATH:AVG`` command tree. + - ``.can``: The ``MATH:MATH:CAN`` command tree. + - ``.cxpi``: The ``MATH:MATH:CXPI`` command tree. + - ``.define``: The ``MATH:MATH:DEFine`` command. + - ``.espi``: The ``MATH:MATH:ESPI`` command tree. + - ``.ethercat``: The ``MATH:MATH:ETHERCAT`` command tree. + - ``.ethernet``: The ``MATH:MATH:ETHERnet`` command tree. + - ``.eusb``: The ``MATH:MATH:EUSB`` command tree. + - ``.filter``: The ``MATH:MATH:FILTer`` command tree. + - ``.flexray``: The ``MATH:MATH:FLEXray`` command tree. + - ``.function``: The ``MATH:MATH:FUNCtion`` command. + - ``.gating``: The ``MATH:MATH:GATing`` command. + - ``.i2c``: The ``MATH:MATH:I2C`` command tree. + - ``.i3c``: The ``MATH:MATH:I3C`` command tree. + - ``.interpolation``: The ``MATH:MATH:INTERpolation`` command. + - ``.label``: The ``MATH:MATH:LABel`` command tree. + - ``.lin``: The ``MATH:MATH:LIN`` command tree. + - ``.mdio``: The ``MATH:MATH:MDIO`` command tree. + - ``.mil1553b``: The ``MATH:MATH:MIL1553B`` command tree. + - ``.onewire``: The ``MATH:MATH:ONEWIRe`` command tree. + - ``.parallel``: The ``MATH:MATH:PARallel`` command tree. + - ``.psifive``: The ``MATH:MATH:PSIFIVe`` command tree. + - ``.rs232c``: The ``MATH:MATH:RS232C`` command tree. + - ``.sdlc``: The ``MATH:MATH:SDLC`` command tree. + - ``.sent``: The ``MATH:MATH:SENT`` command tree. + - ``.signeddata``: The ``MATH:MATH:SIGNeddata`` command. + - ``.smbus``: The ``MATH:MATH:SMBUS`` command tree. + - ``.source1``: The ``MATH:MATH:SOUrce1`` command. + - ``.spacewire``: The ``MATH:MATH:SPACEWIRe`` command tree. + - ``.spectral``: The ``MATH:MATH:SPECTral`` command tree. + - ``.spi``: The ``MATH:MATH:SPI`` command tree. + - ``.spmi``: The ``MATH:MATH:SPMI`` command tree. + - ``.svid``: The ``MATH:MATH:SVID`` command tree. + - ``.type``: The ``MATH:MATH:TYPe`` command. + - ``.usb``: The ``MATH:MATH:USB`` command tree. + - ``.vunit``: The ``MATH:MATH:VUNIT`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._arinc429a = MathMathItemArinc429a(device, f"{self._cmd_syntax}:ARINC429A") + self._audio = MathMathItemAudio(device, f"{self._cmd_syntax}:AUDIO") + self._autoethernet = MathMathItemAutoethernet(device, f"{self._cmd_syntax}:AUTOETHERnet") + self._avg = MathMathItemAvg(device, f"{self._cmd_syntax}:AVG") + self._can = MathMathItemCan(device, f"{self._cmd_syntax}:CAN") + self._cxpi = MathMathItemCxpi(device, f"{self._cmd_syntax}:CXPI") + self._define = MathMathItemDefine(device, f"{self._cmd_syntax}:DEFine") + self._espi = MathMathItemEspi(device, f"{self._cmd_syntax}:ESPI") + self._ethercat = MathMathItemEthercat(device, f"{self._cmd_syntax}:ETHERCAT") + self._ethernet = MathMathItemEthernet(device, f"{self._cmd_syntax}:ETHERnet") + self._eusb = MathMathItemEusb(device, f"{self._cmd_syntax}:EUSB") + self._filter = MathMathItemFilter(device, f"{self._cmd_syntax}:FILTer") + self._flexray = MathMathItemFlexray(device, f"{self._cmd_syntax}:FLEXray") + self._function = MathMathItemFunction(device, f"{self._cmd_syntax}:FUNCtion") + self._gating = MathMathItemGating(device, f"{self._cmd_syntax}:GATing") + self._i2c = MathMathItemI2c(device, f"{self._cmd_syntax}:I2C") + self._i3c = MathMathItemI3c(device, f"{self._cmd_syntax}:I3C") + self._interpolation = MathMathItemInterpolation(device, f"{self._cmd_syntax}:INTERpolation") + self._label = MathMathItemLabel(device, f"{self._cmd_syntax}:LABel") + self._lin = MathMathItemLin(device, f"{self._cmd_syntax}:LIN") + self._mdio = MathMathItemMdio(device, f"{self._cmd_syntax}:MDIO") + self._mil1553b = MathMathItemMil1553b(device, f"{self._cmd_syntax}:MIL1553B") + self._onewire = MathMathItemOnewire(device, f"{self._cmd_syntax}:ONEWIRe") + self._parallel = MathMathItemParallel(device, f"{self._cmd_syntax}:PARallel") + self._psifive = MathMathItemPsifive(device, f"{self._cmd_syntax}:PSIFIVe") + self._rs232c = MathMathItemRs232c(device, f"{self._cmd_syntax}:RS232C") + self._sdlc = MathMathItemSdlc(device, f"{self._cmd_syntax}:SDLC") + self._sent = MathMathItemSent(device, f"{self._cmd_syntax}:SENT") + self._signeddata = MathMathItemSigneddata(device, f"{self._cmd_syntax}:SIGNeddata") + self._smbus = MathMathItemSmbus(device, f"{self._cmd_syntax}:SMBUS") + self._source1 = MathMathItemSource1(device, f"{self._cmd_syntax}:SOUrce1") + self._spacewire = MathMathItemSpacewire(device, f"{self._cmd_syntax}:SPACEWIRe") + self._spectral = MathMathItemSpectral(device, f"{self._cmd_syntax}:SPECTral") + self._spi = MathMathItemSpi(device, f"{self._cmd_syntax}:SPI") + self._spmi = MathMathItemSpmi(device, f"{self._cmd_syntax}:SPMI") + self._svid = MathMathItemSvid(device, f"{self._cmd_syntax}:SVID") + self._type = MathMathItemType(device, f"{self._cmd_syntax}:TYPe") + self._usb = MathMathItemUsb(device, f"{self._cmd_syntax}:USB") + self._vunit = MathMathItemVunit(device, f"{self._cmd_syntax}:VUNIT") + + @property + def arinc429a(self) -> MathMathItemArinc429a: + """Return the ``MATH:MATH:ARINC429A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ARINC429A?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ARINC429A?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:ARINC429A:SUPPortedfields`` command. + """ + return self._arinc429a + + @property + def audio(self) -> MathMathItemAudio: + """Return the ``MATH:MATH:AUDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUDIO?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AUDIO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:AUDIO:SUPPortedfields`` command. + """ + return self._audio + + @property + def autoethernet(self) -> MathMathItemAutoethernet: + """Return the ``MATH:MATH:AUTOETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AUTOETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AUTOETHERnet?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:AUTOETHERnet:SUPPortedfields`` command. + """ + return self._autoethernet + + @property + def avg(self) -> MathMathItemAvg: + """Return the ``MATH:MATH:AVG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:AVG?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:AVG?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mode``: The ``MATH:MATH:AVG:MODE`` command. + - ``.weight``: The ``MATH:MATH:AVG:WEIGht`` command. + """ + return self._avg + + @property + def can(self) -> MathMathItemCan: + """Return the ``MATH:MATH:CAN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:CAN?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:CAN:SUPPortedfields`` command. + """ + return self._can + + @property + def cxpi(self) -> MathMathItemCxpi: + """Return the ``MATH:MATH:CXPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:CXPI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:CXPI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:CXPI:SUPPortedfields`` command. + """ + return self._cxpi + + @property + def define(self) -> MathMathItemDefine: + """Return the ``MATH:MATH:DEFine`` command. + + Description: + - This command allows you to define new waveforms using mathematical expressions. The + query form of this command returns the math definition for the specified math + waveform. The math waveform is specified by x. You can specify a math expression from + waveforms, measurements and scalar sources, functions, operands, and numerical + constants. Math expressions can be simple, such as Ch1, which specifies that a + waveform should show the signal source of Channel 1 with no mathematical computation. + Math expressions can also be complex, consisting of 100 plus characters and comprising + many sources (including other math waveforms), functions, and operands. As an example, + you can enter the expression Log(Ch1+Ch2), which specifies that the signals from + channels 1 and 2 are to be algebraically added, and the base 10 log of the sum is to + be shown as the final math waveform. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:DEFine?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:DEFine?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:DEFine value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:DEFine + - MATH:MATH:DEFine? + ``` + + Info: + - ```` quoted string argument is the mathematical expression that defines the + waveform. ``MATH:MATH:DEFINE?`` is for use when the ``MATH:MATH:TYPE`` is + ADVANCED. + """ + return self._define + + @property + def espi(self) -> MathMathItemEspi: + """Return the ``MATH:MATH:ESPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ESPI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ESPI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:ESPI:SUPPortedfields`` command. + """ + return self._espi + + @property + def ethercat(self) -> MathMathItemEthercat: + """Return the ``MATH:MATH:ETHERCAT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERCAT?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ETHERCAT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:ETHERCAT:SUPPortedfields`` command. + """ + return self._ethercat + + @property + def ethernet(self) -> MathMathItemEthernet: + """Return the ``MATH:MATH:ETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ETHERnet?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:ETHERnet:SUPPortedfields`` command. + """ + return self._ethernet + + @property + def eusb(self) -> MathMathItemEusb: + """Return the ``MATH:MATH:EUSB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:EUSB?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:EUSB?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:EUSB:SUPPortedfields`` command. + """ + return self._eusb + + @property + def filter(self) -> MathMathItemFilter: + """Return the ``MATH:MATH:FILTer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FILTer?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FILTer?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cfreq``: The ``MATH:MATH:FILTer:CFReq`` command. + - ``.delay``: The ``MATH:MATH:FILTer:DELay`` command. + - ``.design``: The ``MATH:MATH:FILTer:DESIgn`` command. + - ``.hcfreq``: The ``MATH:MATH:FILTer:HCFReq`` command. + - ``.info``: The ``MATH:MATH:FILTer:INFo`` command. + - ``.lcfreq``: The ``MATH:MATH:FILTer:LCFReq`` command. + - ``.load``: The ``MATH:MATH:FILTer:LOAD`` command. + - ``.order``: The ``MATH:MATH:FILTer:ORDer`` command. + - ``.pripple``: The ``MATH:MATH:FILTer:PRIPple`` command. + - ``.response``: The ``MATH:MATH:FILTer:RESPonse`` command. + - ``.rofactor``: The ``MATH:MATH:FILTer:ROFactor`` command. + - ``.sattenuation``: The ``MATH:MATH:FILTer:SATTenuation`` command. + - ``.save``: The ``MATH:MATH:FILTer:SAVe`` command. + - ``.sdeviation``: The ``MATH:MATH:FILTer:SDEViation`` command. + - ``.sduration``: The ``MATH:MATH:FILTer:SDURation`` command. + - ``.source``: The ``MATH:MATH:FILTer:SOURce`` command. + - ``.symbols``: The ``MATH:MATH:FILTer:SYMBols`` command. + - ``.twidth``: The ``MATH:MATH:FILTer:TWIDth`` command. + - ``.type``: The ``MATH:MATH:FILTer:TYPe`` command. + """ + return self._filter + + @property + def flexray(self) -> MathMathItemFlexray: + """Return the ``MATH:MATH:FLEXray`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:FLEXray?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:FLEXray?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:FLEXray:SUPPortedfields`` command. + """ + return self._flexray + + @property + def function(self) -> MathMathItemFunction: + """Return the ``MATH:MATH:FUNCtion`` command. + + Description: + - This command sets or queries the basic math arithmetic function. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:FUNCtion value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:FUNCtion {ADD|SUBtract|MULTiply|DIVide} + ``` + + Info: + - ``ADD`` sets the basic math function to add. + - ``SUBtract`` sets the basic math function to subtract. + - ``MULTiply`` sets the basic math function to multiply. + - ``DIVide`` sets the basic math function to divide. + """ + return self._function + + @property + def gating(self) -> MathMathItemGating: + """Return the ``MATH:MATH:GATing`` command. + + Description: + - This command specifies or returns the gating setting. It only applies to Math FFT + plots. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:GATing?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:GATing value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:GATing {NONE|SCREEN|CURSor} + - MATH:MATH:GATing? + ``` + + Info: + - ``NONE`` turns off math gating. + - ``SCREEN`` turns on gating, using the left and right edges of the screen. + - ``CURSor`` limits math to the portion of the waveform between the vertical bar + cursors, even if they are off screen. + """ + return self._gating + + @property + def i2c(self) -> MathMathItemI2c: + """Return the ``MATH:MATH:I2C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:I2C?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:I2C:SUPPortedfields`` command. + """ + return self._i2c + + @property + def i3c(self) -> MathMathItemI3c: + """Return the ``MATH:MATH:I3C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:I3C?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:I3C?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:I3C:SUPPortedfields`` command. + """ + return self._i3c + + @property + def interpolation(self) -> MathMathItemInterpolation: + """Return the ``MATH:MATH:INTERpolation`` command. + + Description: + - This command sets or queries whether sinc interpolation is enabled for math on bus + source. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:INTERpolation value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:INTERpolation {ON|OFF} + ``` + + Info: + - ``ON`` indicates that the sinc interpolation is used for math waveform. + - ``OFF`` indicates no interpolation is used for math waveform. Waveform will appear + 'stair-steppy' in this case. + """ + return self._interpolation + + @property + def label(self) -> MathMathItemLabel: + """Return the ``MATH:MATH:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``MATH:MATH:LABel:COLor`` command. + - ``.font``: The ``MATH:MATH:LABel:FONT`` command tree. + - ``.name``: The ``MATH:MATH:LABel:NAMe`` command. + - ``.xpos``: The ``MATH:MATH:LABel:XPOS`` command. + - ``.ypos``: The ``MATH:MATH:LABel:YPOS`` command. + """ + return self._label + + @property + def lin(self) -> MathMathItemLin: + """Return the ``MATH:MATH:LIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:LIN?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:LIN:SUPPortedfields`` command. + """ + return self._lin + + @property + def mdio(self) -> MathMathItemMdio: + """Return the ``MATH:MATH:MDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MDIO?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:MDIO?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:MDIO:SUPPortedfields`` command. + """ + return self._mdio + + @property + def mil1553b(self) -> MathMathItemMil1553b: + """Return the ``MATH:MATH:MIL1553B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:MIL1553B?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:MIL1553B:SUPPortedfields`` command. + """ + return self._mil1553b + + @property + def onewire(self) -> MathMathItemOnewire: + """Return the ``MATH:MATH:ONEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:ONEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:ONEWIRe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:ONEWIRe:SUPPortedfields`` command. + """ + return self._onewire + + @property + def parallel(self) -> MathMathItemParallel: + """Return the ``MATH:MATH:PARallel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PARallel?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:PARallel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:PARallel:SUPPortedfields`` command. + """ + return self._parallel + + @property + def psifive(self) -> MathMathItemPsifive: + """Return the ``MATH:MATH:PSIFIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:PSIFIVe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:PSIFIVe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:PSIFIVe:SUPPortedfields`` command. + """ + return self._psifive + + @property + def rs232c(self) -> MathMathItemRs232c: + """Return the ``MATH:MATH:RS232C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:RS232C?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:RS232C?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:RS232C:SUPPortedfields`` command. + """ + return self._rs232c + + @property + def sdlc(self) -> MathMathItemSdlc: + """Return the ``MATH:MATH:SDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SDLC?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SDLC?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SDLC:SUPPortedfields`` command. + """ + return self._sdlc + + @property + def sent(self) -> MathMathItemSent: + """Return the ``MATH:MATH:SENT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SENT?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SENT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SENT:SUPPortedfields`` command. + """ + return self._sent + + @property + def signeddata(self) -> MathMathItemSigneddata: + """Return the ``MATH:MATH:SIGNeddata`` command. + + Description: + - This command sets or queries value to denote that bus field is decoded as + signed/unsigned data for math on bus source. The math waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SIGNeddata?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SIGNeddata?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MATH:MATH:SIGNeddata value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SIGNeddata {ON|OFF} + - MATH:MATH:SIGNeddata? + ``` + + Info: + - ``ON`` indicates that the bus field is decoded as signed data for drawing the math + waveform. + - ``OFF`` indicates that the bus field is decoded as unsigned data for drawing the math + waveform. + """ + return self._signeddata + + @property + def smbus(self) -> MathMathItemSmbus: + """Return the ``MATH:MATH:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SMBUS?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SMBUS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SMBUS:SUPPortedfields`` command. + """ + return self._smbus + + @property + def source1(self) -> MathMathItemSource1: + """Return the ``MATH:MATH:SOUrce1`` command. + + Description: + - This command sets or queries the specified math source. The source in the command can + be either 1 or 2. This command sets the Basic Math components in the user interface, + with two sources and a function. You would also need to set the math type to Basic to + see the change in the user interface but this will not effect the programmable + interface. The math waveform and source are specified by x. SOURCE1 and SOURCE2 are + for use when the ``MATH:MATH:TYPE`` is BASIC. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:SOUrce1 value`` + command. + + SCPI Syntax: + ``` + - MATH:MATH:SOUrce1 {S_Ch|CH|MATH|REF} + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source1 + + @property + def spacewire(self) -> MathMathItemSpacewire: + """Return the ``MATH:MATH:SPACEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPACEWIRe?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPACEWIRe?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SPACEWIRe:SUPPortedfields`` command. + """ + return self._spacewire + + @property + def spectral(self) -> MathMathItemSpectral: + """Return the ``MATH:MATH:SPECTral`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPECTral?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPECTral?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.horz``: The ``MATH:MATH:SPECTral:HORZ`` command. + - ``.mag``: The ``MATH:MATH:SPECTral:MAG`` command. + - ``.phase``: The ``MATH:MATH:SPECTral:PHASE`` command. + - ``.source``: The ``MATH:MATH:SPECTral:SOUrce`` command. + - ``.suppress``: The ``MATH:MATH:SPECTral:SUPPress`` command. + - ``.type``: The ``MATH:MATH:SPECTral:TYPE`` command. + - ``.unwrap``: The ``MATH:MATH:SPECTral:UNWRap`` command. + - ``.window``: The ``MATH:MATH:SPECTral:WINdow`` command. + """ + return self._spectral + + @property + def spi(self) -> MathMathItemSpi: + """Return the ``MATH:MATH:SPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SPI:SUPPortedfields`` command. + """ + return self._spi + + @property + def spmi(self) -> MathMathItemSpmi: + """Return the ``MATH:MATH:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SPMI?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SPMI?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SPMI:SUPPortedfields`` command. + """ + return self._spmi + + @property + def svid(self) -> MathMathItemSvid: + """Return the ``MATH:MATH:SVID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:SVID?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:SVID?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:SVID:SUPPortedfields`` command. + """ + return self._svid + + @property + def type(self) -> MathMathItemType: + """Return the ``MATH:MATH:TYPe`` command. + + Description: + - This command sets or queries the math type. The math waveform is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:TYPe value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:TYPe {BASic|FILTER|FFT|ADVanced} + ``` + + Info: + - ``BASic`` set the type to basic math. + - ``FILTER`` sets the math type to filter. Requires UDFLT licenses on 5, 6 series MSO + instruments and Tekscope (Offline). + - ``FFT`` sets the type to FFT math, which can use any live analog or reference waveform + in the time domain. NOTE. You can also use FFT as part of a math expression by + declaring the type. + - ``ADVanced`` sets the type to advanced math. + """ + return self._type + + @property + def usb(self) -> MathMathItemUsb: + """Return the ``MATH:MATH:USB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH:USB?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH:USB?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.supportedfields``: The ``MATH:MATH:USB:SUPPortedfields`` command. + """ + return self._usb + + @property + def vunit(self) -> MathMathItemVunit: + """Return the ``MATH:MATH:VUNIT`` command. + + Description: + - This command specifies or returns the math custom vertical units. The math waveform is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:MATH:VUNIT value`` command. + + SCPI Syntax: + ``` + - MATH:MATH:VUNIT + ``` + + Info: + - ```` is the custom vertical units. + """ + return self._vunit + + +class MathList(SCPICmdRead): + """The ``MATH:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined math waveforms. + + Usage: + - Using the ``.query()`` method will send the ``MATH:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MATH:LIST? + ``` + """ + + +class MathDelete(SCPICmdWrite): + """The ``MATH:DELete`` command. + + Description: + - This command deletes the specified math. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:DELete value`` command. + + SCPI Syntax: + ``` + - MATH:DELete + ``` + + Info: + - ```` is a quoted string specifying the math waveform to delete. The quoted string + is of the form 'MATH', where is ≥1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MathAddnew(SCPICmdWrite): + """The ``MATH:ADDNew`` command. + + Description: + - This command adds the specified math. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:ADDNew value`` command. + + SCPI Syntax: + ``` + - MATH:ADDNew + ``` + + Info: + - ```` is the quoted string specifying the math waveform to add. The argument is of + the form 'MATH', where is ≥1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Math(SCPICmdRead): + """The ``MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``MATH:ADDNew`` command. + - ``.delete``: The ``MATH:DELete`` command. + - ``.list``: The ``MATH:LIST`` command. + - ``.math``: The ``MATH:MATH`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "MATH") -> None: + super().__init__(device, cmd_syntax) + self._addnew = MathAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._delete = MathDelete(device, f"{self._cmd_syntax}:DELete") + self._list = MathList(device, f"{self._cmd_syntax}:LIST") + self._math: Dict[int, MathMathItem] = DefaultDictPassKeyToFactory( + lambda x: MathMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) + + @property + def addnew(self) -> MathAddnew: + """Return the ``MATH:ADDNew`` command. + + Description: + - This command adds the specified math. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:ADDNew value`` command. + + SCPI Syntax: + ``` + - MATH:ADDNew + ``` + + Info: + - ```` is the quoted string specifying the math waveform to add. The argument + is of the form 'MATH', where is ≥1. + """ + return self._addnew + + @property + def delete(self) -> MathDelete: + """Return the ``MATH:DELete`` command. + + Description: + - This command deletes the specified math. + + Usage: + - Using the ``.write(value)`` method will send the ``MATH:DELete value`` command. + + SCPI Syntax: + ``` + - MATH:DELete + ``` + + Info: + - ```` is a quoted string specifying the math waveform to delete. The quoted + string is of the form 'MATH', where is ≥1. + """ + return self._delete + + @property + def list(self) -> MathList: + """Return the ``MATH:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined math waveforms. + + Usage: + - Using the ``.query()`` method will send the ``MATH:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MATH:LIST? + ``` + """ + return self._list + + @property + def math(self) -> Dict[int, MathMathItem]: + """Return the ``MATH:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.arinc429a``: The ``MATH:MATH:ARINC429A`` command tree. + - ``.audio``: The ``MATH:MATH:AUDIO`` command tree. + - ``.autoethernet``: The ``MATH:MATH:AUTOETHERnet`` command tree. + - ``.avg``: The ``MATH:MATH:AVG`` command tree. + - ``.can``: The ``MATH:MATH:CAN`` command tree. + - ``.cxpi``: The ``MATH:MATH:CXPI`` command tree. + - ``.define``: The ``MATH:MATH:DEFine`` command. + - ``.espi``: The ``MATH:MATH:ESPI`` command tree. + - ``.ethercat``: The ``MATH:MATH:ETHERCAT`` command tree. + - ``.ethernet``: The ``MATH:MATH:ETHERnet`` command tree. + - ``.eusb``: The ``MATH:MATH:EUSB`` command tree. + - ``.filter``: The ``MATH:MATH:FILTer`` command tree. + - ``.flexray``: The ``MATH:MATH:FLEXray`` command tree. + - ``.function``: The ``MATH:MATH:FUNCtion`` command. + - ``.gating``: The ``MATH:MATH:GATing`` command. + - ``.i2c``: The ``MATH:MATH:I2C`` command tree. + - ``.i3c``: The ``MATH:MATH:I3C`` command tree. + - ``.interpolation``: The ``MATH:MATH:INTERpolation`` command. + - ``.label``: The ``MATH:MATH:LABel`` command tree. + - ``.lin``: The ``MATH:MATH:LIN`` command tree. + - ``.mdio``: The ``MATH:MATH:MDIO`` command tree. + - ``.mil1553b``: The ``MATH:MATH:MIL1553B`` command tree. + - ``.onewire``: The ``MATH:MATH:ONEWIRe`` command tree. + - ``.parallel``: The ``MATH:MATH:PARallel`` command tree. + - ``.psifive``: The ``MATH:MATH:PSIFIVe`` command tree. + - ``.rs232c``: The ``MATH:MATH:RS232C`` command tree. + - ``.sdlc``: The ``MATH:MATH:SDLC`` command tree. + - ``.sent``: The ``MATH:MATH:SENT`` command tree. + - ``.signeddata``: The ``MATH:MATH:SIGNeddata`` command. + - ``.smbus``: The ``MATH:MATH:SMBUS`` command tree. + - ``.source1``: The ``MATH:MATH:SOUrce1`` command. + - ``.spacewire``: The ``MATH:MATH:SPACEWIRe`` command tree. + - ``.spectral``: The ``MATH:MATH:SPECTral`` command tree. + - ``.spi``: The ``MATH:MATH:SPI`` command tree. + - ``.spmi``: The ``MATH:MATH:SPMI`` command tree. + - ``.svid``: The ``MATH:MATH:SVID`` command tree. + - ``.type``: The ``MATH:MATH:TYPe`` command. + - ``.usb``: The ``MATH:MATH:USB`` command tree. + - ``.vunit``: The ``MATH:MATH:VUNIT`` command. + """ + return self._math diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/measu.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/measu.py new file mode 100644 index 00000000..a0c1a066 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/measu.py @@ -0,0 +1,1059 @@ +"""The measu commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead, SCPICmdReadWithArguments + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class MeasuMeas1SubgroupResultsCurrentacqStddev(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. + + Description: + - This query returns the standard deviation value of the measurement specified by the + string, for the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsCurrentacqPopulation(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. + + Description: + - This query returns the population value of the measurement specified by the string, for + the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsCurrentacqPk2pk(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. + + Description: + - This query returns the peak-to-peak value of the measurement specified by the string, for + the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsCurrentacqMinimum(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + + Description: + - This query returns the minimum value of the measurement specified by the string, for the + current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsCurrentacqMean(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + + Description: + - This query returns the mean value of the measurement specified by the string, for the + current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? + ``` + + Info: + - ```` = INPUT \|OUTPUT1 \|OUTPUT2 \|OUTPUT3 \|OUTPUT4 \|OUTPUT5 \|OUTPUT6 + \|OUTPUT7 \|RAIL1DPMOVERSHOOT \|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL \|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS \|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK \|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL \|L2LPH1VRMS + \|L2LPH1VCFactor \|L2LPH1TruePwr \|L2LPH1RePwr \|L2LPH1AppPwr \|L2LPH1PwrFactor + \|L2LPH1PhaseDiff \|L2LPH1VPhase \|L2LPH2VRMS \|L2LPH2VCFactor \|L2LPH2TruePwr + \|L2LPH2RePwr \|L2LPH2AppPwr \|L2LPH2PwrFactor \|L2LPH2PhaseDiff \|L2LPH2VPhase + \|L2LPH3VRMS \|L2LPH3VCFactor \|L2LPH3TruePwr \|L2LPH3RePwr \|L2LPH3AppPwr + \|L2LPH3PwrFactor \|L2LPH3PhaseDiff \|L2LPH3VPhase \|L2NPH1VRMS \|L2NPH1VCFactor + \|L2NPH1TruePwr \|L2NPH1RePwr \|L2NPH1AppPwr \|L2NPH1PwrFactor \|L2NPH1PhaseDiff + \|L2NPH1VPhase \|L2NPH2VRMS \|L2NPH2VCFactor \|L2NPH2TruePwr \|L2NPH2RePwr \|L2NPH2AppPwr + \|L2NPH2PwrFactor \|L2NPH2PhaseDiff \|L2NPH2VPhase \|L2NPH3VRMS \|L2NPH3VCFactor + \|L2NPH3TruePwr \|L2NPH3RePwr \|L2NPH3AppPwr \|L2NPH3PwrFactor \|L2NPH3PhaseDiff + \|L2NPH3VPhase \|PH1IRMS \|PH1IPhase \|PH1ICFactor \|PH2IRMS \|PH2IPhase \|PH2ICFactor + \|PH3IRMS \|PH3IPhase \|PH3ICFactor \|Frequency \|L2LPH1F1Mag \|L2LPH1F3Mag \|L2LPH1THDF + \|L2LPH1THDR \|L2LPH1RMS \|L2LPH1IRMS \|L2LPH1Status \|L2LPH1HarmonicsNumber + \|L2LPH1Frequency \|L2LPH1MagnitudeAbs \|L2LPH1MagnitudePct \|L2LPH1Phase \|L2LPH1Limits + \|L2LPH1PassFail \|L2LPH1Margin \|L2LPH2F1Mag \|L2LPH2F3Mag \|L2LPH2THDF \|L2LPH2THDR + \|L2LPH2RMS \|L2LPH2IRMS \|L2LPH2Status \|L2LPH2HarmonicsNumber \|L2LPH2Frequency + \|L2LPH2MagnitudeAbs \|L2LPH2MagnitudePct \|L2LPH2Phase \|L2LPH2Limits \|L2LPH2PassFail + \|L2LPH2Margin \|L2LPH3F1Mag \|L2LPH3F3Mag \|L2LPH3THDF \|L2LPH3THDR \|L2LPH3RMS + \|L2LPH3IRMS \|L2LPH3Status \|L2LPH3HarmonicsNumber \|L2LPH3Frequency \|L2LPH3MagnitudeAbs + \|L2LPH3MagnitudePct \|L2LPH3Phase \|L2LPH3Limits \|L2LPH3PassFail \|L2LPH3Margin + \|L2NPH1F1Mag \|L2NPH1F3Mag \|L2NPH1THDF \|L2NPH1THDR \|L2NPH1RMS \|L2NPH1IRMS + \|L2NPH1Status \|L2NPH1HarmonicsNumber \|L2NPH1Frequency \|L2NPH1MagnitudeAbs + \|L2NPH1MagnitudePct \|L2NPH1Phase\|L2NPH1Limits \|L2NPH1PassFail\|L2NPH1Margin + \|L2NPH2F1Mag\|L2NPH2F3Mag \|L2NPH2THDF\|L2NPH2THDR \|L2NPH2RMS\|L2NPH2IRMS \|L2NPH2Status + \|L2NPH2HarmonicsNumber \|L2NPH2Frequency \|L2NPH2MagnitudeAbs \|L2NPH2MagnitudePct + \|L2NPH2Phase\|L2NPH2Limits \|L2NPH2PassFail\|L2NPH2Margin \|L2NPH3F1Mag \|L2NPH3F3Mag + \|L2NPH3THDF \|L2NPH3THDR \|L2NPH3RMS \|L2NPH3IRMS \|L2NPH3Status \|L2NPH3HarmonicsNumber + \|L2NPH3Frequency \|L2NPH3MagnitudeAbs \|L2NPH3MagnitudePct \|L2NPH3Phase \|L2NPH3Limits + \|L2NPH3PassFail \|L2NPH3Margin \|ORDER\|PH1INPwr \|PH1OUTPwr \|PH1Efficiency \|PH2INPwr + \|PH2OUTPwr \|PH2Efficiency \|TotalEfficiency \|PH1LRIPRMS \|PH1LRIPPK2PK \|PH2LRIPRMS + \|PH2LRIPPK2PK \|PH3LRIPRMS \|PH3LRIPPK2PK \|PH1SWRIPRMS \|PH1SWRIPPK2PK \|PH2SWRIPRMS + \|PH2SWRIPPK2PK \|PH3SWRIPRMS \|PH3SWRIPPK2PK \|TruePwrSum \|RePwrSum \|AppPwrSum + \|InPwrSum \|OutPwrSum. + """ + + +class MeasuMeas1SubgroupResultsCurrentacqMaximum(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + + Description: + - This query returns the maximum value of the measurement specified by the string, for the + current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsCurrentacq(SCPICmdRead): + """The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. + - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasuMeas1SubgroupResultsCurrentacqMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasuMeas1SubgroupResultsCurrentacqMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasuMeas1SubgroupResultsCurrentacqMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasuMeas1SubgroupResultsCurrentacqPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = MeasuMeas1SubgroupResultsCurrentacqPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasuMeas1SubgroupResultsCurrentacqStddev( + device, f"{self._cmd_syntax}:STDDev" + ) + + @property + def maximum(self) -> MeasuMeas1SubgroupResultsCurrentacqMaximum: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + + Description: + - This query returns the maximum value of the measurement specified by the string, for + the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._maximum + + @property + def mean(self) -> MeasuMeas1SubgroupResultsCurrentacqMean: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + + Description: + - This query returns the mean value of the measurement specified by the string, for the + current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN? + ``` + + Info: + - ```` = INPUT \|OUTPUT1 \|OUTPUT2 \|OUTPUT3 \|OUTPUT4 \|OUTPUT5 \|OUTPUT6 + \|OUTPUT7 \|RAIL1DPMOVERSHOOT \|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL \|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS \|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK \|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL + \|L2LPH1VRMS \|L2LPH1VCFactor \|L2LPH1TruePwr \|L2LPH1RePwr \|L2LPH1AppPwr + \|L2LPH1PwrFactor \|L2LPH1PhaseDiff \|L2LPH1VPhase \|L2LPH2VRMS \|L2LPH2VCFactor + \|L2LPH2TruePwr \|L2LPH2RePwr \|L2LPH2AppPwr \|L2LPH2PwrFactor \|L2LPH2PhaseDiff + \|L2LPH2VPhase \|L2LPH3VRMS \|L2LPH3VCFactor \|L2LPH3TruePwr \|L2LPH3RePwr + \|L2LPH3AppPwr \|L2LPH3PwrFactor \|L2LPH3PhaseDiff \|L2LPH3VPhase \|L2NPH1VRMS + \|L2NPH1VCFactor \|L2NPH1TruePwr \|L2NPH1RePwr \|L2NPH1AppPwr \|L2NPH1PwrFactor + \|L2NPH1PhaseDiff \|L2NPH1VPhase \|L2NPH2VRMS \|L2NPH2VCFactor \|L2NPH2TruePwr + \|L2NPH2RePwr \|L2NPH2AppPwr \|L2NPH2PwrFactor \|L2NPH2PhaseDiff \|L2NPH2VPhase + \|L2NPH3VRMS \|L2NPH3VCFactor \|L2NPH3TruePwr \|L2NPH3RePwr \|L2NPH3AppPwr + \|L2NPH3PwrFactor \|L2NPH3PhaseDiff \|L2NPH3VPhase \|PH1IRMS \|PH1IPhase \|PH1ICFactor + \|PH2IRMS \|PH2IPhase \|PH2ICFactor \|PH3IRMS \|PH3IPhase \|PH3ICFactor \|Frequency + \|L2LPH1F1Mag \|L2LPH1F3Mag \|L2LPH1THDF \|L2LPH1THDR \|L2LPH1RMS \|L2LPH1IRMS + \|L2LPH1Status \|L2LPH1HarmonicsNumber \|L2LPH1Frequency \|L2LPH1MagnitudeAbs + \|L2LPH1MagnitudePct \|L2LPH1Phase \|L2LPH1Limits \|L2LPH1PassFail \|L2LPH1Margin + \|L2LPH2F1Mag \|L2LPH2F3Mag \|L2LPH2THDF \|L2LPH2THDR \|L2LPH2RMS \|L2LPH2IRMS + \|L2LPH2Status \|L2LPH2HarmonicsNumber \|L2LPH2Frequency \|L2LPH2MagnitudeAbs + \|L2LPH2MagnitudePct \|L2LPH2Phase \|L2LPH2Limits \|L2LPH2PassFail \|L2LPH2Margin + \|L2LPH3F1Mag \|L2LPH3F3Mag \|L2LPH3THDF \|L2LPH3THDR \|L2LPH3RMS \|L2LPH3IRMS + \|L2LPH3Status \|L2LPH3HarmonicsNumber \|L2LPH3Frequency \|L2LPH3MagnitudeAbs + \|L2LPH3MagnitudePct \|L2LPH3Phase \|L2LPH3Limits \|L2LPH3PassFail \|L2LPH3Margin + \|L2NPH1F1Mag \|L2NPH1F3Mag \|L2NPH1THDF \|L2NPH1THDR \|L2NPH1RMS \|L2NPH1IRMS + \|L2NPH1Status \|L2NPH1HarmonicsNumber \|L2NPH1Frequency \|L2NPH1MagnitudeAbs + \|L2NPH1MagnitudePct \|L2NPH1Phase\|L2NPH1Limits \|L2NPH1PassFail\|L2NPH1Margin + \|L2NPH2F1Mag\|L2NPH2F3Mag \|L2NPH2THDF\|L2NPH2THDR \|L2NPH2RMS\|L2NPH2IRMS + \|L2NPH2Status \|L2NPH2HarmonicsNumber \|L2NPH2Frequency \|L2NPH2MagnitudeAbs + \|L2NPH2MagnitudePct \|L2NPH2Phase\|L2NPH2Limits \|L2NPH2PassFail\|L2NPH2Margin + \|L2NPH3F1Mag \|L2NPH3F3Mag \|L2NPH3THDF \|L2NPH3THDR \|L2NPH3RMS \|L2NPH3IRMS + \|L2NPH3Status \|L2NPH3HarmonicsNumber \|L2NPH3Frequency \|L2NPH3MagnitudeAbs + \|L2NPH3MagnitudePct \|L2NPH3Phase \|L2NPH3Limits \|L2NPH3PassFail \|L2NPH3Margin + \|ORDER\|PH1INPwr \|PH1OUTPwr \|PH1Efficiency \|PH2INPwr \|PH2OUTPwr \|PH2Efficiency + \|TotalEfficiency \|PH1LRIPRMS \|PH1LRIPPK2PK \|PH2LRIPRMS \|PH2LRIPPK2PK \|PH3LRIPRMS + \|PH3LRIPPK2PK \|PH1SWRIPRMS \|PH1SWRIPPK2PK \|PH2SWRIPRMS \|PH2SWRIPPK2PK + \|PH3SWRIPRMS \|PH3SWRIPPK2PK \|TruePwrSum \|RePwrSum \|AppPwrSum \|InPwrSum + \|OutPwrSum. + """ + return self._mean + + @property + def minimum(self) -> MeasuMeas1SubgroupResultsCurrentacqMinimum: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + + Description: + - This query returns the minimum value of the measurement specified by the string, for + the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._minimum + + @property + def pk2pk(self) -> MeasuMeas1SubgroupResultsCurrentacqPk2pk: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. + + Description: + - This query returns the peak-to-peak value of the measurement specified by the string, + for the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._pk2pk + + @property + def population(self) -> MeasuMeas1SubgroupResultsCurrentacqPopulation: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. + + Description: + - This query returns the population value of the measurement specified by the string, + for the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._population + + @property + def stddev(self) -> MeasuMeas1SubgroupResultsCurrentacqStddev: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. + + Description: + - This query returns the standard deviation value of the measurement specified by the + string, for the current acquisition. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._stddev + + +class MeasuMeas1SubgroupResultsAllacqsStddev(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + + Description: + - This query returns the standard deviation value of the measurement specified by the + string, for all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsAllacqsPopulation(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This query returns the population value of the measurement specified by the string, for + all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsAllacqsPk2pk(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This query returns the peak-to-peak value of the measurement specified by the string, for + all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsAllacqsMinimum(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + + Description: + - This query returns the minimum value of the measurement specified by the string, for all + acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsAllacqsMean(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + + Description: + - This query returns the mean value of the measurement specified by the string, for all + acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsAllacqsMaximum(SCPICmdReadWithArguments): + r"""The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This query returns the maximum value of the measurement specified by the string, for all + acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| OUTPUT6\|OUTPUT7\| + RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK \|RAIL1RMS + \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL \|RAIL3FREQUENCY + \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK \|RAIL4RMS + \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL \|RAIL6FREQUENCY + \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT \|RAIL7DPMUNDERSHOOT + \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + + +class MeasuMeas1SubgroupResultsAllacqs(SCPICmdRead): + """The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasuMeas1SubgroupResultsAllacqsMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasuMeas1SubgroupResultsAllacqsMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasuMeas1SubgroupResultsAllacqsMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasuMeas1SubgroupResultsAllacqsPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = MeasuMeas1SubgroupResultsAllacqsPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasuMeas1SubgroupResultsAllacqsStddev(device, f"{self._cmd_syntax}:STDDev") + + @property + def maximum(self) -> MeasuMeas1SubgroupResultsAllacqsMaximum: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This query returns the maximum value of the measurement specified by the string, for + all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._maximum + + @property + def mean(self) -> MeasuMeas1SubgroupResultsAllacqsMean: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + + Description: + - This query returns the mean value of the measurement specified by the string, for all + acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._mean + + @property + def minimum(self) -> MeasuMeas1SubgroupResultsAllacqsMinimum: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + + Description: + - This query returns the minimum value of the measurement specified by the string, for + all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._minimum + + @property + def pk2pk(self) -> MeasuMeas1SubgroupResultsAllacqsPk2pk: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This query returns the peak-to-peak value of the measurement specified by the string, + for all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._pk2pk + + @property + def population(self) -> MeasuMeas1SubgroupResultsAllacqsPopulation: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This query returns the population value of the measurement specified by the string, + for all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._population + + @property + def stddev(self) -> MeasuMeas1SubgroupResultsAllacqsStddev: + r"""Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + + Description: + - This query returns the standard deviation value of the measurement specified by the + string, for all acquisitions. + + Usage: + - Using the ``.query(argument)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev? + ``` + + Info: + - ```` = INPUT\|OUTPUT1\|OUTPUT2\|OUTPUT3\|OUTPUT4\|OUTPUT5\| + OUTPUT6\|OUTPUT7\| RAIL1DPMOVERSHOOT\|RAIL1DPMUNDERSHOOT \|RAIL1FREQUENCY \|RAIL1PK2PK + \|RAIL1RMS \|RAIL1RMSFULL\|RAIL2FREQUENCY \|RAIL2PK2PK \|RAIL2RMS \|RAIL2RMSFULL + \|RAIL3FREQUENCY \|RAIL3PK2PK \|RAIL3RMS\|RAIL3RMSFULL \|RAIL4FREQUENCY \|RAIL4PK2PK + \|RAIL4RMS \|RAIL4RMSFULL \|RAIL5FREQUENCY \|RAIL5PK2PK\|RAIL5RMS \|RAIL5RMSFULL + \|RAIL6FREQUENCY \|RAIL6PK2PK \|RAIL6RMS \|RAIL6RMSFULL \|RAIL7DPMOVERSHOOT + \|RAIL7DPMUNDERSHOOT \|RAIL7FREQUENCY \|RAIL7PK2PK \|RAIL7RMS \|RAIL7RMSFULL. + """ + return self._stddev + + +class MeasuMeas1SubgroupResults(SCPICmdRead): + """The ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.allacqs``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._allacqs = MeasuMeas1SubgroupResultsAllacqs(device, f"{self._cmd_syntax}:ALLAcqs") + self._currentacq = MeasuMeas1SubgroupResultsCurrentacq( + device, f"{self._cmd_syntax}:CURRentacq" + ) + + @property + def allacqs(self) -> MeasuMeas1SubgroupResultsAllacqs: + """Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev`` command. + """ + return self._allacqs + + @property + def currentacq(self) -> MeasuMeas1SubgroupResultsCurrentacq: + """Return the ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation`` command. + - ``.stddev``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev`` command. + """ + return self._currentacq + + +class MeasuMeas1Subgroup(SCPICmdRead): + """The ``MEASU:MEAS1:SUBGROUP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.results``: The ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._results = MeasuMeas1SubgroupResults(device, f"{self._cmd_syntax}:RESUlts") + + @property + def results(self) -> MeasuMeas1SubgroupResults: + """Return the ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP:RESUlts?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.allacqs``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq`` command tree. + """ + return self._results + + +class MeasuMeas1(SCPICmdRead): + """The ``MEASU:MEAS1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.subgroup``: The ``MEASU:MEAS1:SUBGROUP`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._subgroup = MeasuMeas1Subgroup(device, f"{self._cmd_syntax}:SUBGROUP") + + @property + def subgroup(self) -> MeasuMeas1Subgroup: + """Return the ``MEASU:MEAS1:SUBGROUP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1:SUBGROUP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.results``: The ``MEASU:MEAS1:SUBGROUP:RESUlts`` command tree. + """ + return self._subgroup + + +class Measu(SCPICmdRead): + """The ``MEASU`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.meas1``: The ``MEASU:MEAS1`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "MEASU") -> None: + super().__init__(device, cmd_syntax) + self._meas1 = MeasuMeas1(device, f"{self._cmd_syntax}:MEAS1") + + @property + def meas1(self) -> MeasuMeas1: + """Return the ``MEASU:MEAS1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU:MEAS1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU:MEAS1?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.subgroup``: The ``MEASU:MEAS1:SUBGROUP`` command tree. + """ + return self._meas1 diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/measurement.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/measurement.py new file mode 100644 index 00000000..d22d295b --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/measurement.py @@ -0,0 +1,27881 @@ +# pylint: disable=line-too-long +"""The measurement commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - MEASUrement:ADDMEAS {ACCOMMONMODE|ACRMS|AMPlITUDE|AREA|BASE|BITAMPLITUDE|BITHIGH|BITLOW|BURSTWIDTH|COMMONMODE|CCJITTER|DATARATE|DCD|DDJ|DDRAOS|DDRAOSPERTCK|DDRAOSPERUI|DDRAUS|DDRAUSPERTCK|DDRAUSPERUI|DDRHOLDDIFF|DDRSETUPDIFF|DDRTCHABS|DDRTCHAVERAGE|DDRTCKAVERAGE|DDRTCLABS|DDRTCLAVERAGE|DDRTERRMN|DDRTERRN|DDRTJITCC|DDRTJITDUTY|DDRTJITPER|DDRTPST|DDRTRPRE|DDRTWPRE|DDRVIXAC|DDRTDQSCK|DELAY|DJ|DJDIRAC|EYEHIGH|EYELOW|FALLSLEWRATE|FALLTIME|FREQUENCY|F2|F4|F8|HEIGHT|HEIGHTBER|HIGH|HIGHTIME|HOLD|IMDAPOWERQUALITY|IMDAHARMONICS|IMDAINPUTVOLTAGE|IMDAINPUTCURRENT|IMDAINPUTPOWER|IMDAPHASORDIAGRAM|IMDAEFFICIENCY|IMDALINERIPPLE|IMDASWITCHRIPPLE|IMDADQ0|JITTERSUMMARY|J2|J9|LOW|LOWTIME|MAXIMUM|MEAN|MINIMUM|NDUty|NOVERSHOOT|NPERIOD|NPJ|NWIDTTH|PDUTY|PERIOD|PHASE|PHASENOISE|PJ|PK2Pk|POVERSHOOT|PWIDTH|QFACTOR|RISESLEWRATE|RISETIME|RJ|RJDIRAC|RMS|SETUP|SKEW|SRJ|SSCFREQDEV|SSCMODRATE|TIE|TIMEOUTSIDELEVEL|TIMETOMAX|TIMETOMIN|TJBER|TNTRATIO|TOP|UNITINTERVAL|VDIFFXOVR|WIDTH|WIDTHBER} + - MEASUrement:ADDNew 'QString' + - MEASUrement:ANNOTate {OFF|AUTO} + - MEASUrement:ANNOTate? + - MEASUrement:AUTOset {EXECute|THREEPHASEAUTOset|WBGPREset|DPMAutoset|DPMPReset} + - MEASUrement:CH:REFLevels:ABSolute:FALLHigh + - MEASUrement:CH:REFLevels:ABSolute:FALLHigh? + - MEASUrement:CH:REFLevels:ABSolute:FALLLow + - MEASUrement:CH:REFLevels:ABSolute:FALLLow? + - MEASUrement:CH:REFLevels:ABSolute:FALLMid + - MEASUrement:CH:REFLevels:ABSolute:FALLMid? + - MEASUrement:CH:REFLevels:ABSolute:HYSTeresis + - MEASUrement:CH:REFLevels:ABSolute:HYSTeresis? + - MEASUrement:CH:REFLevels:ABSolute:RISEHigh + - MEASUrement:CH:REFLevels:ABSolute:RISEHigh? + - MEASUrement:CH:REFLevels:ABSolute:RISELow + - MEASUrement:CH:REFLevels:ABSolute:RISELow? + - MEASUrement:CH:REFLevels:ABSolute:RISEMid + - MEASUrement:CH:REFLevels:ABSolute:RISEMid? + - MEASUrement:CH:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:CH:REFLevels:ABSolute:TYPE? + - MEASUrement:CH:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:CH:REFLevels:BASETop? + - MEASUrement:CH:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:CH:REFLevels:METHod? + - MEASUrement:CH:REFLevels:PERCent:FALLHigh + - MEASUrement:CH:REFLevels:PERCent:FALLHigh? + - MEASUrement:CH:REFLevels:PERCent:FALLLow + - MEASUrement:CH:REFLevels:PERCent:FALLLow? + - MEASUrement:CH:REFLevels:PERCent:FALLMid + - MEASUrement:CH:REFLevels:PERCent:FALLMid? + - MEASUrement:CH:REFLevels:PERCent:HYSTeresis + - MEASUrement:CH:REFLevels:PERCent:HYSTeresis? + - MEASUrement:CH:REFLevels:PERCent:RISEHigh + - MEASUrement:CH:REFLevels:PERCent:RISEHigh? + - MEASUrement:CH:REFLevels:PERCent:RISELow + - MEASUrement:CH:REFLevels:PERCent:RISELow? + - MEASUrement:CH:REFLevels:PERCent:RISEMid + - MEASUrement:CH:REFLevels:PERCent:RISEMid? + - MEASUrement:CH:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:CH:REFLevels:PERCent:TYPE? + - MEASUrement:CLOCKRecovery:ADVanced:METHod {NONE|NOMinal|PATTern} + - MEASUrement:CLOCKRecovery:ADVanced:METHod? + - MEASUrement:CLOCKRecovery:CLOCKFrequency + - MEASUrement:CLOCKRecovery:CLOCKFrequency? + - MEASUrement:CLOCKRecovery:CLOCKMultiplier + - MEASUrement:CLOCKRecovery:CLOCKMultiplier? + - MEASUrement:CLOCKRecovery:CONSTCLOCKMODe {MEAN|MEDian|FIXed} + - MEASUrement:CLOCKRecovery:CONSTCLOCKMODe? + - MEASUrement:CLOCKRecovery:DAMPing + - MEASUrement:CLOCKRecovery:DAMPing? + - MEASUrement:CLOCKRecovery:DATAPath + - MEASUrement:CLOCKRecovery:DATAPath? + - MEASUrement:CLOCKRecovery:DATARate + - MEASUrement:CLOCKRecovery:DATARate? + - MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe {EDGE|PLL} + - MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe? + - MEASUrement:CLOCKRecovery:JTFBandwidth + - MEASUrement:CLOCKRecovery:JTFBandwidth? + - MEASUrement:CLOCKRecovery:LOOPBandwidth + - MEASUrement:CLOCKRecovery:LOOPBandwidth? + - MEASUrement:CLOCKRecovery:MEANAUTOCalculate {FIRST|EVERY} + - MEASUrement:CLOCKRecovery:MEANAUTOCalculate? + - MEASUrement:CLOCKRecovery:METHod {PLL|CONSTANTCLOCK|EXPLICITCLOCK} + - MEASUrement:CLOCKRecovery:METHod? + - MEASUrement:CLOCKRecovery:MODel {TYPE} + - MEASUrement:CLOCKRecovery:MODel? + - MEASUrement:CLOCKRecovery:NOMINALOFFset + - MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype {AUTO|MANUAL} + - MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? + - MEASUrement:CLOCKRecovery:NOMINALOFFset? + - MEASUrement:CLOCKRecovery:STAndard {CUSTom|ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1|FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250|FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48|PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125|SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC|SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2|SATA_GEN3|USB3|XAUI|XAUI_GEN2} + - MEASUrement:CLOCKRecovery:STAndard? + - MEASUrement:DELETEALL + - MEASUrement:DELete + - MEASUrement:DIRacmodel {PCIExpress|FIBREchannel} + - MEASUrement:DIRacmodel? + - MEASUrement:DISPLAYUnits {SEConds|UNITINtervals} + - MEASUrement:DISPLAYUnits? + - MEASUrement:EDGE {RISE|FALL|BOTH} + - MEASUrement:EYERENDER {ON|OFF|} + - MEASUrement:EYERENDER? + - MEASUrement:FILTers:BLANKingtime + - MEASUrement:FILTers:BLANKingtime? + - MEASUrement:FILTers:HIGHPass:FREQ + - MEASUrement:FILTers:HIGHPass:FREQ? + - MEASUrement:FILTers:HIGHPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:FILTers:HIGHPass:SPEC? + - MEASUrement:FILTers:LOWPass:FREQ + - MEASUrement:FILTers:LOWPass:FREQ? + - MEASUrement:FILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:FILTers:LOWPass:SPEC? + - MEASUrement:FILTers:RAMPtime + - MEASUrement:FILTers:RAMPtime? + - MEASUrement:GATing {NONE|SCREEN|CURSor|LOGic|SEARch|TIMe} + - MEASUrement:GATing:ACTive {HIGH|LOW} + - MEASUrement:GATing:ACTive? + - MEASUrement:GATing:ENDtime + - MEASUrement:GATing:ENDtime? + - MEASUrement:GATing:HYSTeresis + - MEASUrement:GATing:HYSTeresis? + - MEASUrement:GATing:LOGICSource {S_Ch|CH|MATH|REF} + - MEASUrement:GATing:LOGICSource? + - MEASUrement:GATing:MIDRef + - MEASUrement:GATing:MIDRef? + - MEASUrement:GATing:SEARCHSource SEARCH1 + - MEASUrement:GATing:SEARCHSource? + - MEASUrement:GATing:STARTtime + - MEASUrement:GATing:STARTtime? + - MEASUrement:GATing? + - MEASUrement:HIGHLEVel:CONFIGuration {INPUT|OUTPUT} + - MEASUrement:HIGHLEVel:CONFIGuration? + - MEASUrement:HIGHLEVel:EDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:EDGEQUALifier? + - MEASUrement:HIGHLEVel:INLOWPass:FREQ + - MEASUrement:HIGHLEVel:INLOWPass:FREQ? + - MEASUrement:HIGHLEVel:INLOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:HIGHLEVel:INLOWPass:SPEC? + - MEASUrement:HIGHLEVel:L2LTOL2N {0|1} + - MEASUrement:HIGHLEVel:L2LTOL2N? + - MEASUrement:HIGHLEVel:LINESelected {ABCB|ACBC|BACA|AN|BN|CN} + - MEASUrement:HIGHLEVel:LINESelected? + - MEASUrement:HIGHLEVel:OUTEDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:OUTEDGEQUALifier? + - MEASUrement:HIGHLEVel:OUTL2LTOL2N {0|1} + - MEASUrement:HIGHLEVel:OUTL2LTOL2N? + - MEASUrement:HIGHLEVel:OUTLINESelected {XYZY|XZYZ|YXZX|XN|YN|ZN} + - MEASUrement:HIGHLEVel:OUTLINESelected? + - MEASUrement:HIGHLEVel:OUTLOWPass:FREQ + - MEASUrement:HIGHLEVel:OUTLOWPass:FREQ? + - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC? + - MEASUrement:HIGHLEVel:OUTSOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:OUTSOURCE? + - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:HIGHLEVel:OUTWIRing? + - MEASUrement:HIGHLEVel:SOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:SOURCE? + - MEASUrement:HIGHLEVel:WIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W3|DCP1W2} + - MEASUrement:HIGHLEVel:WIRing? + - MEASUrement:INTERp {AUTO|SINX|LINear} + - MEASUrement:INTERp? + - MEASUrement:JITTermodel {SPECTRAL|SPECTRALBUJ} + - MEASUrement:JITTermodel? + - MEASUrement:LIST? + - MEASUrement:LOCKRJ {ON|OFF|} + - MEASUrement:LOCKRJ? + - MEASUrement:LOCKRJValue + - MEASUrement:LOCKRJValue? + - MEASUrement:MATH:REFLevels:ABSolute:FALLHigh + - MEASUrement:MATH:REFLevels:ABSolute:FALLHigh? + - MEASUrement:MATH:REFLevels:ABSolute:FALLLow + - MEASUrement:MATH:REFLevels:ABSolute:FALLLow? + - MEASUrement:MATH:REFLevels:ABSolute:FALLMid + - MEASUrement:MATH:REFLevels:ABSolute:FALLMid? + - MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis + - MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis? + - MEASUrement:MATH:REFLevels:ABSolute:RISEHigh + - MEASUrement:MATH:REFLevels:ABSolute:RISEHigh? + - MEASUrement:MATH:REFLevels:ABSolute:RISELow + - MEASUrement:MATH:REFLevels:ABSolute:RISELow? + - MEASUrement:MATH:REFLevels:ABSolute:RISEMid + - MEASUrement:MATH:REFLevels:ABSolute:RISEMid? + - MEASUrement:MATH:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:MATH:REFLevels:ABSolute:TYPE? + - MEASUrement:MATH:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:MATH:REFLevels:BASETop? + - MEASUrement:MATH:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:MATH:REFLevels:METHod? + - MEASUrement:MATH:REFLevels:PERCent:FALLHigh + - MEASUrement:MATH:REFLevels:PERCent:FALLHigh? + - MEASUrement:MATH:REFLevels:PERCent:FALLLow + - MEASUrement:MATH:REFLevels:PERCent:FALLLow? + - MEASUrement:MATH:REFLevels:PERCent:FALLMid + - MEASUrement:MATH:REFLevels:PERCent:FALLMid? + - MEASUrement:MATH:REFLevels:PERCent:HYSTeresis + - MEASUrement:MATH:REFLevels:PERCent:HYSTeresis? + - MEASUrement:MATH:REFLevels:PERCent:RISEHigh + - MEASUrement:MATH:REFLevels:PERCent:RISEHigh? + - MEASUrement:MATH:REFLevels:PERCent:RISELow + - MEASUrement:MATH:REFLevels:PERCent:RISELow? + - MEASUrement:MATH:REFLevels:PERCent:RISEMid + - MEASUrement:MATH:REFLevels:PERCent:RISEMid? + - MEASUrement:MATH:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:MATH:REFLevels:PERCent:TYPE? + - MEASUrement:MEAS:BER + - MEASUrement:MEAS:BER:TARGETBER + - MEASUrement:MEAS:BER:TARGETBER? + - MEASUrement:MEAS:BER? + - MEASUrement:MEAS:BIN + - MEASUrement:MEAS:BIN? + - MEASUrement:MEAS:BITCfgmode {MEAN|MODE} + - MEASUrement:MEAS:BITCfgmode? + - MEASUrement:MEAS:BITEnd + - MEASUrement:MEAS:BITEnd? + - MEASUrement:MEAS:BITPcnt + - MEASUrement:MEAS:BITPcnt? + - MEASUrement:MEAS:BITSTart + - MEASUrement:MEAS:BITSTart? + - MEASUrement:MEAS:BITType {ALLBits|TRANSition|NONTRANsition} + - MEASUrement:MEAS:BITType? + - MEASUrement:MEAS:BURSTEDGTYPe {RISE|FALL} + - MEASUrement:MEAS:BURSTEDGTYPe? + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum? + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN? + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum? + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK? + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation? + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev? + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum? + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN? + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum? + - MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK? + - MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation? + - MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev? + - MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod {NONE|NOMinal|PATTern} + - MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod? + - MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency + - MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency? + - MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier + - MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier? + - MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe {MEAN|MEDian|FIXed} + - MEASUrement:MEAS:CLOCKRecovery:DAMPing + - MEASUrement:MEAS:CLOCKRecovery:DAMPing? + - MEASUrement:MEAS:CLOCKRecovery:DATAPath + - MEASUrement:MEAS:CLOCKRecovery:DATAPath? + - MEASUrement:MEAS:CLOCKRecovery:DATARate + - MEASUrement:MEAS:CLOCKRecovery:DATARate? + - MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe {EDGE|PLL} + - MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe? + - MEASUrement:MEAS:CLOCKRecovery:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:CLOCKRecovery:GLOBal? + - MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth + - MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth? + - MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth + - MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth? + - MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate {FIRST|EVERY} + - MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate? + - MEASUrement:MEAS:CLOCKRecovery:METHod {PLL|CONSTANTCLOCK|EXPLICITCLOCK} + - MEASUrement:MEAS:CLOCKRecovery:METHod? + - MEASUrement:MEAS:CLOCKRecovery:MODel {TYPE} + - MEASUrement:MEAS:CLOCKRecovery:MODel? + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype {AUTO|MANUAL} + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset? + - MEASUrement:MEAS:CLOCKRecovery:STAndard {CUSTom|ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1|FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250|FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48|PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125|SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC|SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2|SATA_GEN3|USB3|XAUI|XAUI_GEN2} + - MEASUrement:MEAS:COMMONMode:FILTers:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:COMMONMode:FILTers:STATE? + - MEASUrement:MEAS:COMMONMode:SOURCEs {SINGLE|DOUBLE} + - MEASUrement:MEAS:COMMONMode:SOURCEs? + - MEASUrement:MEAS:COVer {FFREQuency|AFREQuencies} + - MEASUrement:MEAS:COVer? + - MEASUrement:MEAS:CUSTOMLIMITSFile + - MEASUrement:MEAS:CUSTOMLIMITSFile? + - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE} + - MEASUrement:MEAS:CYCLemode? + - MEASUrement:MEAS:DELay:EDGE {FALL|RISe|BOTH|SAMEas|OPPositeas} + - MEASUrement:MEAS:DELay:EDGE? + - MEASUrement:MEAS:DISPlaystat:ENABle {ON|OFF|} + - MEASUrement:MEAS:DISPlaystat:ENABle? + - MEASUrement:MEAS:EDGE {RISE|FALL|BOTH} + - MEASUrement:MEAS:EDGEIncre + - MEASUrement:MEAS:EDGEIncre? + - MEASUrement:MEAS:EDGEQUALONE + - MEASUrement:MEAS:EDGEQUALONE? + - MEASUrement:MEAS:EDGEQUALTWO + - MEASUrement:MEAS:EDGEQUALTWO? + - MEASUrement:MEAS:EDGEQUALifier {CH|MATH|REF} + - MEASUrement:MEAS:EDGEQUALifier? + - MEASUrement:MEAS:EDGES:FROMLevel {MID|LOW|HIGH} + - MEASUrement:MEAS:EDGES:FROMLevel? + - MEASUrement:MEAS:EDGES:LEVel {HIGH|LOW|BOTH} + - MEASUrement:MEAS:EDGES:LEVel? + - MEASUrement:MEAS:EDGES:LOWERFREQuency + - MEASUrement:MEAS:EDGES:LOWERFREQuency? + - MEASUrement:MEAS:EDGES:N + - MEASUrement:MEAS:EDGES:N? + - MEASUrement:MEAS:EDGES:SLEWRATEMethod {NOMinal|DDR} + - MEASUrement:MEAS:EDGES:SLEWRATEMethod? + - MEASUrement:MEAS:EDGES:TOLevel {HIGH|MID|LOW} + - MEASUrement:MEAS:EDGES:TOLevel? + - MEASUrement:MEAS:EDGES:UPPERFREQuency + - MEASUrement:MEAS:EDGES:UPPERFREQuency? + - MEASUrement:MEAS:EEQUal {ON|OFF} + - MEASUrement:MEAS:EEQUal? + - MEASUrement:MEAS:FAILCount? + - MEASUrement:MEAS:FILTERRANGEFROM + - MEASUrement:MEAS:FILTERRANGEFROM? + - MEASUrement:MEAS:FILTERRANGETO + - MEASUrement:MEAS:FILTERRANGETO? + - MEASUrement:MEAS:FILTers:BLANKingtime + - MEASUrement:MEAS:FILTers:BLANKingtime? + - MEASUrement:MEAS:FILTers:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:FILTers:GLOBal? + - MEASUrement:MEAS:FILTers:HIGHPass:FREQ + - MEASUrement:MEAS:FILTers:HIGHPass:FREQ? + - MEASUrement:MEAS:FILTers:HIGHPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:FILTers:HIGHPass:SPEC? + - MEASUrement:MEAS:FILTers:LOWPass:FREQ + - MEASUrement:MEAS:FILTers:LOWPass:FREQ? + - MEASUrement:MEAS:FILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:FILTers:LOWPass:SPEC? + - MEASUrement:MEAS:FILTers:RAMPtime + - MEASUrement:MEAS:FILTers:RAMPtime? + - MEASUrement:MEAS:FREQ + - MEASUrement:MEAS:FREQ? + - MEASUrement:MEAS:FROMEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:FROMEDGESEARCHDIRect? + - MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce? + - MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce? + - MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce? + - MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce? + - MEASUrement:MEAS:FROMSymbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:FROMSymbol:MEASUREAT? + - MEASUrement:MEAS:FROMedge {RISe|FALL|BOTH} + - MEASUrement:MEAS:FROMedge? + - MEASUrement:MEAS:FUNDCURRent + - MEASUrement:MEAS:FUNDCURRent? + - MEASUrement:MEAS:GATing {NONE|SCREEN|CURSor|LOGic|SEARch|TIMe} + - MEASUrement:MEAS:GATing:ACTive {HIGH|LOW} + - MEASUrement:MEAS:GATing:ACTive? + - MEASUrement:MEAS:GATing:ENDtime + - MEASUrement:MEAS:GATing:ENDtime? + - MEASUrement:MEAS:GATing:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:GATing:GLOBal? + - MEASUrement:MEAS:GATing:HYSTeresis + - MEASUrement:MEAS:GATing:HYSTeresis? + - MEASUrement:MEAS:GATing:LOGICSource {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:GATing:MIDRef + - MEASUrement:MEAS:GATing:MIDRef? + - MEASUrement:MEAS:GATing:SEARCHSource SEARCH1 + - MEASUrement:MEAS:GATing:STARTtime + - MEASUrement:MEAS:GATing:STARTtime? + - MEASUrement:MEAS:GATing? + - MEASUrement:MEAS:GLOBalref {OFF|ON|0|1} + - MEASUrement:MEAS:GLOBalref? + - MEASUrement:MEAS:HARMONICSCLass {CLASSA|CLASSB|CLASSC|CLASSD} + - MEASUrement:MEAS:HARMONICSCLass? + - MEASUrement:MEAS:HARMONICSSOURce {CURRENT|VOLTAGE} + - MEASUrement:MEAS:HARMONICSSOURce? + - MEASUrement:MEAS:HARMONICSStd {NONE|IEC|IEEE519|CUSTOM} + - MEASUrement:MEAS:HARMONICSStd? + - MEASUrement:MEAS:HARMONICSUNits {LOGARITHM|LINEAR} + - MEASUrement:MEAS:HARMONICSUNits? + - MEASUrement:MEAS:HIGHLEVel:CONFIGuration {INPUT|OUTPUT} + - MEASUrement:MEAS:HIGHLEVel:CONFIGuration? + - MEASUrement:MEAS:HIGHLEVel:L2LTOL2N {0|1} + - MEASUrement:MEAS:HIGHLEVel:L2LTOL2N? + - MEASUrement:MEAS:HIGHLEVel:LINESelected {ABCB|ACBC|BACA|AN|BN|CN} + - MEASUrement:MEAS:HIGHLEVel:LINESelected? + - MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N {0|1} + - MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N? + - MEASUrement:MEAS:HIGHLEVel:OUTLINESelected {XYZY|XZYZ|YXZX|XN|YN|ZN} + - MEASUrement:MEAS:HIGHLEVel:OUTLINESelected? + - MEASUrement:MEAS:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:MEAS:HIGHLEVel:OUTWIRing? + - MEASUrement:MEAS:HIGHLEVel:USEGLOBAL {1|0|ON|OFF} + - MEASUrement:MEAS:HIGHLEVel:USEGLOBAL? + - MEASUrement:MEAS:HIGHLEVel:WIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W3|DCP1W2} + - MEASUrement:MEAS:HIGHLEVel:WIRing? + - MEASUrement:MEAS:HIGHREFVoltage + - MEASUrement:MEAS:HIGHREFVoltage? + - MEASUrement:MEAS:HLEVel:OUTPut:UGLobal {ON|OFF} + - MEASUrement:MEAS:HLEVel:OUTPut:UGLobal? + - MEASUrement:MEAS:HTORque + - MEASUrement:MEAS:HTORque? + - MEASUrement:MEAS:HVOLtage + - MEASUrement:MEAS:HVOLtage? + - MEASUrement:MEAS:IDLETime + - MEASUrement:MEAS:IDLETime? + - MEASUrement:MEAS:INPUTLEVel + - MEASUrement:MEAS:INPUTLEVel? + - MEASUrement:MEAS:INPUTPOwer + - MEASUrement:MEAS:INPUTPOwer? + - MEASUrement:MEAS:JITTERSummary:DCD {0|1} + - MEASUrement:MEAS:JITTERSummary:DCD? + - MEASUrement:MEAS:JITTERSummary:DDJ {0|1} + - MEASUrement:MEAS:JITTERSummary:DDJ? + - MEASUrement:MEAS:JITTERSummary:DJDD {0|1} + - MEASUrement:MEAS:JITTERSummary:DJDD? + - MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER {0|1} + - MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER? + - MEASUrement:MEAS:JITTERSummary:NPJ {0|1} + - MEASUrement:MEAS:JITTERSummary:NPJ? + - MEASUrement:MEAS:JITTERSummary:PJ {0|1} + - MEASUrement:MEAS:JITTERSummary:PJ? + - MEASUrement:MEAS:JITTERSummary:RJDD {0|1} + - MEASUrement:MEAS:JITTERSummary:RJDD? + - MEASUrement:MEAS:JITTERSummary:TIE {0|1} + - MEASUrement:MEAS:JITTERSummary:TIE? + - MEASUrement:MEAS:JITTERSummary:TJBER {0|1} + - MEASUrement:MEAS:JITTERSummary:TJBER? + - MEASUrement:MEAS:LABel + - MEASUrement:MEAS:LINESelected {ABCB|ACBC|BACA|XYZY|XZYZ|YXZX} + - MEASUrement:MEAS:LINESelected? + - MEASUrement:MEAS:LOWREFVoltage + - MEASUrement:MEAS:LOWREFVoltage? + - MEASUrement:MEAS:LTORque + - MEASUrement:MEAS:LTORque? + - MEASUrement:MEAS:LTYPe {AUTO|CUSTom} + - MEASUrement:MEAS:LTYPe? + - MEASUrement:MEAS:LUNITs {PERCent|ABSolute} + - MEASUrement:MEAS:LUNITs? + - MEASUrement:MEAS:LVOLtage + - MEASUrement:MEAS:LVOLtage? + - MEASUrement:MEAS:MAXCUrrent + - MEASUrement:MEAS:MAXCUrrent? + - MEASUrement:MEAS:MAXCycle + - MEASUrement:MEAS:MAXCycle? + - MEASUrement:MEAS:MAXGVoltage + - MEASUrement:MEAS:MAXGVoltage? + - MEASUrement:MEAS:MAXVoltage + - MEASUrement:MEAS:MAXVoltage? + - MEASUrement:MEAS:MEASRange:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:MEASRange:GLOBal? + - MEASUrement:MEAS:MEASRange:MAX + - MEASUrement:MEAS:MEASRange:MAX? + - MEASUrement:MEAS:MEASRange:MIN + - MEASUrement:MEAS:MEASRange:MIN? + - MEASUrement:MEAS:MEASRange:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:MEASRange:STATE? + - MEASUrement:MEAS:MECH:EINDexz {ON|OFF|1|0} + - MEASUrement:MEAS:MECH:EINDexz? + - MEASUrement:MEAS:MECH:GRATio + - MEASUrement:MEAS:MECH:GRATio? + - MEASUrement:MEAS:MECH:MUNits {NM|OZINCH|FTLB|INCHLB|DEGREES|RADIANS} + - MEASUrement:MEAS:MECH:MUNits? + - MEASUrement:MEAS:MECH:PPAirs + - MEASUrement:MEAS:MECH:PPAirs? + - MEASUrement:MEAS:MECH:PPRotation + - MEASUrement:MEAS:MECH:PPRotation? + - MEASUrement:MEAS:MECH:STYPe {HSENSOR|QEI} + - MEASUrement:MEAS:MECH:STYPe? + - MEASUrement:MEAS:MINCycle + - MEASUrement:MEAS:MINCycle? + - MEASUrement:MEAS:ODDEVen {ALL|EVEN|ODD} + - MEASUrement:MEAS:ODDEVen? + - MEASUrement:MEAS:OFILters:LOWPass:FREQ + - MEASUrement:MEAS:OFILters:LOWPass:FREQ? + - MEASUrement:MEAS:OFILters:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:OFILters:LOWPass:SPEC? + - MEASUrement:MEAS:OSANgle + - MEASUrement:MEAS:OSANgle? + - MEASUrement:MEAS:OUTEDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:OUTEDGEQUALifier? + - MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ + - MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ? + - MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC? + - MEASUrement:MEAS:OUTPUTVOLTage + - MEASUrement:MEAS:OUTPUTVOLTage? + - MEASUrement:MEAS:PASSFAILENabled + - MEASUrement:MEAS:PASSFAILENabled? + - MEASUrement:MEAS:PASSFAILHIGHlimit + - MEASUrement:MEAS:PASSFAILHIGHlimit? + - MEASUrement:MEAS:PASSFAILLIMit + - MEASUrement:MEAS:PASSFAILLIMit? + - MEASUrement:MEAS:PASSFAILLOWlimit + - MEASUrement:MEAS:PASSFAILLOWlimit? + - MEASUrement:MEAS:PASSFAILMARgin + - MEASUrement:MEAS:PASSFAILMARgin? + - MEASUrement:MEAS:PASSFAILWHEN {LESSthan|GREATERthan|Equals|NOTEQuals|INSIDErange|OUTSIDErange} + - MEASUrement:MEAS:PASSFAILWHEN? + - MEASUrement:MEAS:PATTERNDETECTION {AUTO|MANUAL} + - MEASUrement:MEAS:PATTERNDETECTION? + - MEASUrement:MEAS:PATTERNLENgth + - MEASUrement:MEAS:PATTERNLENgth? + - MEASUrement:MEAS:PATTERNTYPe {REPeating|ARBitrary} + - MEASUrement:MEAS:PATTERNTYPe? + - MEASUrement:MEAS:PCOUNt + - MEASUrement:MEAS:PCOUNt? + - MEASUrement:MEAS:PERFREQ:EDGE {FIRST|RISE|FALL} + - MEASUrement:MEAS:POLarity {NORMal|INVerted} + - MEASUrement:MEAS:POLarity? + - MEASUrement:MEAS:POPUlation:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:POPUlation:GLOBal? + - MEASUrement:MEAS:POPUlation:LIMIT:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:POPUlation:LIMIT:STATE? + - MEASUrement:MEAS:POPUlation:LIMIT:VALue + - MEASUrement:MEAS:POPUlation:LIMIT:VALue? + - MEASUrement:MEAS:POWERFACtor + - MEASUrement:MEAS:POWERFACtor? + - MEASUrement:MEAS:PREGion {FPULse|SPULse|MPULse} + - MEASUrement:MEAS:PREGion? + - MEASUrement:MEAS:PWIDth + - MEASUrement:MEAS:PWIDth? + - MEASUrement:MEAS:REDGe {ON|OFF} + - MEASUrement:MEAS:REDGe? + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow? + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid? + - MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis + - MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis? + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh? + - MEASUrement:MEAS:REFLevels1:ABSolute:RISELow + - MEASUrement:MEAS:REFLevels1:ABSolute:RISELow? + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid? + - MEASUrement:MEAS:REFLevels1:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:MEAS:REFLevels1:ABSolute:TYPE? + - MEASUrement:MEAS:REFLevels1:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:MEAS:REFLevels1:BASETop? + - MEASUrement:MEAS:REFLevels1:METHod {PERCent|ABSolute} + - MEASUrement:MEAS:REFLevels1:METHod? + - MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh + - MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh? + - MEASUrement:MEAS:REFLevels1:PERCent:FALLLow + - MEASUrement:MEAS:REFLevels1:PERCent:FALLLow? + - MEASUrement:MEAS:REFLevels1:PERCent:FALLMid + - MEASUrement:MEAS:REFLevels1:PERCent:FALLMid? + - MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis + - MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis? + - MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh + - MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh? + - MEASUrement:MEAS:REFLevels1:PERCent:RISELow + - MEASUrement:MEAS:REFLevels1:PERCent:RISELow? + - MEASUrement:MEAS:REFLevels1:PERCent:RISEMid + - MEASUrement:MEAS:REFLevels1:PERCent:RISEMid? + - MEASUrement:MEAS:REFLevels1:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:MEAS:REFLevels1:PERCent:TYPE? + - MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh + - MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh? + - MEASUrement:MEAS:REFMode {AUTO|MANual} + - MEASUrement:MEAS:REFMode? + - MEASUrement:MEAS:REFVOLTAGEVal + - MEASUrement:MEAS:REFVOLTAGEVal? + - MEASUrement:MEAS:REFVoltage + - MEASUrement:MEAS:REFVoltage? + - MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum? + - MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN? + - MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum? + - MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK? + - MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation? + - MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev? + - MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum? + - MEASUrement:MEAS:RESUlts:CURRentacq:MEAN? + - MEASUrement:MEAS:RESUlts:CURRentacq:MINimum? + - MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK? + - MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation? + - MEASUrement:MEAS:RESUlts:CURRentacq:STDDev? + - MEASUrement:MEAS:RESUlts:HISTory:MAXimum? + - MEASUrement:MEAS:RESUlts:HISTory:MEAN? + - MEASUrement:MEAS:RESUlts:HISTory:MINimum? + - MEASUrement:MEAS:RESUlts:HISTory:PK2PK? + - MEASUrement:MEAS:RESUlts:HISTory:POPUlation? + - MEASUrement:MEAS:RESUlts:HISTory:STDDev? + - MEASUrement:MEAS:RIPPLEFREQVal + - MEASUrement:MEAS:RIPPLEFREQVal? + - MEASUrement:MEAS:SEQuence {ABC|ACB} + - MEASUrement:MEAS:SEQuence? + - MEASUrement:MEAS:SIGNALFREQUEncy {AUTO|FIFTYHZ|SIXTYHZ|FOURHUNDREDHZ|CUSTOM} + - MEASUrement:MEAS:SIGNALFREQUEncy? + - MEASUrement:MEAS:SIGNALType {CLOCK|DATA|AUTO} + - MEASUrement:MEAS:SIGNALType? + - MEASUrement:MEAS:SLABs + - MEASUrement:MEAS:SLABs? + - MEASUrement:MEAS:SLPCt + - MEASUrement:MEAS:SLPCt? + - MEASUrement:MEAS:SLTYpe {VDS|ID|VGE|VCE|IC} + - MEASUrement:MEAS:SLTYpe? + - MEASUrement:MEAS:SMOOTHINGFILTER + - MEASUrement:MEAS:SOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:SOURCE? + - MEASUrement:MEAS:SOUrce1 {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:SOUrce1? + - MEASUrement:MEAS:SSC:NOMinalfreq + - MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype {AUTO|MANual} + - MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype? + - MEASUrement:MEAS:SSC:NOMinalfreq? + - MEASUrement:MEAS:STATUS? + - MEASUrement:MEAS:STLABs + - MEASUrement:MEAS:STLABs? + - MEASUrement:MEAS:STLPct + - MEASUrement:MEAS:STLPct? + - MEASUrement:MEAS:STLTYpe {VDS|ID|VGE|VCE|IC} + - MEASUrement:MEAS:STLTYpe? + - MEASUrement:MEAS:STYPe {VOLTage|CURRent} + - MEASUrement:MEAS:STYPe? + - MEASUrement:MEAS:SUNits {RPM|HZ} + - MEASUrement:MEAS:SUNits? + - MEASUrement:MEAS:TCKAVG + - MEASUrement:MEAS:TCKAVG? + - MEASUrement:MEAS:TCONstant + - MEASUrement:MEAS:TCONstant? + - MEASUrement:MEAS:TIMINGMode {EACHCLOCKCYCLE|TWOCLOCKCYCLES} + - MEASUrement:MEAS:TIMINGMode? + - MEASUrement:MEAS:TMEThod {SENSOR|CURRENT} + - MEASUrement:MEAS:TMEThod? + - MEASUrement:MEAS:TOEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:TOEDGESEARCHDIRect? + - MEASUrement:MEAS:TOEdge {SAMEas|OPPositeas|RISe|FALL|BOTH} + - MEASUrement:MEAS:TOEdge? + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + - MEASUrement:MEAS:TRANSition {ON|OFF|} + - MEASUrement:MEAS:TYPe {ACCOMMONMODE|ACRMS|AMPlITUDE|AREA|BASE|BITAMPLITUDE|BITHIGH|BITLOW|BURSTWIDTH|COMMONMODE|DATARATE|DCD|DDJ|DDRAOS|DDRAOSPERTCK|DDRAOSPERUI|DDRAUS|DDRAUSPERTCK|DDRAUSPERUI|DDRHOLDDIFF|DDRSETUPDIFF|DDRTCHABS|DDRTCHAVERAGE|DDRTCKAVERAGE|DDRTCLABS|DDRTCLAVERAGE|DDRTERRMN|DDRTERRN|DDRTJITCC|DDRTJITDUTY|DDRTJITPER|DDRTPST|DDRTRPRE|DDRTWPRE|DDRVIXAC|DDRTDQSCK|DELAY|DJ|DJDIRAC|DPMOVERSHOOT|DPMUNDERSHOOT|DPMRIPPLE|DPMTURNOFFTIME|DPMTURNONTIME|EYEHIGH|EYELOW|FALLSLEWRATE|FALLTIME|FREQUENCY|F2|F4|F8|HIGH|HEIGHT|HEIGHTBER|HIGHTIME|HOLD|IMDAPOWERQUALITY|IMDAHARMONICS|IMDAINPUTVOLTAGE|IMDAINPUTCURRENT|IMDAINPUTPOWER|IMDAPHASORDIAGRAM|IMDAEFFICIENCY|IMDALINERIPPLE|IMDASWITCHRIPPLE|IMDADQ0|JITTERSUMMARY|J2|J9|LOW|LOWTIME|MAXIMUM|MEAN|MINIMUM|NDUtY|NPERIOD|NPJ|NOVERSHOOT|NWIDTH|PDUTTY|PERIOD|PHASE|PHASENOISE|PJ|PK2Pk|POVERSHOOT|PWIDTH|QFACTOR|RISESLEWRATE|RISETIME|RJ|RJDIRAC|RMS|SRJ|SSCFREQDEV|SSCMODRATE|SETUP|SKEW|TIE|TIMEOUTSIDELEVEL|TJBER|TNTRATIO|TOP|UNITINTERVAL|VDIFFXOVR|WIDTH|WIDTHBER} + - MEASUrement:MEAS:TYPe? + - MEASUrement:MEAS:WAITTime + - MEASUrement:MEAS:WAITTime? + - MEASUrement:MEAS:WINDOWLENgth + - MEASUrement:MEAS:WINDOWLENgth? + - MEASUrement:MEAS:XUNIT? + - MEASUrement:MEAS:YUNIT? + - MEASUrement:MEASRange:MAX + - MEASUrement:MEASRange:MAX? + - MEASUrement:MEASRange:MIN + - MEASUrement:MEASRange:MIN? + - MEASUrement:MEASRange:STATE {OFF|ON|0|1} + - MEASUrement:MEASRange:STATE? + - MEASUrement:MECH:EINDexz {ON|OFF|1|0} + - MEASUrement:MECH:EINDexz? + - MEASUrement:MECH:GRATio + - MEASUrement:MECH:GRATio? + - MEASUrement:MECH:MUNits {NM|OZINCH|FTLB|INCHLB|DEGREES|RADIANS} + - MEASUrement:MECH:MUNits? + - MEASUrement:MECH:PPAirs + - MEASUrement:MECH:PPAirs? + - MEASUrement:MECH:PPRotation + - MEASUrement:MECH:PPRotation? + - MEASUrement:MECH:SOUrce1 {S_Ch|CH|MATH|REF|CH_D} + - MEASUrement:MECH:SOUrce1? + - MEASUrement:MECH:STYPe {HSENSOR|QEI} + - MEASUrement:MECH:STYPe? + - MEASUrement:MINUI + - MEASUrement:MINUI? + - MEASUrement:POPUlation:LIMIT:STATE {OFF|ON|0|1 } + - MEASUrement:POPUlation:LIMIT:STATE? + - MEASUrement:POPUlation:LIMIT:VALue + - MEASUrement:POPUlation:LIMIT:VALue? + - MEASUrement:REF:REFLevels:ABSolute:FALLHigh + - MEASUrement:REF:REFLevels:ABSolute:FALLHigh? + - MEASUrement:REF:REFLevels:ABSolute:FALLLow + - MEASUrement:REF:REFLevels:ABSolute:FALLLow? + - MEASUrement:REF:REFLevels:ABSolute:FALLMid + - MEASUrement:REF:REFLevels:ABSolute:FALLMid? + - MEASUrement:REF:REFLevels:ABSolute:HYSTeresis + - MEASUrement:REF:REFLevels:ABSolute:HYSTeresis? + - MEASUrement:REF:REFLevels:ABSolute:RISEHigh + - MEASUrement:REF:REFLevels:ABSolute:RISEHigh? + - MEASUrement:REF:REFLevels:ABSolute:RISELow + - MEASUrement:REF:REFLevels:ABSolute:RISELow? + - MEASUrement:REF:REFLevels:ABSolute:RISEMid + - MEASUrement:REF:REFLevels:ABSolute:RISEMid? + - MEASUrement:REF:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:REF:REFLevels:ABSolute:TYPE? + - MEASUrement:REF:REFLevels:BASETop + - MEASUrement:REF:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:REF:REFLevels:METHod? + - MEASUrement:REF:REFLevels:PERCent:FALLHigh + - MEASUrement:REF:REFLevels:PERCent:FALLHigh? + - MEASUrement:REF:REFLevels:PERCent:FALLLow + - MEASUrement:REF:REFLevels:PERCent:FALLLow? + - MEASUrement:REF:REFLevels:PERCent:FALLMid + - MEASUrement:REF:REFLevels:PERCent:FALLMid? + - MEASUrement:REF:REFLevels:PERCent:HYSTeresis + - MEASUrement:REF:REFLevels:PERCent:HYSTeresis? + - MEASUrement:REF:REFLevels:PERCent:RISEHigh + - MEASUrement:REF:REFLevels:PERCent:RISEHigh? + - MEASUrement:REF:REFLevels:PERCent:RISELow + - MEASUrement:REF:REFLevels:PERCent:RISELow? + - MEASUrement:REF:REFLevels:PERCent:RISEMid + - MEASUrement:REF:REFLevels:PERCent:RISEMid? + - MEASUrement:REF:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:REF:REFLevels:PERCent:TYPE? + - MEASUrement:REFLevels:ABSolute:FALLHigh + - MEASUrement:REFLevels:ABSolute:FALLHigh? + - MEASUrement:REFLevels:ABSolute:FALLLow + - MEASUrement:REFLevels:ABSolute:FALLLow? + - MEASUrement:REFLevels:ABSolute:FALLMid + - MEASUrement:REFLevels:ABSolute:FALLMid? + - MEASUrement:REFLevels:ABSolute:HYSTeresis + - MEASUrement:REFLevels:ABSolute:HYSTeresis? + - MEASUrement:REFLevels:ABSolute:RISEHigh + - MEASUrement:REFLevels:ABSolute:RISEHigh? + - MEASUrement:REFLevels:ABSolute:RISELow + - MEASUrement:REFLevels:ABSolute:RISELow? + - MEASUrement:REFLevels:ABSolute:RISEMid + - MEASUrement:REFLevels:ABSolute:RISEMid? + - MEASUrement:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:REFLevels:ABSolute:TYPE? + - MEASUrement:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:REFLevels:BASETop? + - MEASUrement:REFLevels:JITTERMODE {CONTinuous|LATCh} + - MEASUrement:REFLevels:JITTERMODE? + - MEASUrement:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:REFLevels:METHod? + - MEASUrement:REFLevels:MODE {LATCh|CONTinuous} + - MEASUrement:REFLevels:MODE? + - MEASUrement:REFLevels:PERCent:FALLHigh + - MEASUrement:REFLevels:PERCent:FALLHigh? + - MEASUrement:REFLevels:PERCent:FALLLow + - MEASUrement:REFLevels:PERCent:FALLLow? + - MEASUrement:REFLevels:PERCent:FALLMid + - MEASUrement:REFLevels:PERCent:FALLMid? + - MEASUrement:REFLevels:PERCent:HYSTeresis + - MEASUrement:REFLevels:PERCent:HYSTeresis? + - MEASUrement:REFLevels:PERCent:RISEHigh + - MEASUrement:REFLevels:PERCent:RISEHigh? + - MEASUrement:REFLevels:PERCent:RISELow + - MEASUrement:REFLevels:PERCent:RISELow? + - MEASUrement:REFLevels:PERCent:RISEMid + - MEASUrement:REFLevels:PERCent:RISEMid? + - MEASUrement:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:REFLevels:PERCent:TYPE? + - MEASUrement:REFLevels:TYPE {GLOBal|PERSource} + - MEASUrement:REFLevels:TYPE? + - MEASUrement:RESUlts:HISTory:STARt + - MEASUrement:RESUlts:HISTory:STARt? + - MEASUrement:RESUlts:HISTory:STOP + - MEASUrement:RESUlts:HISTory:STOP? + - MEASUrement:STATIstics:CYCLEMode {OFF|ON|0|1} + - MEASUrement:STATIstics:CYCLEMode? + - MEASUrement:WBG:PDEVice {IGBT|MOSFET} + - MEASUrement:WBG:PDEVice? + - MEASUrement? + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class MeasurementWbgPdevice(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:WBG:PDEVice`` command. + + Description: + - This command sets or returns the type of the Power device. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:WBG:PDEVice?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:WBG:PDEVice?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:WBG:PDEVice value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:WBG:PDEVice {IGBT|MOSFET} + - MEASUrement:WBG:PDEVice? + ``` + + Info: + - ``IGBT`` specifies the type of the Power device as IGBT. + - ``MOSFET`` specifies the type of the Power device as MOSFET. + """ + + +class MeasurementWbg(SCPICmdRead): + """The ``MEASUrement:WBG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:WBG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:WBG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.pdevice``: The ``MEASUrement:WBG:PDEVice`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._pdevice = MeasurementWbgPdevice(device, f"{self._cmd_syntax}:PDEVice") + + @property + def pdevice(self) -> MeasurementWbgPdevice: + """Return the ``MEASUrement:WBG:PDEVice`` command. + + Description: + - This command sets or returns the type of the Power device. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:WBG:PDEVice?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:WBG:PDEVice?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:WBG:PDEVice value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:WBG:PDEVice {IGBT|MOSFET} + - MEASUrement:WBG:PDEVice? + ``` + + Info: + - ``IGBT`` specifies the type of the Power device as IGBT. + - ``MOSFET`` specifies the type of the Power device as MOSFET. + """ + return self._pdevice + + +class MeasurementStatisticsCyclemode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:STATIstics:CYCLEMode`` command. + + Description: + - This command turns on and off cycle to cycle measurement statistics tracking and affects + computation and display of cycle-cycle statistics in the Measurement Result table. It + affects measurement statistics after being enabled and after new data is acquired and + measured. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:STATIstics:CYCLEMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:STATIstics:CYCLEMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:STATIstics:CYCLEMode value`` command. + + SCPI Syntax: + ``` + - MEASUrement:STATIstics:CYCLEMode {OFF|ON|0|1} + - MEASUrement:STATIstics:CYCLEMode? + ``` + + Info: + - ``OFF`` turns off statistics for all measurements. This is the default value. + - ``ON`` turns on statistics and displays all statistics for each measurement. + - ``0`` turns off statistics for all measurements. + - ``1`` turns on statistics and displays all statistics for each measurement. + """ + + +class MeasurementStatistics(SCPICmdRead): + """The ``MEASUrement:STATIstics`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:STATIstics?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:STATIstics?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cyclemode``: The ``MEASUrement:STATIstics:CYCLEMode`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cyclemode = MeasurementStatisticsCyclemode(device, f"{self._cmd_syntax}:CYCLEMode") + + @property + def cyclemode(self) -> MeasurementStatisticsCyclemode: + """Return the ``MEASUrement:STATIstics:CYCLEMode`` command. + + Description: + - This command turns on and off cycle to cycle measurement statistics tracking and + affects computation and display of cycle-cycle statistics in the Measurement Result + table. It affects measurement statistics after being enabled and after new data is + acquired and measured. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:STATIstics:CYCLEMode?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:STATIstics:CYCLEMode?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:STATIstics:CYCLEMode value`` command. + + SCPI Syntax: + ``` + - MEASUrement:STATIstics:CYCLEMode {OFF|ON|0|1} + - MEASUrement:STATIstics:CYCLEMode? + ``` + + Info: + - ``OFF`` turns off statistics for all measurements. This is the default value. + - ``ON`` turns on statistics and displays all statistics for each measurement. + - ``0`` turns off statistics for all measurements. + - ``1`` turns on statistics and displays all statistics for each measurement. + """ + return self._cyclemode + + +class MeasurementResultsHistoryStop(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:RESUlts:HISTory:STOP`` command. + + Description: + - This command sets or queries the last acquisition number that will be transferred for + measurement history results. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts:HISTory:STOP?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:RESUlts:HISTory:STOP?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:RESUlts:HISTory:STOP value`` command. + + SCPI Syntax: + ``` + - MEASUrement:RESUlts:HISTory:STOP + - MEASUrement:RESUlts:HISTory:STOP? + ``` + + Info: + - ```` is the last acquisition that will be transferred, which ranges from 1 to the + number of history acquisitions. Results will be transferred from + ``MEASUrement:RESUlts:HISTory:STARt`` to . A special value of 0 for indicates + that the stop position is always the last history acquisition. + """ + + +class MeasurementResultsHistoryStart(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:RESUlts:HISTory:STARt`` command. + + Description: + - This command sets or queries the starting acquisition number for transferring measurement + history results. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts:HISTory:STARt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:RESUlts:HISTory:STARt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:RESUlts:HISTory:STARt value`` command. + + SCPI Syntax: + ``` + - MEASUrement:RESUlts:HISTory:STARt + - MEASUrement:RESUlts:HISTory:STARt? + ``` + + Info: + - ```` is the first acquisition that will be transferred, which ranges from 1 to the + number of history acquisitions. Results will be transferred from acquisitions to + ``MEASUrement:RESUlts:HISTory:STOP``. + """ + + +class MeasurementResultsHistory(SCPICmdRead): + """The ``MEASUrement:RESUlts:HISTory`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts:HISTory?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:RESUlts:HISTory?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.start``: The ``MEASUrement:RESUlts:HISTory:STARt`` command. + - ``.stop``: The ``MEASUrement:RESUlts:HISTory:STOP`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._start = MeasurementResultsHistoryStart(device, f"{self._cmd_syntax}:STARt") + self._stop = MeasurementResultsHistoryStop(device, f"{self._cmd_syntax}:STOP") + + @property + def start(self) -> MeasurementResultsHistoryStart: + """Return the ``MEASUrement:RESUlts:HISTory:STARt`` command. + + Description: + - This command sets or queries the starting acquisition number for transferring + measurement history results. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts:HISTory:STARt?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:RESUlts:HISTory:STARt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:RESUlts:HISTory:STARt value`` command. + + SCPI Syntax: + ``` + - MEASUrement:RESUlts:HISTory:STARt + - MEASUrement:RESUlts:HISTory:STARt? + ``` + + Info: + - ```` is the first acquisition that will be transferred, which ranges from 1 to + the number of history acquisitions. Results will be transferred from acquisitions + to ``MEASUrement:RESUlts:HISTory:STOP``. + """ + return self._start + + @property + def stop(self) -> MeasurementResultsHistoryStop: + """Return the ``MEASUrement:RESUlts:HISTory:STOP`` command. + + Description: + - This command sets or queries the last acquisition number that will be transferred for + measurement history results. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts:HISTory:STOP?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:RESUlts:HISTory:STOP?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:RESUlts:HISTory:STOP value`` command. + + SCPI Syntax: + ``` + - MEASUrement:RESUlts:HISTory:STOP + - MEASUrement:RESUlts:HISTory:STOP? + ``` + + Info: + - ```` is the last acquisition that will be transferred, which ranges from 1 to the + number of history acquisitions. Results will be transferred from + ``MEASUrement:RESUlts:HISTory:STARt`` to . A special value of 0 for + indicates that the stop position is always the last history acquisition. + """ + return self._stop + + +class MeasurementResults(SCPICmdRead): + """The ``MEASUrement:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:RESUlts?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.history``: The ``MEASUrement:RESUlts:HISTory`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._history = MeasurementResultsHistory(device, f"{self._cmd_syntax}:HISTory") + + @property + def history(self) -> MeasurementResultsHistory: + """Return the ``MEASUrement:RESUlts:HISTory`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts:HISTory?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:RESUlts:HISTory?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.start``: The ``MEASUrement:RESUlts:HISTory:STARt`` command. + - ``.stop``: The ``MEASUrement:RESUlts:HISTory:STOP`` command. + """ + return self._history + + +class MeasurementReflevelsType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:TYPE`` command. + + Description: + - This command sets or queries the shared reference level method used for sources of + measurement calculations. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:REFLevels:TYPE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:TYPE {GLOBal|PERSource} + - MEASUrement:REFLevels:TYPE? + ``` + + Info: + - ``GLOBal`` shares reference levels across measurements. + - ``PERSource`` causes reference levels to be used on individual measurements. + """ + + +class MeasurementReflevelsPercentType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:TYPE`` command. + + Description: + - This command sets or queries the reference level percent type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:PERCent:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + + +class MeasurementReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the rising edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:RISEMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:RISEMid + - MEASUrement:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the rising edge. + """ + + +class MeasurementReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the rising edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:RISELow?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:RISELow + - MEASUrement:REFLevels:PERCent:RISELow? + ``` + + Info: + - ```` is the percentage used to calculate the low reference level of the rising edge. + """ + + +class MeasurementReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the rising edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:RISEHigh?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:RISEHigh + - MEASUrement:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the rising edge. + """ + + +class MeasurementReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 100% is equal to MAX and 1% is equal to + MIN) used to calculate the hysteresis of the reference level when the measurement's ref + level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:HYSTeresis?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:HYSTeresis + - MEASUrement:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ```` is the percentage used to calculate the hysteresis of the reference level. + """ + + +class MeasurementReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the falling edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:FALLMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:FALLMid + - MEASUrement:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the falling edge. + """ + + +class MeasurementReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the falling edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:FALLLow?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:FALLLow + - MEASUrement:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the falling edge. + """ + + +class MeasurementReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:FALLHigh?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:FALLHigh + - MEASUrement:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the falling + edge. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementReflevelsPercent(SCPICmdRead): + """The ``MEASUrement:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:PERCent?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:REFLevels:PERCent:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementReflevelsPercentFallhigh(device, f"{self._cmd_syntax}:FALLHigh") + self._falllow = MeasurementReflevelsPercentFalllow(device, f"{self._cmd_syntax}:FALLLow") + self._fallmid = MeasurementReflevelsPercentFallmid(device, f"{self._cmd_syntax}:FALLMid") + self._hysteresis = MeasurementReflevelsPercentHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementReflevelsPercentRisehigh(device, f"{self._cmd_syntax}:RISEHigh") + self._riselow = MeasurementReflevelsPercentRiselow(device, f"{self._cmd_syntax}:RISELow") + self._risemid = MeasurementReflevelsPercentRisemid(device, f"{self._cmd_syntax}:RISEMid") + self._type = MeasurementReflevelsPercentType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementReflevelsPercentFallhigh: + """Return the ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:FALLHigh + - MEASUrement:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the falling + edge. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementReflevelsPercentFalllow: + """Return the ``MEASUrement:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:FALLLow?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:FALLLow + - MEASUrement:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the falling + edge. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementReflevelsPercentFallmid: + """Return the ``MEASUrement:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:FALLMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:FALLMid + - MEASUrement:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the falling + edge. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementReflevelsPercentHysteresis: + """Return the ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 100% is equal to MAX and 1% is + equal to MIN) used to calculate the hysteresis of the reference level when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:HYSTeresis + - MEASUrement:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ```` is the percentage used to calculate the hysteresis of the reference level. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementReflevelsPercentRisehigh: + """Return the ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:RISEHigh + - MEASUrement:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the rising + edge. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementReflevelsPercentRiselow: + """Return the ``MEASUrement:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:RISELow?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:RISELow + - MEASUrement:REFLevels:PERCent:RISELow? + ``` + + Info: + - ```` is the percentage used to calculate the low reference level of the rising + edge. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementReflevelsPercentRisemid: + """Return the ``MEASUrement:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:RISEMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:RISEMid + - MEASUrement:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the rising + edge. + """ + return self._risemid + + @property + def type(self) -> MeasurementReflevelsPercentType: + """Return the ``MEASUrement:REFLevels:PERCent:TYPE`` command. + + Description: + - This command sets or queries the reference level percent type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% + respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + return self._type + + +class MeasurementReflevelsMode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:MODE`` command. + + Description: + - This command sets or queries how often reference levels are calculated. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:MODE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:MODE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:REFLevels:MODE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:MODE {LATCh|CONTinuous} + - MEASUrement:REFLevels:MODE? + ``` + + Info: + - ``LATCh`` calculates reference levels only on the first acquisition after a statistics + reset. + - ``CONTinuous`` calculates reference levels on every acquisition. + """ + + +class MeasurementReflevelsMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:METHod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:METHod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:REFLevels:METHod value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:REFLevels:METHod? + ``` + + Info: + - ``PERCent`` specifies that the reference levels are calculated as a percent relative to + HIGH and LOW. The percentages are defined using the + ``MEASUrement:REFLevels:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:REFLevels:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + + +class MeasurementReflevelsJittermode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:JITTERMODE`` command. + + Description: + - This command sets or queries how often reference levels are calculated on Jitter + measurements. If the mode is set to Latch, ref levels are calculated only on the first + acquisition after a statistics reset. If it is set to Continuous, reference levels are + calculated on every acquisition. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:JITTERMODE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:JITTERMODE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:JITTERMODE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:JITTERMODE {CONTinuous|LATCh} + - MEASUrement:REFLevels:JITTERMODE? + ``` + + Info: + - ``CONTinuous`` specifies that reference levels are calculated on every acquisition. + - ``LATCh`` specifies that reference levels are calculated only on the first acquisition + after a statistics reset. + """ + + +class MeasurementReflevelsBasetop(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE, used to + calculate reference levels for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:BASETop?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:BASETop?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:REFLevels:BASETop value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:REFLevels:BASETop? + ``` + + Info: + - ``AUTO`` sets the base top method to AUTO. + - ``MINMax`` sets the base top method to MINMax. + - ``MEANhistogram`` sets the base top method to MEANhistogram. + - ``MODEhistogram`` sets the base top method to MODEhistogram. + - ``EYEhistogram`` sets the base top method to EYEhistogram. + """ + + +class MeasurementReflevelsAbsoluteType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:ABSolute:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + + +class MeasurementReflevelsAbsoluteRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:RISEMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:RISEMid + - MEASUrement:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ```` is the mid reference level of the rising edge. + """ + + +class MeasurementReflevelsAbsoluteRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:RISELow?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:RISELow + - MEASUrement:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ```` is the value used as the the low reference level of the rising edge. + """ + + +class MeasurementReflevelsAbsoluteRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:RISEHigh?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:RISEHigh + - MEASUrement:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the rising edge. + """ + + +class MeasurementReflevelsAbsoluteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when the + measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:HYSTeresis?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:HYSTeresis + - MEASUrement:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ```` is the value of the hysteresis of the reference level. + """ + + +class MeasurementReflevelsAbsoluteFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:FALLMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:FALLMid + - MEASUrement:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ```` is the value used as the mid reference level of the falling edge. + """ + + +class MeasurementReflevelsAbsoluteFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:FALLLow?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:FALLLow + - MEASUrement:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ```` is the value used as the low reference level of the falling edge. + """ + + +class MeasurementReflevelsAbsoluteFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:FALLHigh?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:FALLHigh + - MEASUrement:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementReflevelsAbsolute(SCPICmdRead): + """The ``MEASUrement:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:ABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``MEASUrement:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:REFLevels:ABSolute:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementReflevelsAbsoluteFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementReflevelsAbsoluteFalllow(device, f"{self._cmd_syntax}:FALLLow") + self._fallmid = MeasurementReflevelsAbsoluteFallmid(device, f"{self._cmd_syntax}:FALLMid") + self._hysteresis = MeasurementReflevelsAbsoluteHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementReflevelsAbsoluteRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementReflevelsAbsoluteRiselow(device, f"{self._cmd_syntax}:RISELow") + self._risemid = MeasurementReflevelsAbsoluteRisemid(device, f"{self._cmd_syntax}:RISEMid") + self._type = MeasurementReflevelsAbsoluteType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementReflevelsAbsoluteFallhigh: + """Return the ``MEASUrement:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:FALLHigh + - MEASUrement:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementReflevelsAbsoluteFalllow: + """Return the ``MEASUrement:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:FALLLow + - MEASUrement:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ```` is the value used as the low reference level of the falling edge. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementReflevelsAbsoluteFallmid: + """Return the ``MEASUrement:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:FALLMid + - MEASUrement:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ```` is the value used as the mid reference level of the falling edge. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementReflevelsAbsoluteHysteresis: + """Return the ``MEASUrement:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when + the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:HYSTeresis + - MEASUrement:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ```` is the value of the hysteresis of the reference level. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementReflevelsAbsoluteRisehigh: + """Return the ``MEASUrement:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:RISEHigh + - MEASUrement:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the rising edge. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementReflevelsAbsoluteRiselow: + """Return the ``MEASUrement:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:RISELow + - MEASUrement:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ```` is the value used as the the low reference level of the rising edge. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementReflevelsAbsoluteRisemid: + """Return the ``MEASUrement:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:RISEMid + - MEASUrement:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ```` is the mid reference level of the rising edge. + """ + return self._risemid + + @property + def type(self) -> MeasurementReflevelsAbsoluteType: + """Return the ``MEASUrement:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + return self._type + + +class MeasurementReflevels(SCPICmdRead): + """The ``MEASUrement:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.absolute``: The ``MEASUrement:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:REFLevels:BASETop`` command. + - ``.jittermode``: The ``MEASUrement:REFLevels:JITTERMODE`` command. + - ``.method``: The ``MEASUrement:REFLevels:METHod`` command. + - ``.mode``: The ``MEASUrement:REFLevels:MODE`` command. + - ``.percent``: The ``MEASUrement:REFLevels:PERCent`` command tree. + - ``.type``: The ``MEASUrement:REFLevels:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = MeasurementReflevelsAbsolute(device, f"{self._cmd_syntax}:ABSolute") + self._basetop = MeasurementReflevelsBasetop(device, f"{self._cmd_syntax}:BASETop") + self._jittermode = MeasurementReflevelsJittermode(device, f"{self._cmd_syntax}:JITTERMODE") + self._method = MeasurementReflevelsMethod(device, f"{self._cmd_syntax}:METHod") + self._mode = MeasurementReflevelsMode(device, f"{self._cmd_syntax}:MODE") + self._percent = MeasurementReflevelsPercent(device, f"{self._cmd_syntax}:PERCent") + self._type = MeasurementReflevelsType(device, f"{self._cmd_syntax}:TYPE") + + @property + def absolute(self) -> MeasurementReflevelsAbsolute: + """Return the ``MEASUrement:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:ABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:ABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:REFLevels:ABSolute:TYPE`` command. + """ + return self._absolute + + @property + def basetop(self) -> MeasurementReflevelsBasetop: + """Return the ``MEASUrement:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE, used to + calculate reference levels for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:BASETop?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:BASETop?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:REFLevels:BASETop? + ``` + + Info: + - ``AUTO`` sets the base top method to AUTO. + - ``MINMax`` sets the base top method to MINMax. + - ``MEANhistogram`` sets the base top method to MEANhistogram. + - ``MODEhistogram`` sets the base top method to MODEhistogram. + - ``EYEhistogram`` sets the base top method to EYEhistogram. + """ + return self._basetop + + @property + def jittermode(self) -> MeasurementReflevelsJittermode: + """Return the ``MEASUrement:REFLevels:JITTERMODE`` command. + + Description: + - This command sets or queries how often reference levels are calculated on Jitter + measurements. If the mode is set to Latch, ref levels are calculated only on the first + acquisition after a statistics reset. If it is set to Continuous, reference levels are + calculated on every acquisition. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:JITTERMODE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REFLevels:JITTERMODE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:JITTERMODE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:JITTERMODE {CONTinuous|LATCh} + - MEASUrement:REFLevels:JITTERMODE? + ``` + + Info: + - ``CONTinuous`` specifies that reference levels are calculated on every acquisition. + - ``LATCh`` specifies that reference levels are calculated only on the first acquisition + after a statistics reset. + """ + return self._jittermode + + @property + def method(self) -> MeasurementReflevelsMethod: + """Return the ``MEASUrement:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:METHod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:METHod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:REFLevels:METHod? + ``` + + Info: + - ``PERCent`` specifies that the reference levels are calculated as a percent relative + to HIGH and LOW. The percentages are defined using the + ``MEASUrement:REFLevels:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:REFLevels:REFLevel:ABSolute`` commands. This method is useful when + precise values are required. + """ + return self._method + + @property + def mode(self) -> MeasurementReflevelsMode: + """Return the ``MEASUrement:REFLevels:MODE`` command. + + Description: + - This command sets or queries how often reference levels are calculated. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:MODE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:MODE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:REFLevels:MODE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:MODE {LATCh|CONTinuous} + - MEASUrement:REFLevels:MODE? + ``` + + Info: + - ``LATCh`` calculates reference levels only on the first acquisition after a statistics + reset. + - ``CONTinuous`` calculates reference levels on every acquisition. + """ + return self._mode + + @property + def percent(self) -> MeasurementReflevelsPercent: + """Return the ``MEASUrement:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:PERCent?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:PERCent?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:REFLevels:PERCent:TYPE`` command. + """ + return self._percent + + @property + def type(self) -> MeasurementReflevelsType: + """Return the ``MEASUrement:REFLevels:TYPE`` command. + + Description: + - This command sets or queries the shared reference level method used for sources of + measurement calculations. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:REFLevels:TYPE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REFLevels:TYPE {GLOBal|PERSource} + - MEASUrement:REFLevels:TYPE? + ``` + + Info: + - ``GLOBal`` shares reference levels across measurements. + - ``PERSource`` causes reference levels to be used on individual measurements. + """ + return self._type + + +class MeasurementRefItemReflevelsPercentType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:TYPE`` command. + + Description: + - This command sets or queries the reference level percent type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:PERCent:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:REF:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + + +class MeasurementRefItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the rising edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:RISEMid + - MEASUrement:REF:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the rising edge. + """ + + +class MeasurementRefItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the rising edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:RISELow + - MEASUrement:REF:REFLevels:PERCent:RISELow? + ``` + + Info: + - ```` is the percentage used to calculate the low reference level of the rising edge. + """ + + +class MeasurementRefItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the rising edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:RISEHigh + - MEASUrement:REF:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the rising edge. + """ + + +class MeasurementRefItemReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal to + MIN) used to calculate the hysteresis of the reference level when the measurement's ref + level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:HYSTeresis + - MEASUrement:REF:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ```` is the percentage used to calculate the hysteresis of the reference level. + """ + + +class MeasurementRefItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the falling edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:FALLMid + - MEASUrement:REF:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the falling edge. + """ + + +class MeasurementRefItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the falling edge when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:FALLLow + - MEASUrement:REF:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ```` is the percentage used to calculate the low reference level. + """ + + +class MeasurementRefItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:FALLHigh + - MEASUrement:REF:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the falling + edge. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementRefItemReflevelsPercent(SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:REF:REFLevels:PERCent:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementRefItemReflevelsPercentFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementRefItemReflevelsPercentFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementRefItemReflevelsPercentFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementRefItemReflevelsPercentHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementRefItemReflevelsPercentRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementRefItemReflevelsPercentRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementRefItemReflevelsPercentRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementRefItemReflevelsPercentType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementRefItemReflevelsPercentFallhigh: + """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:FALLHigh + - MEASUrement:REF:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the falling + edge. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementRefItemReflevelsPercentFalllow: + """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:FALLLow + - MEASUrement:REF:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ```` is the percentage used to calculate the low reference level. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementRefItemReflevelsPercentFallmid: + """Return the ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:FALLMid + - MEASUrement:REF:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the falling + edge. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementRefItemReflevelsPercentHysteresis: + """Return the ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal + to MIN) used to calculate the hysteresis of the reference level when the measurement's + ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:HYSTeresis + - MEASUrement:REF:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ```` is the percentage used to calculate the hysteresis of the reference level. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementRefItemReflevelsPercentRisehigh: + """Return the ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:RISEHigh + - MEASUrement:REF:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ```` is the percentage used to calculate the high reference level of the rising + edge. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementRefItemReflevelsPercentRiselow: + """Return the ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:RISELow + - MEASUrement:REF:REFLevels:PERCent:RISELow? + ``` + + Info: + - ```` is the percentage used to calculate the low reference level of the rising + edge. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementRefItemReflevelsPercentRisemid: + """Return the ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the + measurement's ref level method is set to percent. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:RISEMid + - MEASUrement:REF:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ```` is the percentage used to calculate the mid reference level of the rising + edge. + """ + return self._risemid + + @property + def type(self) -> MeasurementRefItemReflevelsPercentType: + """Return the ``MEASUrement:REF:REFLevels:PERCent:TYPE`` command. + + Description: + - This command sets or queries the reference level percent type for the measurement. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:REF:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% + respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + return self._type + + +class MeasurementRefItemReflevelsMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:METHod?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REF:REFLevels:METHod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:REF:REFLevels:METHod? + ``` + + Info: + - ``PERCent`` specifies that the reference levels are calculated as a percent relative to + HIGH and LOW. The percentages are defined using the + ``MEASUrement:REF:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:REF:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + + +class MeasurementRefItemReflevelsBasetop(SCPICmdWriteNoArguments): + """The ``MEASUrement:REF:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE, used to + calculate reference levels for the measurement. + + Usage: + - Using the ``.write()`` method will send the ``MEASUrement:REF:REFLevels:BASETop`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:BASETop + ``` + + Info: + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean BASE + and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode BASE + and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram BASE + and TOP. + """ + + +class MeasurementRefItemReflevelsAbsoluteType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:REF:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + + +class MeasurementRefItemReflevelsAbsoluteRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:RISEMid + - MEASUrement:REF:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ```` is the value used as the mid reference level of the rising edge when the + measurement's ref level method is set to absolute. + """ + + +class MeasurementRefItemReflevelsAbsoluteRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:RISELow + - MEASUrement:REF:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ```` is the value used as the low reference level of the rising edge when the + measurement's ref level method is set to absolute. + """ + + +class MeasurementRefItemReflevelsAbsoluteRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:RISEHigh + - MEASUrement:REF:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the rising edge when the + measurement's ref level method is set to absolute. + """ + + +class MeasurementRefItemReflevelsAbsoluteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when the + measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:HYSTeresis + - MEASUrement:REF:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ```` is the value of the hysteresis of the reference level when the measurement's ref + level method is set to absolute. + """ + + +class MeasurementRefItemReflevelsAbsoluteFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:FALLMid + - MEASUrement:REF:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ```` is the value used as the mid reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + + +class MeasurementRefItemReflevelsAbsoluteFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling edge + when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:FALLLow + - MEASUrement:REF:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ```` is the value used as the low reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + + +class MeasurementRefItemReflevelsAbsoluteFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:FALLHigh + - MEASUrement:REF:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementRefItemReflevelsAbsolute(SCPICmdRead): + """The ``MEASUrement:REF:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REF:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REF:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REF:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REF:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:REF:REFLevels:ABSolute:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementRefItemReflevelsAbsoluteFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementRefItemReflevelsAbsoluteFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementRefItemReflevelsAbsoluteFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementRefItemReflevelsAbsoluteHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementRefItemReflevelsAbsoluteRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementRefItemReflevelsAbsoluteRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementRefItemReflevelsAbsoluteRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementRefItemReflevelsAbsoluteType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementRefItemReflevelsAbsoluteFallhigh: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:FALLHigh + - MEASUrement:REF:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementRefItemReflevelsAbsoluteFalllow: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:FALLLow + - MEASUrement:REF:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ```` is the value used as the low reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementRefItemReflevelsAbsoluteFallmid: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:FALLMid + - MEASUrement:REF:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ```` is the value used as the mid reference level of the falling edge when the + measurement's ref level method is set to absolute. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementRefItemReflevelsAbsoluteHysteresis: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when + the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:HYSTeresis + - MEASUrement:REF:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ```` is the value of the hysteresis of the reference level when the measurement's + ref level method is set to absolute. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementRefItemReflevelsAbsoluteRisehigh: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:RISEHigh + - MEASUrement:REF:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ```` is the value used as the high reference level of the rising edge when the + measurement's ref level method is set to absolute. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementRefItemReflevelsAbsoluteRiselow: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:RISELow + - MEASUrement:REF:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ```` is the value used as the low reference level of the rising edge when the + measurement's ref level method is set to absolute. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementRefItemReflevelsAbsoluteRisemid: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising + edge when the measurement's ref level method is set to absolute. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:RISEMid + - MEASUrement:REF:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ```` is the value used as the mid reference level of the rising edge when the + measurement's ref level method is set to absolute. + """ + return self._risemid + + @property + def type(self) -> MeasurementRefItemReflevelsAbsoluteType: + """Return the ``MEASUrement:REF:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:REF:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + return self._type + + +class MeasurementRefItemReflevels(SCPICmdRead): + """The ``MEASUrement:REF:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REF:REFLevels?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.absolute``: The ``MEASUrement:REF:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:REF:REFLevels:BASETop`` command. + - ``.method``: The ``MEASUrement:REF:REFLevels:METHod`` command. + - ``.percent``: The ``MEASUrement:REF:REFLevels:PERCent`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = MeasurementRefItemReflevelsAbsolute(device, f"{self._cmd_syntax}:ABSolute") + self._basetop = MeasurementRefItemReflevelsBasetop(device, f"{self._cmd_syntax}:BASETop") + self._method = MeasurementRefItemReflevelsMethod(device, f"{self._cmd_syntax}:METHod") + self._percent = MeasurementRefItemReflevelsPercent(device, f"{self._cmd_syntax}:PERCent") + + @property + def absolute(self) -> MeasurementRefItemReflevelsAbsolute: + """Return the ``MEASUrement:REF:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:REF:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REF:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REF:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REF:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REF:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REF:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REF:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:REF:REFLevels:ABSolute:TYPE`` command. + """ + return self._absolute + + @property + def basetop(self) -> MeasurementRefItemReflevelsBasetop: + """Return the ``MEASUrement:REF:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE, used to + calculate reference levels for the measurement. + + Usage: + - Using the ``.write()`` method will send the ``MEASUrement:REF:REFLevels:BASETop`` + command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:BASETop + ``` + + Info: + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and + MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean + BASE and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode + BASE and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram + BASE and TOP. + """ + return self._basetop + + @property + def method(self) -> MeasurementRefItemReflevelsMethod: + """Return the ``MEASUrement:REF:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:REF:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:REF:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:REF:REFLevels:METHod? + ``` + + Info: + - ``PERCent`` specifies that the reference levels are calculated as a percent relative + to HIGH and LOW. The percentages are defined using the + ``MEASUrement:REF:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:REF:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + return self._method + + @property + def percent(self) -> MeasurementRefItemReflevelsPercent: + """Return the ``MEASUrement:REF:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:REF:REFLevels:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:REF:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:REF:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:REF:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:REF:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:REF:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:REF:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:REF:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:REF:REFLevels:PERCent:TYPE`` command. + """ + return self._percent + + +class MeasurementRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``MEASUrement:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REF?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.reflevels``: The ``MEASUrement:REF:REFLevels`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reflevels = MeasurementRefItemReflevels(device, f"{self._cmd_syntax}:REFLevels") + + @property + def reflevels(self) -> MeasurementRefItemReflevels: + """Return the ``MEASUrement:REF:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REF:REFLevels?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.absolute``: The ``MEASUrement:REF:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:REF:REFLevels:BASETop`` command. + - ``.method``: The ``MEASUrement:REF:REFLevels:METHod`` command. + - ``.percent``: The ``MEASUrement:REF:REFLevels:PERCent`` command tree. + """ + return self._reflevels + + +class MeasurementPopulationLimitValue(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:POPUlation:LIMIT:VALue`` command. + + Description: + - This command sets or queries the global population limit value for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation:LIMIT:VALue?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:POPUlation:LIMIT:VALue?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:POPUlation:LIMIT:VALue value`` command. + + SCPI Syntax: + ``` + - MEASUrement:POPUlation:LIMIT:VALue + - MEASUrement:POPUlation:LIMIT:VALue? + ``` + + Info: + - ```` is the current limit value. + """ + + +class MeasurementPopulationLimitState(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:POPUlation:LIMIT:STATE`` command. + + Description: + - This command sets or queries the global population limit state for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation:LIMIT:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:POPUlation:LIMIT:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:POPUlation:LIMIT:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:POPUlation:LIMIT:STATE {OFF|ON|0|1 } + - MEASUrement:POPUlation:LIMIT:STATE? + ``` + + Info: + - ``OFF`` turns off the population limit. + - ``ON`` turns on the population limit. + - ``0`` turns off the population limit. + - ``1`` turns on the population limit. + """ + + +class MeasurementPopulationLimit(SCPICmdRead): + """The ``MEASUrement:POPUlation:LIMIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation:LIMIT?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:POPUlation:LIMIT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``MEASUrement:POPUlation:LIMIT:STATE`` command. + - ``.value``: The ``MEASUrement:POPUlation:LIMIT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = MeasurementPopulationLimitState(device, f"{self._cmd_syntax}:STATE") + self._value = MeasurementPopulationLimitValue(device, f"{self._cmd_syntax}:VALue") + + @property + def state(self) -> MeasurementPopulationLimitState: + """Return the ``MEASUrement:POPUlation:LIMIT:STATE`` command. + + Description: + - This command sets or queries the global population limit state for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation:LIMIT:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:POPUlation:LIMIT:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:POPUlation:LIMIT:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:POPUlation:LIMIT:STATE {OFF|ON|0|1 } + - MEASUrement:POPUlation:LIMIT:STATE? + ``` + + Info: + - ``OFF`` turns off the population limit. + - ``ON`` turns on the population limit. + - ``0`` turns off the population limit. + - ``1`` turns on the population limit. + """ + return self._state + + @property + def value(self) -> MeasurementPopulationLimitValue: + """Return the ``MEASUrement:POPUlation:LIMIT:VALue`` command. + + Description: + - This command sets or queries the global population limit value for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation:LIMIT:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:POPUlation:LIMIT:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:POPUlation:LIMIT:VALue value`` command. + + SCPI Syntax: + ``` + - MEASUrement:POPUlation:LIMIT:VALue + - MEASUrement:POPUlation:LIMIT:VALue? + ``` + + Info: + - ```` is the current limit value. + """ + return self._value + + +class MeasurementPopulation(SCPICmdRead): + """The ``MEASUrement:POPUlation`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:POPUlation?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.limit``: The ``MEASUrement:POPUlation:LIMIT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._limit = MeasurementPopulationLimit(device, f"{self._cmd_syntax}:LIMIT") + + @property + def limit(self) -> MeasurementPopulationLimit: + """Return the ``MEASUrement:POPUlation:LIMIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation:LIMIT?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:POPUlation:LIMIT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``MEASUrement:POPUlation:LIMIT:STATE`` command. + - ``.value``: The ``MEASUrement:POPUlation:LIMIT:VALue`` command. + """ + return self._limit + + +class MeasurementMinui(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MINUI`` command. + + Description: + - This command sets or queries the minimum number of unit intervals required for BUJ + analysis. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MINUI?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MINUI?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MINUI value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MINUI + - MEASUrement:MINUI? + ``` + + Info: + - ```` is the minimum number of unit intervals required for BUJ analysis. + """ + + +class MeasurementMechStype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:STYPe`` command. + + Description: + - This command sets or queries the measurement sensor type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:STYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:STYPe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:STYPe {HSENSOR|QEI} + - MEASUrement:MECH:STYPe? + ``` + + Info: + - ``HSENSOR`` specifies the sensor type as HSENSOR. + - ``QEI`` specifies the sensor type as QEI. + """ + + +class MeasurementMechSource1(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:SOUrce1`` command. + + Description: + - This command sets or queries the global mechanical source of the specified source number. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:SOUrce1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:SOUrce1?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:SOUrce1 value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:SOUrce1 {S_Ch|CH|MATH|REF|CH_D} + - MEASUrement:MECH:SOUrce1? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source waveform. + - ``MATH`` specifies a math waveform as the source waveform. + - ``REF`` specifies an reference waveform as the source waveform . + - ``CH_D`` specifies a digital channel as the source waveform. + """ + + +class MeasurementMechPprotation(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:PPRotation`` command. + + Description: + - This command sets or queries the global pulses per rotation of the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:PPRotation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:PPRotation?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:PPRotation value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:PPRotation + - MEASUrement:MECH:PPRotation? + ``` + + Info: + - ```` defines the pulses per rotation of the measurement. The minimum to maximum range + is 1 to 100000. + """ + + +class MeasurementMechPpairs(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:PPAirs`` command. + + Description: + - This command sets or queries the measurement number of pole pairs. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:PPAirs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:PPAirs?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:PPAirs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:PPAirs + - MEASUrement:MECH:PPAirs? + ``` + + Info: + - ```` defines the number of pole pairs for the specified measurement. The minimum to + maximum range is 1 to 20. + """ + + +class MeasurementMechMunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:MUNits`` command. + + Description: + - This command sets or queries the global mechanical measurement results units. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:MUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:MUNits?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:MUNits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:MUNits {NM|OZINCH|FTLB|INCHLB|DEGREES|RADIANS} + - MEASUrement:MECH:MUNits? + ``` + + Info: + - ``NM`` specifies the results units of mechanical Torque measurement as NM. + - ``OZINCH`` specifies the results units of mechanical Torque measurement as OZINCH. + - ``FTLB`` specifies the results units of mechanical Torque measurement as FTLB. + - ``INCHLB`` specifies the results units of mechanical Torque measurement as INCHLB. + - ``DEGREES`` specifies the results units of mechanical Torque measurement as DEGREES. + - ``RADIANS`` specifies the results units of mechanical Torque measurement as RADIANS. + """ + + +class MeasurementMechGratio(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:GRATio`` command. + + Description: + - This command sets or queries the measurement gear ratio. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:GRATio?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:GRATio?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:GRATio value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:GRATio + - MEASUrement:MECH:GRATio? + ``` + + Info: + - ```` specifies the gear ratio value for a specified measurement. The minimum and + maximum values are 0.001 to 1000. + """ + + +class MeasurementMechEindexz(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MECH:EINDexz`` command. + + Description: + - This command sets or queries the global mechanical Index Z source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:EINDexz?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:EINDexz?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:EINDexz value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:EINDexz {ON|OFF|1|0} + - MEASUrement:MECH:EINDexz? + ``` + + Info: + - ``ON`` specifies the Index Z check box state as enabled. + - ``OFF`` specifies the Index Z check box state as disabled. + - ``1`` specifies the Index Z check box state as enabled. + - ``0`` specifies the Index Z check box state as disabled. + """ + + +class MeasurementMech(SCPICmdRead): + """The ``MEASUrement:MECH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.eindexz``: The ``MEASUrement:MECH:EINDexz`` command. + - ``.gratio``: The ``MEASUrement:MECH:GRATio`` command. + - ``.munits``: The ``MEASUrement:MECH:MUNits`` command. + - ``.ppairs``: The ``MEASUrement:MECH:PPAirs`` command. + - ``.pprotation``: The ``MEASUrement:MECH:PPRotation`` command. + - ``.source1``: The ``MEASUrement:MECH:SOUrce1`` command. + - ``.stype``: The ``MEASUrement:MECH:STYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._eindexz = MeasurementMechEindexz(device, f"{self._cmd_syntax}:EINDexz") + self._gratio = MeasurementMechGratio(device, f"{self._cmd_syntax}:GRATio") + self._munits = MeasurementMechMunits(device, f"{self._cmd_syntax}:MUNits") + self._ppairs = MeasurementMechPpairs(device, f"{self._cmd_syntax}:PPAirs") + self._pprotation = MeasurementMechPprotation(device, f"{self._cmd_syntax}:PPRotation") + self._source1 = MeasurementMechSource1(device, f"{self._cmd_syntax}:SOUrce1") + self._stype = MeasurementMechStype(device, f"{self._cmd_syntax}:STYPe") + + @property + def eindexz(self) -> MeasurementMechEindexz: + """Return the ``MEASUrement:MECH:EINDexz`` command. + + Description: + - This command sets or queries the global mechanical Index Z source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:EINDexz?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:EINDexz?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:EINDexz value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:EINDexz {ON|OFF|1|0} + - MEASUrement:MECH:EINDexz? + ``` + + Info: + - ``ON`` specifies the Index Z check box state as enabled. + - ``OFF`` specifies the Index Z check box state as disabled. + - ``1`` specifies the Index Z check box state as enabled. + - ``0`` specifies the Index Z check box state as disabled. + """ + return self._eindexz + + @property + def gratio(self) -> MeasurementMechGratio: + """Return the ``MEASUrement:MECH:GRATio`` command. + + Description: + - This command sets or queries the measurement gear ratio. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:GRATio?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:GRATio?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:GRATio value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:GRATio + - MEASUrement:MECH:GRATio? + ``` + + Info: + - ```` specifies the gear ratio value for a specified measurement. The minimum and + maximum values are 0.001 to 1000. + """ + return self._gratio + + @property + def munits(self) -> MeasurementMechMunits: + """Return the ``MEASUrement:MECH:MUNits`` command. + + Description: + - This command sets or queries the global mechanical measurement results units. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:MUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:MUNits?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:MUNits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:MUNits {NM|OZINCH|FTLB|INCHLB|DEGREES|RADIANS} + - MEASUrement:MECH:MUNits? + ``` + + Info: + - ``NM`` specifies the results units of mechanical Torque measurement as NM. + - ``OZINCH`` specifies the results units of mechanical Torque measurement as OZINCH. + - ``FTLB`` specifies the results units of mechanical Torque measurement as FTLB. + - ``INCHLB`` specifies the results units of mechanical Torque measurement as INCHLB. + - ``DEGREES`` specifies the results units of mechanical Torque measurement as DEGREES. + - ``RADIANS`` specifies the results units of mechanical Torque measurement as RADIANS. + """ + return self._munits + + @property + def ppairs(self) -> MeasurementMechPpairs: + """Return the ``MEASUrement:MECH:PPAirs`` command. + + Description: + - This command sets or queries the measurement number of pole pairs. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:PPAirs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:PPAirs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:PPAirs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:PPAirs + - MEASUrement:MECH:PPAirs? + ``` + + Info: + - ```` defines the number of pole pairs for the specified measurement. The minimum + to maximum range is 1 to 20. + """ + return self._ppairs + + @property + def pprotation(self) -> MeasurementMechPprotation: + """Return the ``MEASUrement:MECH:PPRotation`` command. + + Description: + - This command sets or queries the global pulses per rotation of the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:PPRotation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:PPRotation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:PPRotation value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:PPRotation + - MEASUrement:MECH:PPRotation? + ``` + + Info: + - ```` defines the pulses per rotation of the measurement. The minimum to maximum + range is 1 to 100000. + """ + return self._pprotation + + @property + def source1(self) -> MeasurementMechSource1: + """Return the ``MEASUrement:MECH:SOUrce1`` command. + + Description: + - This command sets or queries the global mechanical source of the specified source + number. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:SOUrce1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:SOUrce1?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:SOUrce1 value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:SOUrce1 {S_Ch|CH|MATH|REF|CH_D} + - MEASUrement:MECH:SOUrce1? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source waveform. + - ``MATH`` specifies a math waveform as the source waveform. + - ``REF`` specifies an reference waveform as the source waveform . + - ``CH_D`` specifies a digital channel as the source waveform. + """ + return self._source1 + + @property + def stype(self) -> MeasurementMechStype: + """Return the ``MEASUrement:MECH:STYPe`` command. + + Description: + - This command sets or queries the measurement sensor type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH:STYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MECH:STYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MECH:STYPe {HSENSOR|QEI} + - MEASUrement:MECH:STYPe? + ``` + + Info: + - ``HSENSOR`` specifies the sensor type as HSENSOR. + - ``QEI`` specifies the sensor type as QEI. + """ + return self._stype + + +class MeasurementMeasrangeState(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEASRange:STATE`` command. + + Description: + - This command sets or queries the global range state. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEASRange:STATE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEASRange:STATE {OFF|ON|0|1} + - MEASUrement:MEASRange:STATE? + ``` + + Info: + - ``OFF`` specifies that the measurement results are not limited. + - ``ON`` specifies that the measurement results are limited to results with values between + the range minimum and maximum. + - ``0`` specifies that the measurement results are not limited. + - ``1`` specifies that the measurement results are limited to results with values between + the range minimum and maximum. + """ + + +class MeasurementMeasrangeMin(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEASRange:MIN`` command. + + Description: + - This command sets or queries the global range minimum value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange:MIN?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange:MIN?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEASRange:MIN value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEASRange:MIN + - MEASUrement:MEASRange:MIN? + ``` + + Info: + - ```` is the minimum measurement range limit value. + """ + + +class MeasurementMeasrangeMax(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEASRange:MAX`` command. + + Description: + - This command sets or queries the global range maximum value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange:MAX?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange:MAX?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEASRange:MAX value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEASRange:MAX + - MEASUrement:MEASRange:MAX? + ``` + + Info: + - ```` is the maximum measurement range limit value. + """ + + +class MeasurementMeasrange(SCPICmdRead): + """The ``MEASUrement:MEASRange`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.max``: The ``MEASUrement:MEASRange:MAX`` command. + - ``.min``: The ``MEASUrement:MEASRange:MIN`` command. + - ``.state``: The ``MEASUrement:MEASRange:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._max = MeasurementMeasrangeMax(device, f"{self._cmd_syntax}:MAX") + self._min = MeasurementMeasrangeMin(device, f"{self._cmd_syntax}:MIN") + self._state = MeasurementMeasrangeState(device, f"{self._cmd_syntax}:STATE") + + @property + def max(self) -> MeasurementMeasrangeMax: + """Return the ``MEASUrement:MEASRange:MAX`` command. + + Description: + - This command sets or queries the global range maximum value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange:MAX?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange:MAX?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEASRange:MAX value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEASRange:MAX + - MEASUrement:MEASRange:MAX? + ``` + + Info: + - ```` is the maximum measurement range limit value. + """ + return self._max + + @property + def min(self) -> MeasurementMeasrangeMin: + """Return the ``MEASUrement:MEASRange:MIN`` command. + + Description: + - This command sets or queries the global range minimum value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange:MIN?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange:MIN?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEASRange:MIN value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEASRange:MIN + - MEASUrement:MEASRange:MIN? + ``` + + Info: + - ```` is the minimum measurement range limit value. + """ + return self._min + + @property + def state(self) -> MeasurementMeasrangeState: + """Return the ``MEASUrement:MEASRange:STATE`` command. + + Description: + - This command sets or queries the global range state. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEASRange:STATE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEASRange:STATE {OFF|ON|0|1} + - MEASUrement:MEASRange:STATE? + ``` + + Info: + - ``OFF`` specifies that the measurement results are not limited. + - ``ON`` specifies that the measurement results are limited to results with values + between the range minimum and maximum. + - ``0`` specifies that the measurement results are not limited. + - ``1`` specifies that the measurement results are limited to results with values + between the range minimum and maximum. + """ + return self._state + + +class MeasurementMeasItemYunit(SCPICmdRead): + """The ``MEASUrement:MEAS:YUNIT`` command. + + Description: + - Returns the vertical scale units of the specified measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:YUNIT?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:YUNIT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:YUNIT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + + +class MeasurementMeasItemXunit(SCPICmdRead): + """The ``MEASUrement:MEAS:XUNIT`` command. + + Description: + - Returns the horizontal scale units of the specified measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:XUNIT?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:XUNIT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:XUNIT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + + +class MeasurementMeasItemWindowlength(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WINDOWLENgth`` command. + + Description: + - This command sets or queries the window length for the measurement. The measurement number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WINDOWLENgth?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WINDOWLENgth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WINDOWLENgth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:WINDOWLENgth + - MEASUrement:MEAS:WINDOWLENgth? + ``` + + Info: + - ```` is the value for the window length. + """ + + +class MeasurementMeasItemWaittime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:WAITTime`` command. + + Description: + - Sets or queries the wait time. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WAITTime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WAITTime?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:WAITTime value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:WAITTime + - MEASUrement:MEAS:WAITTime? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the wait time, in the range of 1 s to 500 s. + """ + + +class MeasurementMeasItemType(SCPICmdWrite, SCPICmdRead): + r"""The ``MEASUrement:MEAS:TYPe`` command. + + Description: + - This command sets or queries the measurement type for the measurement specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TYPe {ACCOMMONMODE|ACRMS|AMPlITUDE|AREA|BASE|BITAMPLITUDE|BITHIGH|BITLOW|BURSTWIDTH|COMMONMODE|DATARATE|DCD|DDJ|DDRAOS|DDRAOSPERTCK|DDRAOSPERUI|DDRAUS|DDRAUSPERTCK|DDRAUSPERUI|DDRHOLDDIFF|DDRSETUPDIFF|DDRTCHABS|DDRTCHAVERAGE|DDRTCKAVERAGE|DDRTCLABS|DDRTCLAVERAGE|DDRTERRMN|DDRTERRN|DDRTJITCC|DDRTJITDUTY|DDRTJITPER|DDRTPST|DDRTRPRE|DDRTWPRE|DDRVIXAC|DDRTDQSCK|DELAY|DJ|DJDIRAC|DPMOVERSHOOT|DPMUNDERSHOOT|DPMRIPPLE|DPMTURNOFFTIME|DPMTURNONTIME|EYEHIGH|EYELOW|FALLSLEWRATE|FALLTIME|FREQUENCY|F2|F4|F8|HIGH|HEIGHT|HEIGHTBER|HIGHTIME|HOLD|IMDAPOWERQUALITY|IMDAHARMONICS|IMDAINPUTVOLTAGE|IMDAINPUTCURRENT|IMDAINPUTPOWER|IMDAPHASORDIAGRAM|IMDAEFFICIENCY|IMDALINERIPPLE|IMDASWITCHRIPPLE|IMDADQ0|JITTERSUMMARY|J2|J9|LOW|LOWTIME|MAXIMUM|MEAN|MINIMUM|NDUtY|NPERIOD|NPJ|NOVERSHOOT|NWIDTH|PDUTTY|PERIOD|PHASE|PHASENOISE|PJ|PK2Pk|POVERSHOOT|PWIDTH|QFACTOR|RISESLEWRATE|RISETIME|RJ|RJDIRAC|RMS|SRJ|SSCFREQDEV|SSCMODRATE|SETUP|SKEW|TIE|TIMEOUTSIDELEVEL|TJBER|TNTRATIO|TOP|UNITINTERVAL|VDIFFXOVR|WIDTH|WIDTHBER} + - MEASUrement:MEAS:TYPe? + ``` + + Info: + - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage of + two sources. This measurement is made across the entire record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``ACRMS`` (AC RMS) is the true Root Mean Square of the data points, about the Mean. This + measurement can be made across the entire record, or on each cycle in the record. + - ``AMPLITUDE`` is the difference between the Top value and the Base value. This measurement + can be made across the entire record, or on each cycle in the record. + - ``Amplitude = High - Low`` + - ``AREA`` is the area under the curve, calculated by integrating the data points. The area + measured above ground is positive. The area measured below ground is negative. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BASE`` is the most common data value below the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BITAMPLITUDE`` (Bit Amplitude) is the difference between the amplitudes of the 1 bit and + the 0 bit surrounding a transition. The amplitude is measured over a user specified + portion at the center of the recovered unit interval. This measurement is made on each + transition bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITHIGH`` (Bit High) is the amplitude of a 1 bit. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is made + on each high bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITLOW`` (Bit Low) is the amplitude of a 0 bit. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is made + on each high bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BURSTWIDTH`` (Burst Width) is the duration of a series of adjacent crossings of the Mid + reference level (RM). Bursts are separated by a user-defined idle time (tI). This + measurement is made on each burst in the record. + - ``COMMONMODE`` (DC Common Mode) is the arithmetic mean of the common mode voltage of two + sources. This measurement is made across the entire record. This measurement requires the + DJA option and is not available on a 4 Series MSO instrument. + - ``DATARATE`` (Data Rate) is the reciprocal of Unit Interval. This measurement is made on + each bit in the record. + - ``DCD`` (duty cycle distortion) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the signal polarity. This measurement is made across + the entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``DDJ`` (data dependent jitter) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the data pattern in the waveform. This measurement is + made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``DDRAOS`` (area above signal) is the total area of the signal above a specified reference + level. This measurement is made across the entire record. + - ``DDRAOSPERTCK`` (area over signal for tCK events) is the total area of the signal above a + specified reference level calculated over consecutive tCK intervals. It is applicable to + clock and address/command waveforms. + - ``DDRAOSPERUI`` (area over signal for UI events) is the total area of the signal above a + specified reference level calculated over consecutive unit intervals. It is applicable to + data and data strobe waveforms. + - ``DDRAUS`` (area under signal) is the total area of the signal below a specified reference + level. This measurement is made across the entire record. + - ``DDRAUSPERTCK`` (area under signal for tCK events) is the total area of the signal below + a specified reference level calculated over consecutive tCK intervals. It is applicable to + clock and address/command waveforms. + - ``DDRAUSPERUI`` (area under signal for UI events) is the total area of the signal below a + specified reference level calculated over consecutive unit intervals. It is applicable to + data and data strobe waveforms. + - ``DDRHOLDDIFF`` (hold difference) is the elapsed time between the specified edge of a + single-ended clock waveform and the specified edge of a differential data waveform. The + measurement uses the closest respective waveform edges that fall within the range + limits.This measurement is made across the entire record. + - ``DDRSETUPDIFF`` (setup difference) is the elapsed time between the specified edge of a + single-ended clock waveform and when the specified edge of a differential data waveform + crosses a specified level. The measurement uses the closest respective waveform edges that + fall within the range limits. This measurement is made across the entire record. + - ``DDRTCHABS`` (absolute high pulse width) is the absolute value of the high pulse width as + measured from one rising edge to the next falling edge. + - ``DDRTCHAVERAGE`` (average high pulse width) is the average value of the high pulse width + as measured from one rising edge to the next falling edge, across 200 consecutive + cycles.This measurement is made across the entire record. + - ``DDRTCKAVERAGE`` (average clock period) is the average clock period calculated from + rising edge to rising edge, across 200 consecutive cycles.This measurement is made across + the entire record. + - ``DDRTCLABS`` (absolute low pulse width) is the absolute value of the low pulse width as + measured from a falling edge to the next rising edge. This measurement is made across the + entire record. + - ``DDRTCLAVERAGE`` (average low pulse width) is the average value of the low pulse width as + measured from one falling edge to the next rising edge, across 200 consecutive cycles. + - ``DDRTERRMN`` (cumulative error) is the cumulative error across multiple consecutive + defined cycles from tCK(avg). + - ``DDRTERRN`` (cumulative error) is the cumulative error across specified consecutive + cycles from tCK(avg). In other words, this measures the time difference between the sum of + the clock period from a 200 cycle window and n times tCK(avg). + - ``DDRTJITCC`` (cycle to cycle jitter period) is the absolute difference in clock period + between two consecutive clock cycles. This measurement is made across the entire record. + - ``DDRTJITDUTY`` (half period jitter) is the largest elapsed time between tCH and tCH(avg), + and tCL and tCL(avg), over 200 consecutive cycles. + - ``DDRTJITPER`` (clock period jitter) is the largest deviation of any tCK signal from + tCK(avg). This measurement is made across the entire record. + - ``DDRTPST`` (read/write burst postamble) is the width of the Read or Write burst + postamble, measured from the last falling edge of the mid reference level to the start of + an undriven state. This measurement is made across the entire record. + - ``DDRTRPRE`` (read burst preamble) is the width of the Read burst preamble, measured from + exiting tristate levels to the first driving edge of the differential strobe. This + measurement is made across the entire record. + - ``DDRTWPRE`` is the width of the Write burst preamble, measured from exiting tristate + levels to the first driving edge of the differential strobe. This measurement is made + across the entire record. + - ``DDRVIXAC`` is the differential input cross-point voltage measured from the true state + transition (and it's compliment) to a specified reference level, measured on a + single-ended signal. + - ``DDRTDQSCK`` is the strobe output access time, measured between the rising edge of the + clock and before or after the differential strobe Read preamble time. Signal edges are + determined by the mid-ref threshold level settings. + - ``DELay`` is the time between the specified Mid reference level (RM) crossing on one + source to a specified Mid reference level (RM) crossing on a second source. This + measurement is made on the first occurrence in the record. + - ``DJ`` (deterministic jitter) is the peak-to-peak amplitude of all timing errors that + exhibit deterministic behavior. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``DJDIRAC`` (dual-dirac deterministic jitter) is deterministic jitter based on a + simplifying assumption that the histogram of all deterministic jitter can be modeled as a + pair of equal-magnitude Dirac functions. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``DPMOVERSHOOT`` is the difference between Maximum and Top, divided by the amplitude. This + measurement can be made across the entire record or on each cycle in the record at the + specified reference voltage. + - ``DPMUNDERSHOOT`` is the difference between Minimum and Base, divided by the amplitude. + This measurement can be made across the entire record or on each cycle in the record at + the specified reference voltage. + - ``DPMRIPPLE`` is the RMS and peak-to-peak values of the output signal on the DC Rail. + - ``DPMTURNOFFTIME`` is the time delay between load current going low to other rail outputs + going low during power down. + - ``DPMTURNONTIME`` is the time delay between load current going high to other rail outputs + going high during power on. + - ``EYEHIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit in + the record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``EYELOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each low bit in + the record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``FALLSLEWRATE`` (Falling Slew Rate) is the rate of change in voltage as an edge + transitions from the Top reference level (RT) to the Bottom reference level (RB). This + measurement is made on each cycle in the record. + - ``FALLTIME`` (Fall Time) is the time required for an edge to fall from the Top reference + level (RT) to the Base reference level (RB). This measurement is made on each cycle in the + record. + - ``FREQuency`` is the reciprocal of Period. This measurement is made on each cycle in the + record. + - ``F2`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 2. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F4`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 4. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F8`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 8. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit in + the record. + - ``HEIGHT`` (Eye Height) is the minimum vertical eye opening at the center of the recovered + unit interval. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HEIGHTBER`` (Eye Height@BER) is the predicted vertical eye opening that will be violated + with a probability equal to the bit error rate. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``HIGHTIME`` (High Time) is the time the signal remains above the Top reference level + (RT). This measurement is made on each cycle in the record. + - ``HOLD`` (Hold Time) is the time between the specified Mid reference level crossing (RM) + on the Clock source to the closest specified Mid reference level (RM) crossing on the Data + source. This measurement is made on each specified Clock edge in the record. + - ``IMDAPOWERQUALITY`` (Power Quality) measures the Frequency and RMS values of the voltage + and current, Crest Factors of the voltage and current, True Power (PTRUE), Reactive Power + (PRE), Apparent Power (PAPP), Power Factor, and Phase Angle (θ) of the AC signal. + - ``IMDAHARMONICS`` (Harmonics) plots the signal amplitude at the fundamental line frequency + and its harmonics and measures the RMS amplitude and Total Harmonic Distortion of the + signal. + - ``IMDAINPUTVOLTAGE`` (Input Voltage) measures the RMS value of the Input Voltages. The + number of voltages can vary with wiring configuration. + - ``IMDAINPUTCURRENT`` (Input Current) measures the RMS value of the Input Currents. The + number of currents can vary with wiring configuration. + - ``IMDAINPUTPOWER`` (Input Power) measures the RMS value of the Input Power. The power + waveforms are shown as derived MATH waveforms, which are respective pairs of Input Voltage + \\* Current waveforms. + - ``IMDAPHASORDIAGRAM`` (Phasor Diagram) represents magnitudes and phase angles between + voltage(s) and current(s) per winding pair. + - ``IMDAEFFICIENCY`` (Efficiency) measures the ratio of sum of output power(s) to input + power for respective input and output Voltage and Current pairs. Note: the current release + cannot support 3V and 3I pairs, since this requires 12 channels. We restrict to 2V and 2I + which needs 8 scope channels. + - ``IMDALINERIPPLE`` (Line Ripple) provides the RMS and peak-to-peak measurements of the + line frequency portion of the respective AC Voltage or Current signals. + - ``IMDASWITCHINGRIPPLE`` (Switching Ripple) provides the RMS and peak-to-peak measurements + of the respective Voltage or Current signals. + - ``IMDADQ0`` measures the DQ0 values of the phasor plot. This measurement requires options + IMDA and IMDA-DQ0. + - ``JITTERSUMMARY`` (Jitter Summary) is a group consisting of the following measurements: + TIE, TJ@BER, Eye Width@BER, Eye Height@BER, RJ-δδ, DJ-δδ, PJ, DDJ, DcD, F/2, F/4, F/8. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``J2`` is the total jitter at a bit error rate of 2.5e-3 (TJ@2.5e-3). This measurement is + made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``J9`` is the total jitter at a bit error rate of 2.5e-10 (TJ@2.5e-10). This measurement + is made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``LOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified location + within the recovered unit interval. This measurement is made on each low bit in the + record. + - ``LOWTIME`` (Low Time) is the time the signal remains below the Base reference level (RB). + This measurement is made on each cycle in the record. + - ``MAXimum`` is the maximum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``MEAN`` is the arithmetic mean of the data points. This measurement can be made across + the entire record, or on each cycle in the record. + - ``MINImum`` is the minimum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``NDUty`` (Negative Duty Cycle) is the ratio of the Negative Pulse Width to the Period. + This measurement is made on each cycle in the record. + - ``Negative Duty Cycle = (Negative Width) / Period × 100%`` + - ``NPERIOD`` (Duration N-Periods) is the time required to complete N cycles. A cycle is the + time between two adjacent (same direction) crossings of the Mid reference level (RM). This + measurement is made on each cycle in the record. + - ``NPJ`` (non-periodic jitter) is the portion of the BUJ (bounded uncorrelated jitter) that + is random. BUJ excludes DDJ, DCD and RJ. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``NOVershoot`` (Negative Overshoot) is the difference between Minimum and Base, divided by + the Amplitude. This measurement can be made across the entire record, or on each cycle in + the record. + - ``Negative Overshoot = (Base - Minimum) / Amplitude × 100%)`` + - ``NWIdth`` (Negative Pulse Width) is the time the signal remains below the Mid reference + level (RM). This measurement is made on each cycle in the record. + - ``PDUTY`` (Positive Duty Cycle) is the ratio of the Positive Pulse Width to the Period. + This measurement is made on each cycle in the record. + - ``Positive Duty Cycle = (Positive Width)/Period × 100%`` + - ``PERIOD`` is the time required to complete a cycle. A cycle is the time between two + adjacent (same direction) crossings of the Mid reference level (RM). This measurement is + made on each cycle in the record. + - ``PHASE`` is the ratio of the Skew between two sources to the Period of the first source. + This measurement is made on each cycle in the record. + - ``PHASENOISE`` (Phase Noise) is the RMS magnitude of all integrated jitter falling within + a user specified offset range of the fundamental clock frequency. This measurement is made + across the entire record. This measurement is not available on a 4 Series MSO instrument. + - ``PJ`` (periodic jitter) is the peak-to-peak amplitude of the uncorrelated sinusoidal + components of the deterministic jitter. This measurement is made across the entire record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``PK2Pk`` (Peak-to-peak) is the difference between Maximum and Minimum. This measurement + can be made across the entire record, or on each cycle in the record. + - ``POVERSHOOT`` (Positive Overshoot) is the difference between Maximum and Top, divided by + the Amplitude. This measurement can be made across the entire record, or on each cycle in + the record. + - ``Positive Overshoot = (Maximum - Top) / Amplitude ×100%`` + - ``PWIDTH`` (Positive Pulse Width) is the time the signal remains above the Mid reference + level (RM). This measurement is made on each cycle in the record. + - ``QFACTOR`` (Q-Factor) is the ratio of the vertical eye opening to RMS vertical noise + measured at a user specified location within the recovered unit interval. This measurement + is made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``RISESLEWRATE`` (Rising Slew Rate) is the rate of change in voltage as an edge + transitions from the Base reference level (RB) to the Top reference level (RT). This + measurement is made on each cycle in the record. + - ``RISETIME`` Rise Time is the time required for an edge to rise from the Base reference + level (RB) to the Top reference level (RT). This measurement is made on each cycle in the + record. + - ``RJ`` (random jitter) is the RMS magnitude of all random timing errors following a + Gaussian distribution. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``RJDIRAC`` (dual-dirac random jitter) is random jitter based on a simplifying assumption + that the histogram of all deterministic jitter can be modeled as a pair of equal-magnitude + Dirac functions. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``RMS`` is the true Root Mean Square of the data points. This measurement can be made + across the entire record, or on each cycle in the record. + - ``SRJ`` (sub-rate jitter) is the composite jitter due to periodic components at 1/2, 1/4 + and 1/8 of the data rate. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCFREQDEV`` (SSC Frequency Deviation) is the spread spectrum clock frequency deviation. + This measurement enables a time trend plot of the spread spectrum clock modulation + profile. This measurement is made on each cycle in the record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCMODRATE`` (SSC Modulation Rate) is the modulating frequency of a spread spectrum + clock. This measurement is made on each cycle in the record. This measurement requires the + DJA option and is not available on a 4 Series MSO instrument. + - ``SETUP`` (Setup Time) is the time between the specified Mid reference level (RM) crossing + on the Data source to the closest specified Mid reference level (RM) crossing on the Clock + source. This measurement is made on each specified Clock edge in the record. + - ``SKEW`` Skew is the time between the specified Mid reference level (RM) crossing on one + source to the following specified Mid reference level (RM) crossing on a second source. + This measurement is made on each cycle in the record. + - ``TIE`` (time interval error) is the difference, in time, between an edge in the source + waveform and the corresponding edge in a recovered reference clock. This measurement is + made on each edge in the waveform. This measurement is not available on a 4 Series MSO + instrument. + - ``TIMEOUTSIDELEVEL`` Time Outside Level is the time the signal remains above the Top + reference level (RT) and/or below the Base reference level (RB). This measurement is made + on each occurrence in the record. + - ``TJBER`` (total jitter at a specified bit error rate) is the predicted peak-to-peak + amplitude of jitter that will only be exceeded with a probability equal to the bit error + rate. This measurement is made across the entire record. This measurement requires the DJA + option and is not available on a 4 Series MSO instrument. + - ``TNTRATIO`` T/nT Ratio is the ratio of a non-transition bit voltage (2nd and subsequent + bit voltage after a transition) to its nearest preceding transition bit voltage (1st bit + voltage after the transition). Bit voltages are measured at the interpolated midpoint of + the recovered unit interval. This measurement is made on each non-transition bit in the + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``TOP`` is the most common data value above the midpoint of the waveform. This measurement + can be made across the entire record, or on each cycle in the record. + - ``UNITINTERVAL`` (Unit Interval) is the time difference between two successive bits. This + measurement is made on each bit in the record. + - ``VDIFFXOVR`` (Differential Crossover) is the voltage level of a differential signal pair + at the crossover points. This measurement is made at each crossover point in the record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``WIDTH`` (Eye Width) is the minimum horizontal eye opening at the user specified + reference level. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``WIDTHBER`` (Eye Width@BER) is the predicted horizontal eye opening that will be violated + with a probability equal to the bit error rate. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + """ # noqa: E501 + + +class MeasurementMeasItemTransition(SCPICmdWrite): + """The ``MEASUrement:MEAS:TRANSition`` command. + + Description: + - This command sets or queries the transition edges flag for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TRANSition value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TRANSition {ON|OFF|} + ``` + + Info: + - ```` = 1, the measurement is computed on rising (if measurement type is rise time) or + falling edges (if measurement type is fall time) following a double transition only. If it + is set to 0, the measurement is computed on all rising (if measurement type is rise time) + or falling (if measurement type is fall time) edges. + - ``OFF`` computes the measurement on all rising (if measurement type is rise time) or + falling (if measurement type is fall time) edges. + - ``ON`` computes the measurement on rising (if measurement type is rise time) or falling + edges (if measurement type is fall time) following a double transition only. + """ + + +class MeasurementMeasItemTosymbolMeasureat(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + + Description: + - This command sets or queries the DDR digital measurement ToSymbol MeasureAT value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``Start`` sets the ToSymbol MeasureAT to Start. + - ``Stop`` sets the ToSymbol MeasureAT to Stop. + - ``ClockEdge`` sets the sets the ToSymbol MeasureAT to ClockEdge. + """ + + +class MeasurementMeasItemTosymbolLogic5source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 4 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 4 To Symbol to H (High). + - ``L`` sets the logic source 4 To Symbol to L (Low). + - ``X`` sets the logic source 4 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbolLogic4source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 3 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 3 To Symbol to H (High). + - ``L`` sets the logic source 3 To Symbol to L (Low). + - ``X`` sets the logic source 3 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbolLogic3source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 2 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 2 To Symbol to H (High). + - ``L`` sets the logic source 2 To Symbol to L (Low). + - ``X`` sets the logic source 2 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbolLogic2source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 1 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 1 To Symbol to H (High). + - ``L`` sets the logic source 1 To Symbol to L (Low). + - ``X`` sets the logic source 1 To Symbol to X (Don't care). + """ + + +class MeasurementMeasItemTosymbol(SCPICmdRead): + """The ``MEASUrement:MEAS:TOSYmbol`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.logic2source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + - ``.logic3source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + - ``.logic4source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + - ``.logic5source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + - ``.measureat``: The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logic2source = MeasurementMeasItemTosymbolLogic2source( + device, f"{self._cmd_syntax}:LOGIC2SOUrce" + ) + self._logic3source = MeasurementMeasItemTosymbolLogic3source( + device, f"{self._cmd_syntax}:LOGIC3SOUrce" + ) + self._logic4source = MeasurementMeasItemTosymbolLogic4source( + device, f"{self._cmd_syntax}:LOGIC4SOUrce" + ) + self._logic5source = MeasurementMeasItemTosymbolLogic5source( + device, f"{self._cmd_syntax}:LOGIC5SOUrce" + ) + self._measureat = MeasurementMeasItemTosymbolMeasureat( + device, f"{self._cmd_syntax}:MEASUREAT" + ) + + @property + def logic2source(self) -> MeasurementMeasItemTosymbolLogic2source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 1 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 1 To Symbol to H (High). + - ``L`` sets the logic source 1 To Symbol to L (Low). + - ``X`` sets the logic source 1 To Symbol to X (Don't care). + """ + return self._logic2source + + @property + def logic3source(self) -> MeasurementMeasItemTosymbolLogic3source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 2 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 2 To Symbol to H (High). + - ``L`` sets the logic source 2 To Symbol to L (Low). + - ``X`` sets the logic source 2 To Symbol to X (Don't care). + """ + return self._logic3source + + @property + def logic4source(self) -> MeasurementMeasItemTosymbolLogic4source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 3 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 3 To Symbol to H (High). + - ``L`` sets the logic source 3 To Symbol to L (Low). + - ``X`` sets the logic source 3 To Symbol to X (Don't care). + """ + return self._logic4source + + @property + def logic5source(self) -> MeasurementMeasItemTosymbolLogic5source: + """Return the ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 4 source To Symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 4 To Symbol to H (High). + - ``L`` sets the logic source 4 To Symbol to L (Low). + - ``X`` sets the logic source 4 To Symbol to X (Don't care). + """ + return self._logic5source + + @property + def measureat(self) -> MeasurementMeasItemTosymbolMeasureat: + """Return the ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + + Description: + - This command sets or queries the DDR digital measurement ToSymbol MeasureAT value. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOSYmbol:MEASUREAT value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOSYmbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:TOSYmbol:MEASUREAT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``Start`` sets the ToSymbol MeasureAT to Start. + - ``Stop`` sets the ToSymbol MeasureAT to Stop. + - ``ClockEdge`` sets the sets the ToSymbol MeasureAT to ClockEdge. + """ + return self._measureat + + +class MeasurementMeasItemToedge(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOEdge`` command. + + Description: + - This command sets or queries the 'to edge' type for the measurement. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEdge?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOEdge?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TOEdge value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOEdge {SAMEas|OPPositeas|RISe|FALL|BOTH} + - MEASUrement:MEAS:TOEdge? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + - ``SAMEas`` specifies that both edges of the waveform are the same. + - ``OPPositeas`` specifies that the edges of the waveform are not the same. + """ + + +class MeasurementMeasItemToedgesearchdirect(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. + + Description: + - This command sets or queries the to edge search direction for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:TOEDGESEARCHDIRect? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FORWard`` specifies a forward search to the edge. + - ``BACKWard`` specifies a backward search to the edge. + """ + + +class MeasurementMeasItemTmethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TMEThod`` command. + + Description: + - This command sets or queries the measurement torque method. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TMEThod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TMEThod?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TMEThod value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TMEThod {SENSOR|CURRENT} + - MEASUrement:MEAS:TMEThod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SENSOR`` specifies the Torque Method as SENSOR. + - ``CURRENT`` specifies the Torque Method as CURRENT. + """ + + +class MeasurementMeasItemTimingmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TIMINGMode`` command. + + Description: + - This command sets or queries the Timing mode for the specified DDR measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TIMINGMode {EACHCLOCKCYCLE|TWOCLOCKCYCLES} + - MEASUrement:MEAS:TIMINGMode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``EACHCLOCKCYCLE`` sets the DDR Timing Mode to use each clock cycle at a time. + - ``TWOCLOCKCYCLES`` sets the DDR Timing Mode to use two cycles at a time. + """ + + +class MeasurementMeasItemTconstant(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TCONstant`` command. + + Description: + - This command sets or queries the measurement Torque Constant. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCONstant?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCONstant?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCONstant value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TCONstant + - MEASUrement:MEAS:TCONstant? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NR1`` specifies the current multiplier value of the measurement in the range of 0 to + 100. + """ + + +class MeasurementMeasItemTckavg(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:TCKAVG`` command. + + Description: + - This command sets or queries the average clock period value used in DDR measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCKAVG value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TCKAVG + - MEASUrement:MEAS:TCKAVG? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NR3`` is a floating point number that represents the DDR average clock period in + seconds. + """ + + +class MeasurementMeasItemSunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SUNits`` command. + + Description: + - This command sets or queries the speed units for the specific measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SUNits?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SUNits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SUNits {RPM|HZ} + - MEASUrement:MEAS:SUNits? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RPM`` defines the speed measurement units as RPM. + - ``HZ`` defines the speed measurement units as HZ. + """ + + +class MeasurementMeasItemStype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:STYPe`` command. + + Description: + - This command sets or queries the source type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STYPe {VOLTage|CURRent} + - MEASUrement:MEAS:STYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``VOLTage`` sets source type as Voltage. + - ``CURRent`` sets source type as Current. + """ + + +class MeasurementMeasItemStltype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:STLTYpe`` command. + + Description: + - This command sets or returns the stop level source type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STLTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STLTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STLTYpe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STLTYpe {VDS|ID|VGE|VCE|IC} + - MEASUrement:MEAS:STLTYpe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``VDS`` specifies the stop level source type as VDS. + - ``ID`` specifies the stop level source type as ID. + - ``VGE`` specifies the stop level source type as VGE. + - ``VCE`` specifies the stop level source type as VCE. + - ``IC`` specifies the stop level source type as IC. + """ + + +class MeasurementMeasItemStlpct(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:STLPct`` command. + + Description: + - This command sets or returns the value for the stop level in percentage. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STLPct?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STLPct?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STLPct value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STLPct + - MEASUrement:MEAS:STLPct? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the stop level in percentage. + """ + + +class MeasurementMeasItemStlabs(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:STLABs`` command. + + Description: + - This command sets or returns the value for the stop level in absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STLABs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STLABs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STLABs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STLABs + - MEASUrement:MEAS:STLABs? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the stop level in absolute. + """ + + +class MeasurementMeasItemStatus(SCPICmdRead): + """The ``MEASUrement:MEAS:STATUS`` command. + + Description: + - This command returns the pass fail status, if applicable, for the selected measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STATUS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STATUS? + ``` + + Info: + - ``PASS`` specifies that the user specified measurement limit has not been violated. + - ``FAIL`` specifies that the user specified measurement limit has been violated. + """ + + +class MeasurementMeasItemSscNominalfreqSelectiontype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype`` command. + + Description: + - This command sets or queries the frequency detection type for the measurement when the + measurement type is SSC. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype {AUTO|MANual} + - MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically sets the detection type. + - ``MANual`` specifies the manual detection type. + """ + + +class MeasurementMeasItemSscNominalfreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SSC:NOMinalfreq`` command. + + Description: + - This command sets or queries the user-defined frequency for the measurement when the + measurement type is SSC. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SSC:NOMinalfreq?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SSC:NOMinalfreq?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SSC:NOMinalfreq + - MEASUrement:MEAS:SSC:NOMinalfreq? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the user-defined nominal frequency type for SSC configurations. + + Properties: + - ``.selectiontype``: The ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._selectiontype = MeasurementMeasItemSscNominalfreqSelectiontype( + device, f"{self._cmd_syntax}:SELECTIONtype" + ) + + @property + def selectiontype(self) -> MeasurementMeasItemSscNominalfreqSelectiontype: + """Return the ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype`` command. + + Description: + - This command sets or queries the frequency detection type for the measurement when the + measurement type is SSC. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype {AUTO|MANual} + - MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically sets the detection type. + - ``MANual`` specifies the manual detection type. + """ + return self._selectiontype + + +class MeasurementMeasItemSsc(SCPICmdRead): + """The ``MEASUrement:MEAS:SSC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SSC?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SSC?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.nominalfreq``: The ``MEASUrement:MEAS:SSC:NOMinalfreq`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._nominalfreq = MeasurementMeasItemSscNominalfreq( + device, f"{self._cmd_syntax}:NOMinalfreq" + ) + + @property + def nominalfreq(self) -> MeasurementMeasItemSscNominalfreq: + """Return the ``MEASUrement:MEAS:SSC:NOMinalfreq`` command. + + Description: + - This command sets or queries the user-defined frequency for the measurement when the + measurement type is SSC. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SSC:NOMinalfreq?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SSC:NOMinalfreq value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SSC:NOMinalfreq + - MEASUrement:MEAS:SSC:NOMinalfreq? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the user-defined nominal frequency type for SSC configurations. + + Sub-properties: + - ``.selectiontype``: The ``MEASUrement:MEAS:SSC:NOMinalfreq:SELECTIONtype`` command. + """ + return self._nominalfreq + + +class MeasurementMeasItemSource1(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SOUrce1`` command. + + Description: + - This command sets or queries the measurement source. The measurement number and source are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SOUrce1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SOUrce1?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SOUrce1 value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SOUrce1 {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:SOUrce1? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` specifies the source number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementMeasItemSource(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SOURCE`` command. + + Description: + - This command sets or queries local input source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SOURCE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SOURCE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:SOURCE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementMeasItemSmoothingfilter(SCPICmdWrite): + """The ``MEASUrement:MEAS:SMOOTHINGFILTER`` command. + + Description: + - This command sets or queries the status of smoothing filter. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SMOOTHINGFILTER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SMOOTHINGFILTER + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` sets the value to 1 or 0. 1 enables smoothing filter and 0 disables it. + """ + + +class MeasurementMeasItemSltype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SLTYpe`` command. + + Description: + - This command sets or returns the start level source type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SLTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SLTYpe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SLTYpe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SLTYpe {VDS|ID|VGE|VCE|IC} + - MEASUrement:MEAS:SLTYpe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``VDS`` specifies the start level source type as VDS. + - ``ID`` specifies the start level source type as ID. + - ``VGE`` specifies the start level source type as VGE. + - ``VCE`` specifies the start level source type as VCE. + - ``IC`` specifies the start level source type as IC. + """ + + +class MeasurementMeasItemSlpct(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SLPCt`` command. + + Description: + - This command sets or returns the value for the start level in percentage. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SLPCt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SLPCt?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SLPCt value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SLPCt + - MEASUrement:MEAS:SLPCt? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the start level in percentage. + """ + + +class MeasurementMeasItemSlabs(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SLABs`` command. + + Description: + - This command sets or returns the value for the start level in absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SLABs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SLABs?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SLABs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SLABs + - MEASUrement:MEAS:SLABs? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the start level in absolute. + """ + + +class MeasurementMeasItemSignaltype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SIGNALType`` command. + + Description: + - This command sets or queries the signal type of source 1 for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SIGNALType?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SIGNALType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SIGNALType value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SIGNALType {CLOCK|DATA|AUTO} + - MEASUrement:MEAS:SIGNALType? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``CLOCK`` specifies a clock signal type. + - ``DATA`` specifies a data signal type. + - ``AUTO`` automatically selects the signal type. + """ + + +class MeasurementMeasItemSignalfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SIGNALFREQUEncy`` command. + + Description: + - This command sets or queries line frequency for Harmonics and Ripple line frequency. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SIGNALFREQUEncy?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SIGNALFREQUEncy?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SIGNALFREQUEncy value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SIGNALFREQUEncy {AUTO|FIFTYHZ|SIXTYHZ|FOURHUNDREDHZ|CUSTOM} + - MEASUrement:MEAS:SIGNALFREQUEncy? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` specifies the line frequency as auto. Only available for Harmonics line + frequency. + - ``FIFTYHZ`` specifies the line frequency as 50 Hz. + - ``SIXTYHZ`` specifies the line frequency as 60 Hz. + - ``FOURHUNDREDHZ`` specifies the line frequency as 400 Hz. . + - ``CUSTOM`` specifies the line frequency as custom. + """ + + +class MeasurementMeasItemSequence(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:SEQuence`` command. + + Description: + - This command sets or queries the sequence of hall edges. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SEQuence?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SEQuence value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SEQuence {ABC|ACB} + - MEASUrement:MEAS:SEQuence? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ABC`` specifies the motor Hall edges sequence as ABC. + - ``ACB`` specifies the motor Hall edges sequence as ACB. + """ + + +class MeasurementMeasItemRipplefreqvalItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:RIPPLEFREQVal`` command. + + Description: + - Sets or queries the ripple frequency per specified rail for Ripple measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RIPPLEFREQVal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RIPPLEFREQVal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:RIPPLEFREQVal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RIPPLEFREQVal + - MEASUrement:MEAS:RIPPLEFREQVal? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the rail number. + - ```` is the frequency, in the range of 1 Hz to 4 GHz. + """ + + +class MeasurementMeasItemResultsHistoryStddev(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory:STDDev`` command. + + Description: + - This query-only command returns the standard deviation value for the specified measurement + for each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:STDDev?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:STDDev? + ``` + """ + + +class MeasurementMeasItemResultsHistoryPopulation(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation`` command. + + Description: + - This query-only command returns the population value for the specified measurement for + each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:POPUlation? + ``` + """ + + +class MeasurementMeasItemResultsHistoryPk2pk(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK`` command. + + Description: + - This query-only command returns the peak-to-peak value for the specified measurement for + each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:PK2PK? + ``` + """ + + +class MeasurementMeasItemResultsHistoryMinimum(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory:MINimum`` command. + + Description: + - This query-only command returns the minimum value for the specified measurement for each + acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MINimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:MINimum? + ``` + """ + + +class MeasurementMeasItemResultsHistoryMean(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory:MEAN`` command. + + Description: + - This query-only command returns the mean value for the specified measurement for each + acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:HISTory:MEAN?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:MEAN? + ``` + """ + + +class MeasurementMeasItemResultsHistoryMaximum(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum`` command. + + Description: + - This query-only command returns the maximum value for the specified measurement for each + acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:MAXimum? + ``` + """ + + +class MeasurementMeasItemResultsHistory(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:HISTory`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:HISTory?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RESUlts:HISTory?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:RESUlts:HISTory:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:RESUlts:HISTory:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:RESUlts:HISTory:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasurementMeasItemResultsHistoryMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasurementMeasItemResultsHistoryMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasurementMeasItemResultsHistoryMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasurementMeasItemResultsHistoryPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = MeasurementMeasItemResultsHistoryPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemResultsHistoryStddev(device, f"{self._cmd_syntax}:STDDev") + + @property + def maximum(self) -> MeasurementMeasItemResultsHistoryMaximum: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum`` command. + + Description: + - This query-only command returns the maximum value for the specified measurement for + each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:MAXimum? + ``` + """ + return self._maximum + + @property + def mean(self) -> MeasurementMeasItemResultsHistoryMean: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory:MEAN`` command. + + Description: + - This query-only command returns the mean value for the specified measurement for each + acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:MEAN? + ``` + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemResultsHistoryMinimum: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory:MINimum`` command. + + Description: + - This query-only command returns the minimum value for the specified measurement for + each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:MINimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:MINimum? + ``` + """ + return self._minimum + + @property + def pk2pk(self) -> MeasurementMeasItemResultsHistoryPk2pk: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK`` command. + + Description: + - This query-only command returns the peak-to-peak value for the specified measurement + for each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:PK2PK? + ``` + """ + return self._pk2pk + + @property + def population(self) -> MeasurementMeasItemResultsHistoryPopulation: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation`` command. + + Description: + - This query-only command returns the population value for the specified measurement for + each acquisition in the history. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:POPUlation? + ``` + """ + return self._population + + @property + def stddev(self) -> MeasurementMeasItemResultsHistoryStddev: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory:STDDev`` command. + + Description: + - This query-only command returns the standard deviation value for the specified + measurement for each acquisition in the history. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:HISTory:STDDev? + ``` + """ + return self._stddev + + +class MeasurementMeasItemResultsCurrentacqStddev(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev`` command. + + Description: + - This query-only command returns the standard deviation for the specified measurement for + all acquisitions accumulated since statistics were last reset. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:STDDev? + ``` + """ + + +class MeasurementMeasItemResultsCurrentacqPopulation(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation`` command. + + Description: + - This query-only command returns the population for the specified measurement for the + current acquisition. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation? + ``` + """ + + +class MeasurementMeasItemResultsCurrentacqPk2pk(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK`` command. + + Description: + - This query-only command returns the peak-to-peak value for the specified measurement for + the current acquisition. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK? + ``` + """ + + +class MeasurementMeasItemResultsCurrentacqMinimum(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum`` command. + + Description: + - This query-only command returns the minimum value found for the specified measurement + since the last statistical reset. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:MINimum? + ``` + """ + + +class MeasurementMeasItemResultsCurrentacqMean(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN`` command. + + Description: + - This query-only command returns the mean value for the measurement for the current + acquisition. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:MEAN? + ``` + """ + + +class MeasurementMeasItemResultsCurrentacqMaximum(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum`` command. + + Description: + - This query-only command returns the maximum value found for the specified measurement + since the last statistical reset. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum? + ``` + """ + + +class MeasurementMeasItemResultsCurrentacq(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:CURRentacq?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasurementMeasItemResultsCurrentacqMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasurementMeasItemResultsCurrentacqMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasurementMeasItemResultsCurrentacqMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasurementMeasItemResultsCurrentacqPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = MeasurementMeasItemResultsCurrentacqPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemResultsCurrentacqStddev( + device, f"{self._cmd_syntax}:STDDev" + ) + + @property + def maximum(self) -> MeasurementMeasItemResultsCurrentacqMaximum: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum`` command. + + Description: + - This query-only command returns the maximum value found for the specified measurement + since the last statistical reset. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum? + ``` + """ + return self._maximum + + @property + def mean(self) -> MeasurementMeasItemResultsCurrentacqMean: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN`` command. + + Description: + - This query-only command returns the mean value for the measurement for the current + acquisition. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:MEAN? + ``` + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemResultsCurrentacqMinimum: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum`` command. + + Description: + - This query-only command returns the minimum value found for the specified measurement + since the last statistical reset. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:MINimum? + ``` + """ + return self._minimum + + @property + def pk2pk(self) -> MeasurementMeasItemResultsCurrentacqPk2pk: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK`` command. + + Description: + - This query-only command returns the peak-to-peak value for the specified measurement + for the current acquisition. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK? + ``` + """ + return self._pk2pk + + @property + def population(self) -> MeasurementMeasItemResultsCurrentacqPopulation: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation`` command. + + Description: + - This query-only command returns the population for the specified measurement for the + current acquisition. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation? + ``` + """ + return self._population + + @property + def stddev(self) -> MeasurementMeasItemResultsCurrentacqStddev: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev`` command. + + Description: + - This query-only command returns the standard deviation for the specified measurement + for all acquisitions accumulated since statistics were last reset. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:CURRentacq:STDDev? + ``` + """ + return self._stddev + + +class MeasurementMeasItemResultsAllacqsStddev(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev`` command. + + Description: + - This query-only command returns the standard deviation for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev? + ``` + """ + + +class MeasurementMeasItemResultsAllacqsPopulation(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This query-only command returns the population measurement value for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation? + ``` + """ + + +class MeasurementMeasItemResultsAllacqsPk2pk(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This query-only command returns the peak-to-peak value for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK? + ``` + """ + + +class MeasurementMeasItemResultsAllacqsMinimum(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum`` command. + + Description: + - This query-only command returns the minimum value for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum? + ``` + """ + + +class MeasurementMeasItemResultsAllacqsMean(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN`` command. + + Description: + - This query-only command returns the mean value for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN? + ``` + """ + + +class MeasurementMeasItemResultsAllacqsMaximum(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This query-only command returns the maximum value for all accumulated measurement + acquisitions of the specified measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum? + ``` + """ + + +class MeasurementMeasItemResultsAllacqs(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:ALLAcqs?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RESUlts:ALLAcqs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasurementMeasItemResultsAllacqsMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasurementMeasItemResultsAllacqsMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasurementMeasItemResultsAllacqsMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasurementMeasItemResultsAllacqsPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = MeasurementMeasItemResultsAllacqsPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemResultsAllacqsStddev(device, f"{self._cmd_syntax}:STDDev") + + @property + def maximum(self) -> MeasurementMeasItemResultsAllacqsMaximum: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This query-only command returns the maximum value for all accumulated measurement + acquisitions of the specified measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum? + ``` + """ + return self._maximum + + @property + def mean(self) -> MeasurementMeasItemResultsAllacqsMean: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN`` command. + + Description: + - This query-only command returns the mean value for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN? + ``` + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemResultsAllacqsMinimum: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum`` command. + + Description: + - This query-only command returns the minimum value for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum? + ``` + """ + return self._minimum + + @property + def pk2pk(self) -> MeasurementMeasItemResultsAllacqsPk2pk: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This query-only command returns the peak-to-peak value for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK? + ``` + """ + return self._pk2pk + + @property + def population(self) -> MeasurementMeasItemResultsAllacqsPopulation: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This query-only command returns the population measurement value for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation? + ``` + """ + return self._population + + @property + def stddev(self) -> MeasurementMeasItemResultsAllacqsStddev: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev`` command. + + Description: + - This query-only command returns the standard deviation for all accumulated measurement + acquisitions for measurement . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev? + ``` + """ + return self._stddev + + +class MeasurementMeasItemResults(SCPICmdRead): + """The ``MEASUrement:MEAS:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RESUlts?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.allacqs``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASUrement:MEAS:RESUlts:CURRentacq`` command tree. + - ``.history``: The ``MEASUrement:MEAS:RESUlts:HISTory`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._allacqs = MeasurementMeasItemResultsAllacqs(device, f"{self._cmd_syntax}:ALLAcqs") + self._currentacq = MeasurementMeasItemResultsCurrentacq( + device, f"{self._cmd_syntax}:CURRentacq" + ) + self._history = MeasurementMeasItemResultsHistory(device, f"{self._cmd_syntax}:HISTory") + + @property + def allacqs(self) -> MeasurementMeasItemResultsAllacqs: + """Return the ``MEASUrement:MEAS:RESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:ALLAcqs?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:ALLAcqs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs:STDDev`` command. + """ + return self._allacqs + + @property + def currentacq(self) -> MeasurementMeasItemResultsCurrentacq: + """Return the ``MEASUrement:MEAS:RESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:RESUlts:CURRentacq:STDDev`` command. + """ + return self._currentacq + + @property + def history(self) -> MeasurementMeasItemResultsHistory: + """Return the ``MEASUrement:MEAS:RESUlts:HISTory`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts:HISTory?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RESUlts:HISTory?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:RESUlts:HISTory:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:RESUlts:HISTory:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:RESUlts:HISTory:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:RESUlts:HISTory:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:RESUlts:HISTory:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:RESUlts:HISTory:STDDev`` command. + """ + return self._history + + +class MeasurementMeasItemRefvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFVoltage`` command. + + Description: + - This command sets or queries the reference voltage value for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:REFVoltage value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFVoltage + - MEASUrement:MEAS:REFVoltage? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the reference voltage value for the selected configuration. + """ + + +class MeasurementMeasItemRefvoltagevalItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFVOLTAGEVal`` command. + + Description: + - Sets or queries the reference voltage per rail of Overshoot and Undershoot measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFVOLTAGEVal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFVOLTAGEVal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFVOLTAGEVal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFVOLTAGEVal + - MEASUrement:MEAS:REFVOLTAGEVal? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the rail number. + - ```` is the reference voltage, in the range of -500 V to +500 V. + """ + + +class MeasurementMeasItemRefmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFMode`` command. + + Description: + - This command sets or queries the reference level mode for the measurement. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFMode?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:REFMode value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFMode {AUTO|MANual} + - MEASUrement:MEAS:REFMode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` sets the reference level for the measurement automatically. + - ``MANual`` allows the user to set the reference level for the measurement. + """ + + +class MeasurementMeasItemReflevelsAbsoluteFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement's ref level method is set to absolute. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh + - MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the high reference level in volts. The default is 0.0 V. + """ + + +class MeasurementMeasItemReflevelsAbsolute(SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.fallhigh``: The ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementMeasItemReflevelsAbsoluteFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + + @property + def fallhigh(self) -> MeasurementMeasItemReflevelsAbsoluteFallhigh: + """Return the ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement's ref level method is set to absolute. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh + - MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the high reference level in volts. The default is 0.0 V. + """ + return self._fallhigh + + +class MeasurementMeasItemReflevels1PercentType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE`` command. + + Description: + - This command specifies or queries the reference level percent type for the measurement. + The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:MEAS:REFLevels1:PERCent:TYPE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + + +class MeasurementMeasItemReflevels1PercentRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the rising edge when the measurement's + ref level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:RISEMid + - MEASUrement:MEAS:REFLevels1:PERCent:RISEMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` the percentage (where 50% is equal to MID) used to calculate the mid reference + level when the measurement Ref level method is set to Percent. + """ + + +class MeasurementMeasItemReflevels1PercentRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the rising edge when the measurement's + ref level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:RISELow + - MEASUrement:MEAS:REFLevels1:PERCent:RISELow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 99% is equal to TOP) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementMeasItemReflevels1PercentRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the rising edge when the measurement's + ref level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh + - MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 99% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementMeasItemReflevels1PercentHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal to + MIN) used to calculate the hysteresis of the reference level when the measurement's ref + level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis + - MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the hysteresis value used for the autoset. + """ + + +class MeasurementMeasItemReflevels1PercentFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the falling edge when the measurement's + ref level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:FALLMid + - MEASUrement:MEAS:REFLevels1:PERCent:FALLMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level. + """ + + +class MeasurementMeasItemReflevels1PercentFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the falling edge when the measurement's + ref level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:FALLLow + - MEASUrement:MEAS:REFLevels1:PERCent:FALLLow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the mid + reference level. + """ + + +class MeasurementMeasItemReflevels1PercentFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the falling edge when the + measurement's ref level method is set to percent. The measurement number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh + - MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the high + reference level. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMeasItemReflevels1Percent(SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.fallhigh``: The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementMeasItemReflevels1PercentFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementMeasItemReflevels1PercentFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementMeasItemReflevels1PercentFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementMeasItemReflevels1PercentHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementMeasItemReflevels1PercentRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementMeasItemReflevels1PercentRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementMeasItemReflevels1PercentRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementMeasItemReflevels1PercentType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementMeasItemReflevels1PercentFallhigh: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the + measurement's ref level method is set to percent. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh + - MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the high + reference level. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementMeasItemReflevels1PercentFalllow: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the + measurement's ref level method is set to percent. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:FALLLow + - MEASUrement:MEAS:REFLevels1:PERCent:FALLLow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the mid + reference level. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementMeasItemReflevels1PercentFallmid: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the + measurement's ref level method is set to percent. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:FALLMid + - MEASUrement:MEAS:REFLevels1:PERCent:FALLMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementMeasItemReflevels1PercentHysteresis: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to MAX and 1% is equal + to MIN) used to calculate the hysteresis of the reference level when the measurement's + ref level method is set to percent. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis + - MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the hysteresis value used for the autoset. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementMeasItemReflevels1PercentRisehigh: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the + measurement's ref level method is set to percent. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh + - MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 99% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementMeasItemReflevels1PercentRiselow: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the + measurement's ref level method is set to percent. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:RISELow + - MEASUrement:MEAS:REFLevels1:PERCent:RISELow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the percentage (where 99% is equal to TOP) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementMeasItemReflevels1PercentRisemid: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the + measurement's ref level method is set to percent. The measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:RISEMid + - MEASUrement:MEAS:REFLevels1:PERCent:RISEMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + return self._risemid + + @property + def type(self) -> MeasurementMeasItemReflevels1PercentType: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE`` command. + + Description: + - This command specifies or queries the reference level percent type for the + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:MEAS:REFLevels1:PERCent:TYPE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% + respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + return self._type + + +class MeasurementMeasItemReflevels1Method(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:METHod {PERCent|ABSolute} + - MEASUrement:MEAS:REFLevels1:METHod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``PERCent`` specifies that the reference levels are calculated as a percent relative to + HIGH and LOW. The percentages are defined using the + ``MEASUrement:MEAS:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:MEAS:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + + +class MeasurementMeasItemReflevels1Basetop(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE used to + calculate reference levels for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1:BASETop?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:BASETop?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:MEAS:REFLevels1:BASETop? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean BASE + and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode BASE + and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram BASE + and TOP. + """ # noqa: E501 + + +class MeasurementMeasItemReflevels1AbsoluteType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:MEAS:REFLevels1:ABSolute:TYPE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + + +class MeasurementMeasItemReflevels1AbsoluteRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising edge + when the measurement's ref level method is set to absolute. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the mid reference level (where 50% is equal to MID) used to calculate the mid + reference level when the measurement's Ref level method is set to Absolute. + """ + + +class MeasurementMeasItemReflevels1AbsoluteRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising edge + when the measurement's ref level method is set to absolute. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:RISELow + - MEASUrement:MEAS:REFLevels1:ABSolute:RISELow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the low reference level, and is the zero percent level when the measurement's + Ref level method is set to Absolute. + """ + + +class MeasurementMeasItemReflevels1AbsoluteRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising edge + when the measurement's ref level method is set to absolute. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the high reference level, and is the zero percent level when the + measurement's Ref level method is set to Absolute. + """ + + +class MeasurementMeasItemReflevels1AbsoluteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when the + measurement's ref level method is set to absolute. The measurement number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis + - MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the hysteresis value used for autoset. + """ + + +class MeasurementMeasItemReflevels1AbsoluteFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling edge + when the measurement's ref level method is set to absolute. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the mid reference level in volts. The default is 0.0 V. + """ + + +class MeasurementMeasItemReflevels1AbsoluteFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling edge + when the measurement's ref level method is set to absolute. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the low reference level in volts. The default is 0.0 V. + """ + + +class MeasurementMeasItemReflevels1Absolute(SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.falllow``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._falllow = MeasurementMeasItemReflevels1AbsoluteFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementMeasItemReflevels1AbsoluteFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementMeasItemReflevels1AbsoluteHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementMeasItemReflevels1AbsoluteRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementMeasItemReflevels1AbsoluteRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementMeasItemReflevels1AbsoluteRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementMeasItemReflevels1AbsoluteType(device, f"{self._cmd_syntax}:TYPE") + + @property + def falllow(self) -> MeasurementMeasItemReflevels1AbsoluteFalllow: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling + edge when the measurement's ref level method is set to absolute. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the low reference level in volts. The default is 0.0 V. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementMeasItemReflevels1AbsoluteFallmid: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling + edge when the measurement's ref level method is set to absolute. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid + - MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the mid reference level in volts. The default is 0.0 V. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementMeasItemReflevels1AbsoluteHysteresis: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when + the measurement's ref level method is set to absolute. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis + - MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the hysteresis value used for autoset. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementMeasItemReflevels1AbsoluteRisehigh: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising + edge when the measurement's ref level method is set to absolute. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the high reference level, and is the zero percent level when the + measurement's Ref level method is set to Absolute. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementMeasItemReflevels1AbsoluteRiselow: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising + edge when the measurement's ref level method is set to absolute. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:RISELow + - MEASUrement:MEAS:REFLevels1:ABSolute:RISELow? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the low reference level, and is the zero percent level when the + measurement's Ref level method is set to Absolute. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementMeasItemReflevels1AbsoluteRisemid: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising + edge when the measurement's ref level method is set to absolute. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid + - MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the mid reference level (where 50% is equal to MID) used to calculate the + mid reference level when the measurement's Ref level method is set to Absolute. + """ + return self._risemid + + @property + def type(self) -> MeasurementMeasItemReflevels1AbsoluteType: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:MEAS:REFLevels1:ABSolute:TYPE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + return self._type + + +class MeasurementMeasItemReflevels1(SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFLevels1?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.absolute``: The ``MEASUrement:MEAS:REFLevels1:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:MEAS:REFLevels1:BASETop`` command. + - ``.method``: The ``MEASUrement:MEAS:REFLevels1:METHod`` command. + - ``.percent``: The ``MEASUrement:MEAS:REFLevels1:PERCent`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = MeasurementMeasItemReflevels1Absolute( + device, f"{self._cmd_syntax}:ABSolute" + ) + self._basetop = MeasurementMeasItemReflevels1Basetop(device, f"{self._cmd_syntax}:BASETop") + self._method = MeasurementMeasItemReflevels1Method(device, f"{self._cmd_syntax}:METHod") + self._percent = MeasurementMeasItemReflevels1Percent(device, f"{self._cmd_syntax}:PERCent") + + @property + def absolute(self) -> MeasurementMeasItemReflevels1Absolute: + """Return the ``MEASUrement:MEAS:REFLevels1:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.falllow``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:MEAS:REFLevels1:ABSolute:TYPE`` command. + """ + return self._absolute + + @property + def basetop(self) -> MeasurementMeasItemReflevels1Basetop: + """Return the ``MEASUrement:MEAS:REFLevels1:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE used to + calculate reference levels for the measurement. The measurement number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:BASETop?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:BASETop?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:MEAS:REFLevels1:BASETop? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and + MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean + BASE and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode + BASE and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram + BASE and TOP. + """ # noqa: E501 + return self._basetop + + @property + def method(self) -> MeasurementMeasItemReflevels1Method: + """Return the ``MEASUrement:MEAS:REFLevels1:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFLevels1:METHod {PERCent|ABSolute} + - MEASUrement:MEAS:REFLevels1:METHod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``PERCent`` specifies that the reference levels are calculated as a percent relative + to HIGH and LOW. The percentages are defined using the + ``MEASUrement:MEAS:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:MEAS:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + return self._method + + @property + def percent(self) -> MeasurementMeasItemReflevels1Percent: + """Return the ``MEASUrement:MEAS:REFLevels1:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels1:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MEAS:REFLevels1:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MEAS:REFLevels1:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MEAS:REFLevels1:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MEAS:REFLevels1:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:MEAS:REFLevels1:PERCent:TYPE`` command. + """ + return self._percent + + +class MeasurementMeasItemReflevels(SCPICmdRead): + """The ``MEASUrement:MEAS:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFLevels?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.absolute``: The ``MEASUrement:MEAS:REFLevels:ABSolute`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = MeasurementMeasItemReflevelsAbsolute( + device, f"{self._cmd_syntax}:ABSolute" + ) + + @property + def absolute(self) -> MeasurementMeasItemReflevelsAbsolute: + """Return the ``MEASUrement:MEAS:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:MEAS:REFLevels:ABSolute:FALLHigh`` command. + """ + return self._absolute + + +class MeasurementMeasItemRedge(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:REDGe`` command. + + Description: + - This command turns on or off the Refine edge on qualifier. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REDGe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REDGe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:REDGe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REDGe {ON|OFF} + - MEASUrement:MEAS:REDGe? + ``` + + Info: + - ``ON`` specifies the Refine edge settings has been turned on. + - ``OFF`` specifies the Refine edge settings has been turned off. + """ + + +class MeasurementMeasItemPwidth(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PWIDth`` command. + + Description: + - This command sets or returns pulse width. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PWIDth?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PWIDth?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PWIDth value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PWIDth + - MEASUrement:MEAS:PWIDth? + ``` + + Info: + - ```` specifies the pulse width. + """ + + +class MeasurementMeasItemPregion(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PREGion`` command. + + Description: + - This command sets or returns pulse region for a measurement. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PREGion?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PREGion?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PREGion value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PREGion {FPULse|SPULse|MPULse} + - MEASUrement:MEAS:PREGion? + ``` + + Info: + - ``FPULse`` is the pulse region as Fpulse. + - ``SPULse`` is the pulse region as Spulse. + - ``MPULse`` is the pulse region as Mpulse. + """ + + +class MeasurementMeasItemPowerfactor(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:POWERFACtor`` command. + + Description: + - This command sets or queries the power factor value for IEC-Class C type harmonics + standard. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POWERFACtor?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:POWERFACtor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:POWERFACtor value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POWERFACtor + - MEASUrement:MEAS:POWERFACtor? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the power factor value for class C harmonics standard. + """ + + +class MeasurementMeasItemPopulationLimitValue(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:POPUlation:LIMIT:VALue`` command. + + Description: + - This command sets or queries the population limit value for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:VALue value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POPUlation:LIMIT:VALue + - MEASUrement:MEAS:POPUlation:LIMIT:VALue? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` the current limit value. + """ + + +class MeasurementMeasItemPopulationLimitState(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:POPUlation:LIMIT:STATE`` command. + + Description: + - This command sets or queries the population limit state for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POPUlation:LIMIT:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:POPUlation:LIMIT:STATE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns off the population limit. + - ``ON`` turns on the population limit. + - ``0`` turns off the population limit. + - ``1`` turns on the population limit. + """ + + +class MeasurementMeasItemPopulationLimit(SCPICmdRead): + """The ``MEASUrement:MEAS:POPUlation:LIMIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POPUlation:LIMIT?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.state``: The ``MEASUrement:MEAS:POPUlation:LIMIT:STATE`` command. + - ``.value``: The ``MEASUrement:MEAS:POPUlation:LIMIT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = MeasurementMeasItemPopulationLimitState(device, f"{self._cmd_syntax}:STATE") + self._value = MeasurementMeasItemPopulationLimitValue(device, f"{self._cmd_syntax}:VALue") + + @property + def state(self) -> MeasurementMeasItemPopulationLimitState: + """Return the ``MEASUrement:MEAS:POPUlation:LIMIT:STATE`` command. + + Description: + - This command sets or queries the population limit state for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POPUlation:LIMIT:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:POPUlation:LIMIT:STATE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns off the population limit. + - ``ON`` turns on the population limit. + - ``0`` turns off the population limit. + - ``1`` turns on the population limit. + """ + return self._state + + @property + def value(self) -> MeasurementMeasItemPopulationLimitValue: + """Return the ``MEASUrement:MEAS:POPUlation:LIMIT:VALue`` command. + + Description: + - This command sets or queries the population limit value for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT:VALue value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POPUlation:LIMIT:VALue + - MEASUrement:MEAS:POPUlation:LIMIT:VALue? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` the current limit value. + """ + return self._value + + +class MeasurementMeasItemPopulationGlobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:POPUlation:GLOBal`` command. + + Description: + - This command sets or queries the population settings global flag. The measurement number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POPUlation:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POPUlation:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:POPUlation:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` specifies that population settings can be changed independently for each + individual measurement. + - ``ON`` applies the global population settings to all the measurements' population + settings. + - ``0`` specifies that population settings can be changed independently for each individual + measurement. + - ``1`` applies the global population settings to all the measurements' population settings. + """ + + +class MeasurementMeasItemPopulation(SCPICmdRead): + """The ``MEASUrement:MEAS:POPUlation`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:POPUlation?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.global``: The ``MEASUrement:MEAS:POPUlation:GLOBal`` command. + - ``.limit``: The ``MEASUrement:MEAS:POPUlation:LIMIT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._global = MeasurementMeasItemPopulationGlobal(device, f"{self._cmd_syntax}:GLOBal") + self._limit = MeasurementMeasItemPopulationLimit(device, f"{self._cmd_syntax}:LIMIT") + + @property + def global_(self) -> MeasurementMeasItemPopulationGlobal: + """Return the ``MEASUrement:MEAS:POPUlation:GLOBal`` command. + + Description: + - This command sets or queries the population settings global flag. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POPUlation:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POPUlation:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:POPUlation:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` specifies that population settings can be changed independently for each + individual measurement. + - ``ON`` applies the global population settings to all the measurements' population + settings. + - ``0`` specifies that population settings can be changed independently for each + individual measurement. + - ``1`` applies the global population settings to all the measurements' population + settings. + """ + return self._global + + @property + def limit(self) -> MeasurementMeasItemPopulationLimit: + """Return the ``MEASUrement:MEAS:POPUlation:LIMIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POPUlation:LIMIT?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:POPUlation:LIMIT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.state``: The ``MEASUrement:MEAS:POPUlation:LIMIT:STATE`` command. + - ``.value``: The ``MEASUrement:MEAS:POPUlation:LIMIT:VALue`` command. + """ + return self._limit + + +class MeasurementMeasItemPolarity(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:POLarity`` command. + + Description: + - This command sets or queries the polarity for the measurement when the measurement type is + burst width. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:POLarity?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:POLarity value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POLarity {NORMal|INVerted} + - MEASUrement:MEAS:POLarity? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NORMal`` specifies normal polarity. + - ``INVerted`` specifies inverted polarity. + """ + + +class MeasurementMeasItemPerfreqEdge(SCPICmdWrite): + """The ``MEASUrement:MEAS:PERFREQ:EDGE`` command. + + Description: + - This command sets or queries the edge type of a Period/Frequency measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PERFREQ:EDGE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PERFREQ:EDGE {FIRST|RISE|FALL} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FIRST`` computes the measurement between Rising edges if the first edge is Rising. + Computes the measurement between Falling edges if the first edge is Falling. + - ``RISE`` computes the measurement between Rising edges. + - ``FALL`` computes the measurement between Falling edges. + """ + + +class MeasurementMeasItemPerfreq(SCPICmdRead): + """The ``MEASUrement:MEAS:PERFREQ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PERFREQ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PERFREQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.edge``: The ``MEASUrement:MEAS:PERFREQ:EDGE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = MeasurementMeasItemPerfreqEdge(device, f"{self._cmd_syntax}:EDGE") + + @property + def edge(self) -> MeasurementMeasItemPerfreqEdge: + """Return the ``MEASUrement:MEAS:PERFREQ:EDGE`` command. + + Description: + - This command sets or queries the edge type of a Period/Frequency measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PERFREQ:EDGE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PERFREQ:EDGE {FIRST|RISE|FALL} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FIRST`` computes the measurement between Rising edges if the first edge is Rising. + Computes the measurement between Falling edges if the first edge is Falling. + - ``RISE`` computes the measurement between Rising edges. + - ``FALL`` computes the measurement between Falling edges. + """ + return self._edge + + +class MeasurementMeasItemPcount(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PCOUNt`` command. + + Description: + - This command sets or returns number of pulses. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PCOUNt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PCOUNt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PCOUNt value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PCOUNt + - MEASUrement:MEAS:PCOUNt? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the number of pulses. + """ + + +class MeasurementMeasItemPatterntype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PATTERNTYPe`` command. + + Description: + - This command sets or queries the pattern type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PATTERNTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PATTERNTYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PATTERNTYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PATTERNTYPe {REPeating|ARBitrary} + - MEASUrement:MEAS:PATTERNTYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``REPeating`` specifies a repeating pattern. + - ``ARBitrary`` specifies an arbitrary pattern. + """ + + +class MeasurementMeasItemPatternlength(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PATTERNLENgth`` command. + + Description: + - This command sets or queries the pattern length for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PATTERNLENgth?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PATTERNLENgth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PATTERNLENgth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PATTERNLENgth + - MEASUrement:MEAS:PATTERNLENgth? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the pattern length. + """ + + +class MeasurementMeasItemPatterndetection(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PATTERNDETECTION`` command. + + Description: + - This command sets or queries the pattern detection type for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PATTERNDETECTION?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PATTERNDETECTION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PATTERNDETECTION value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PATTERNDETECTION {AUTO|MANUAL} + - MEASUrement:MEAS:PATTERNDETECTION? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically detects the pattern. + - ``MANUAL`` requires manually detecting the pattern. + """ + + +class MeasurementMeasItemPassfailwhen(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PASSFAILWHEN`` command. + + Description: + - This command sets or returns the condition on which a measurement test fails. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILWHEN?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PASSFAILWHEN?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILWHEN value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILWHEN {LESSthan|GREATERthan|Equals|NOTEQuals|INSIDErange|OUTSIDErange} + - MEASUrement:MEAS:PASSFAILWHEN? + ``` + + Info: + - ``LESSthan`` sets the condition for measurement test failure as less than the given limit. + This is the default value. + - ``GREATERthan`` sets the condition for measurement test failure as greater than the given + limit. + - ``Equals`` sets the condition for measurement test failure as equals the given limit. + - ``NOTEQuals`` sets the condition for measurement test failure as not equal to the given + limit. + - ``INSIDErange`` sets the condition for measurement test failure as inside the limit range. + - ``OUTSIDErange`` sets the condition for measurement test failure as outside the limit + range. + """ # noqa: E501 + + +class MeasurementMeasItemPassfailmargin(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PASSFAILMARgin`` command. + + Description: + - This command returns or sets the allowed margin for limit comparisons for all pass/fail + checks. This is given as a percentage with a default value of 0.05 representing 5%. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILMARgin?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PASSFAILMARgin?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILMARgin value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILMARgin + - MEASUrement:MEAS:PASSFAILMARgin? + ``` + + Info: + - ```` sets the allowed margin for limit comparisons for all pass/fail checks. The + margin as a percentage of the limit. + """ + + +class MeasurementMeasItemPassfaillowlimit(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PASSFAILLOWlimit`` command. + + Description: + - This command returns or sets the low limit for a measurement test. Used as the test value + when the 'fail when' criteria is set to 'less than' or 'greater than'. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILLOWlimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLOWlimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLOWlimit value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILLOWlimit + - MEASUrement:MEAS:PASSFAILLOWlimit? + ``` + + Info: + - ```` sets the low limit for a measurement test. The limit is a number which a + measurement result will be tested against. + """ + + +class MeasurementMeasItemPassfaillimit(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PASSFAILLIMit`` command. + + Description: + - This command returns or sets the limit for a measurement test. Used as the test value when + the 'fail when' criteria is set to 'less than' or 'greater than'. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILLIMit?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PASSFAILLIMit?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLIMit value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILLIMit + - MEASUrement:MEAS:PASSFAILLIMit? + ``` + + Info: + - ```` sets the limit for a measurement test. The limit is a number which a measurement + result will be tested against. + """ + + +class MeasurementMeasItemPassfailhighlimit(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PASSFAILHIGHlimit`` command. + + Description: + - This command returns or sets the high limit for a measurement test. Used as the test value + when the 'fail when' criteria is set to 'less than' or 'greater than'. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILHIGHlimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILHIGHlimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILHIGHlimit value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILHIGHlimit + - MEASUrement:MEAS:PASSFAILHIGHlimit? + ``` + + Info: + - ```` sets the high limit for a measurement test. The high limit is a number which a + measurement result will be tested against. + """ + + +class MeasurementMeasItemPassfailenabled(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:PASSFAILENabled`` command. + + Description: + - This command returns or sets the pass/fail test enable status. If enabled, this will turn + on pass fail testing for the specified measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILENabled?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PASSFAILENabled?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILENabled value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILENabled + - MEASUrement:MEAS:PASSFAILENabled? + ``` + + Info: + - ```` enables or disables pass fail testing for the specified measurement. A value of + 1 enables and a value of 0 disables. + """ + + +class MeasurementMeasItemOutputvoltageItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OUTPUTVOLTage`` command. + + Description: + - Sets or queries the voltage level for the specified output voltage source n. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTPUTVOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTPUTVOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTPUTVOLTage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTPUTVOLTage + - MEASUrement:MEAS:OUTPUTVOLTage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the output voltage for source n, in the range of -61 V to +61 V. + """ + + +class MeasurementMeasItemOutfiltersLowpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC`` command. + + Description: + - This command sets or queries the measurement output low pass filter specification filter + order on the scope. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies the filter order none. + - ``FIRST`` specifies the filter order first. + - ``SECOND`` specifies the filter order second. + - ``THIRD`` specifies the filter order third. + """ + + +class MeasurementMeasItemOutfiltersLowpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ`` command. + + Description: + - This command sets or queries the measurement output low pass filter frequency cutoff + frequency on the scope. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ + - MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the values for the output filter cutoff frequency. The argument range + is 20 Hz to 10e6 Hz. + """ + + +class MeasurementMeasItemOutfiltersLowpass(SCPICmdRead): + """The ``MEASUrement:MEAS:OUTFILTers:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTFILTers:LOWPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.freq``: The ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementMeasItemOutfiltersLowpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementMeasItemOutfiltersLowpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementMeasItemOutfiltersLowpassFreq: + """Return the ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ`` command. + + Description: + - This command sets or queries the measurement output low pass filter frequency cutoff + frequency on the scope. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ + - MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the values for the output filter cutoff frequency. The argument + range is 20 Hz to 10e6 Hz. + """ + return self._freq + + @property + def spec(self) -> MeasurementMeasItemOutfiltersLowpassSpec: + """Return the ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC`` command. + + Description: + - This command sets or queries the measurement output low pass filter specification + filter order on the scope. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies the filter order none. + - ``FIRST`` specifies the filter order first. + - ``SECOND`` specifies the filter order second. + - ``THIRD`` specifies the filter order third. + """ + return self._spec + + +class MeasurementMeasItemOutfilters(SCPICmdRead): + """The ``MEASUrement:MEAS:OUTFILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTFILTers?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:OUTFILTers?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.lowpass``: The ``MEASUrement:MEAS:OUTFILTers:LOWPass`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lowpass = MeasurementMeasItemOutfiltersLowpass(device, f"{self._cmd_syntax}:LOWPass") + + @property + def lowpass(self) -> MeasurementMeasItemOutfiltersLowpass: + """Return the ``MEASUrement:MEAS:OUTFILTers:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTFILTers:LOWPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.freq``: The ``MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC`` command. + """ + return self._lowpass + + +class MeasurementMeasItemOutedgequalifier(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OUTEDGEQUALifier`` command. + + Description: + - This command sets or queries local output edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTEDGEQUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTEDGEQUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTEDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTEDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:OUTEDGEQUALifier? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementMeasItemOsangle(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OSANgle`` command. + + Description: + - This command sets or queries the specified measurement Offset angle. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OSANgle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:OSANgle?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:OSANgle value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OSANgle + - MEASUrement:MEAS:OSANgle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the offset angle of the measurement in the range or -360 to 360. + """ + + +class MeasurementMeasItemOfiltersLowpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OFILters:LOWPass:SPEC`` command. + + Description: + - This command sets or returns low pass filter specification for a measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OFILters:LOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OFILters:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:OFILters:LOWPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies the low pass filter specification as none. + - ``FIRST`` specifies the low pass filter specification set to 1st Order for the + measurement. + - ``SECOND`` specifies the low pass filter specification set to 2nd Order for the + measurement. + - ``THIRD`` specifies the low pass filter specification set to 3rd Order for the + measurement. + """ + + +class MeasurementMeasItemOfiltersLowpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:OFILters:LOWPass:FREQ`` command. + + Description: + - This command sets or returns the cut-off frequency value for a measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OFILters:LOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OFILters:LOWPass:FREQ + - MEASUrement:MEAS:OFILters:LOWPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the cut-off frequency value for a measurement. + """ + + +class MeasurementMeasItemOfiltersLowpass(SCPICmdRead): + """The ``MEASUrement:MEAS:OFILters:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OFILters:LOWPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.freq``: The ``MEASUrement:MEAS:OFILters:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:OFILters:LOWPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementMeasItemOfiltersLowpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementMeasItemOfiltersLowpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementMeasItemOfiltersLowpassFreq: + """Return the ``MEASUrement:MEAS:OFILters:LOWPass:FREQ`` command. + + Description: + - This command sets or returns the cut-off frequency value for a measurement. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:FREQ?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OFILters:LOWPass:FREQ + - MEASUrement:MEAS:OFILters:LOWPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the cut-off frequency value for a measurement. + """ + return self._freq + + @property + def spec(self) -> MeasurementMeasItemOfiltersLowpassSpec: + """Return the ``MEASUrement:MEAS:OFILters:LOWPass:SPEC`` command. + + Description: + - This command sets or returns low pass filter specification for a measurement. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:SPEC?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OFILters:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:OFILters:LOWPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies the low pass filter specification as none. + - ``FIRST`` specifies the low pass filter specification set to 1st Order for the + measurement. + - ``SECOND`` specifies the low pass filter specification set to 2nd Order for the + measurement. + - ``THIRD`` specifies the low pass filter specification set to 3rd Order for the + measurement. + """ + return self._spec + + +class MeasurementMeasItemOfilters(SCPICmdRead): + """The ``MEASUrement:MEAS:OFILters`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OFILters?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:OFILters?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.lowpass``: The ``MEASUrement:MEAS:OFILters:LOWPass`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._lowpass = MeasurementMeasItemOfiltersLowpass(device, f"{self._cmd_syntax}:LOWPass") + + @property + def lowpass(self) -> MeasurementMeasItemOfiltersLowpass: + """Return the ``MEASUrement:MEAS:OFILters:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OFILters:LOWPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OFILters:LOWPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.freq``: The ``MEASUrement:MEAS:OFILters:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:OFILters:LOWPass:SPEC`` command. + """ + return self._lowpass + + +class MeasurementMeasItemOddeven(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:ODDEVen`` command. + + Description: + - This command sets or queries harmonics oddeven. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:ODDEVen?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:ODDEVen?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:ODDEVen value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:ODDEVen {ALL|EVEN|ODD} + - MEASUrement:MEAS:ODDEVen? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ALL`` displays all the results. + - ``EVEN`` displays the even results. + - ``ODD`` displays the odd results. + """ + + +class MeasurementMeasItemMincycle(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MINCycle`` command. + + Description: + - This command sets or queries the minimum cycle value for the DDRTERRN and DDRTERRMN + measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MINCycle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MINCycle?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MINCycle value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MINCycle + - MEASUrement:MEAS:MINCycle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the minimum cycle range limit value in the range or 2 to 50. + """ + + +class MeasurementMeasItemMechStype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MECH:STYPe`` command. + + Description: + - This command sets or queries the local measurement sensor type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:STYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MECH:STYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:STYPe {HSENSOR|QEI} + - MEASUrement:MEAS:MECH:STYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HSENSOR`` specifies the sensor type as HSENSOR. + - ``QEI`` specifies the sensor type as QEI. + """ + + +class MeasurementMeasItemMechPprotation(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MECH:PPRotation`` command. + + Description: + - This command sets or queries the specified pulses per rotation of the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:PPRotation?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:PPRotation?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:PPRotation value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:PPRotation + - MEASUrement:MEAS:MECH:PPRotation? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` defines the pulses per rotation of the measurement in the range of 1 to 10000. + """ + + +class MeasurementMeasItemMechPpairs(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MECH:PPAirs`` command. + + Description: + - This command sets or queries the number of pole pairs for the specific measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:PPAirs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:PPAirs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MECH:PPAirs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:PPAirs + - MEASUrement:MEAS:MECH:PPAirs? + ``` + + Info: + - ```` defines the number of pole pairs for the specified measurement. The minimum to + maximum range is 1 to 20. + """ + + +class MeasurementMeasItemMechMunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MECH:MUNits`` command. + + Description: + - This command sets or queries the specified mechanical measurement results units. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:MUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:MUNits?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MECH:MUNits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:MUNits {NM|OZINCH|FTLB|INCHLB|DEGREES|RADIANS} + - MEASUrement:MEAS:MECH:MUNits? + ``` + + Info: + - ``NM`` defines the results units of the measurement as NM. + - ``OZINCH`` defines the results units of the measurement as OZINCH. + - ``FTLB`` defines the results units of the measurement as FTLB. + - ``INCHLB`` defines the results units of the measurement as INCHLB. + - ``DEGREES`` defines the results units of the measurement as DEGREES. + - ``RADIANS`` defines the results units of the measurement as RADIANS. + """ + + +class MeasurementMeasItemMechGratio(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MECH:GRATio`` command. + + Description: + - This command sets or queries the gear ratio for the specific measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:GRATio?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:GRATio?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MECH:GRATio value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:GRATio + - MEASUrement:MEAS:MECH:GRATio? + ``` + + Info: + - ```` defines the gear ratio value for specified measurement. The minimum to maximum + range is 0.001-1000. + """ + + +class MeasurementMeasItemMechEindexz(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MECH:EINDexz`` command. + + Description: + - This command sets or queries the specified mechanical Index Z source. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:EINDexz?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:EINDexz?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:EINDexz value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:EINDexz {ON|OFF|1|0} + - MEASUrement:MEAS:MECH:EINDexz? + ``` + + Info: + - ``ON`` specifies the Index Z check box state as enabled. + - ``OFF`` specifies the Index Z check box state as disabled. + - ``1`` specifies the Index Z check box state as enabled. + - ``0`` specifies the Index Z check box state as disabled. + """ + + +class MeasurementMeasItemMech(SCPICmdRead): + """The ``MEASUrement:MEAS:MECH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.eindexz``: The ``MEASUrement:MEAS:MECH:EINDexz`` command. + - ``.gratio``: The ``MEASUrement:MEAS:MECH:GRATio`` command. + - ``.munits``: The ``MEASUrement:MEAS:MECH:MUNits`` command. + - ``.ppairs``: The ``MEASUrement:MEAS:MECH:PPAirs`` command. + - ``.pprotation``: The ``MEASUrement:MEAS:MECH:PPRotation`` command. + - ``.stype``: The ``MEASUrement:MEAS:MECH:STYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._eindexz = MeasurementMeasItemMechEindexz(device, f"{self._cmd_syntax}:EINDexz") + self._gratio = MeasurementMeasItemMechGratio(device, f"{self._cmd_syntax}:GRATio") + self._munits = MeasurementMeasItemMechMunits(device, f"{self._cmd_syntax}:MUNits") + self._ppairs = MeasurementMeasItemMechPpairs(device, f"{self._cmd_syntax}:PPAirs") + self._pprotation = MeasurementMeasItemMechPprotation( + device, f"{self._cmd_syntax}:PPRotation" + ) + self._stype = MeasurementMeasItemMechStype(device, f"{self._cmd_syntax}:STYPe") + + @property + def eindexz(self) -> MeasurementMeasItemMechEindexz: + """Return the ``MEASUrement:MEAS:MECH:EINDexz`` command. + + Description: + - This command sets or queries the specified mechanical Index Z source. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:EINDexz?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MECH:EINDexz?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:EINDexz value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:EINDexz {ON|OFF|1|0} + - MEASUrement:MEAS:MECH:EINDexz? + ``` + + Info: + - ``ON`` specifies the Index Z check box state as enabled. + - ``OFF`` specifies the Index Z check box state as disabled. + - ``1`` specifies the Index Z check box state as enabled. + - ``0`` specifies the Index Z check box state as disabled. + """ + return self._eindexz + + @property + def gratio(self) -> MeasurementMeasItemMechGratio: + """Return the ``MEASUrement:MEAS:MECH:GRATio`` command. + + Description: + - This command sets or queries the gear ratio for the specific measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:GRATio?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:GRATio?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:GRATio value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:GRATio + - MEASUrement:MEAS:MECH:GRATio? + ``` + + Info: + - ```` defines the gear ratio value for specified measurement. The minimum to + maximum range is 0.001-1000. + """ + return self._gratio + + @property + def munits(self) -> MeasurementMeasItemMechMunits: + """Return the ``MEASUrement:MEAS:MECH:MUNits`` command. + + Description: + - This command sets or queries the specified mechanical measurement results units. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:MUNits?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:MUNits?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:MUNits value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:MUNits {NM|OZINCH|FTLB|INCHLB|DEGREES|RADIANS} + - MEASUrement:MEAS:MECH:MUNits? + ``` + + Info: + - ``NM`` defines the results units of the measurement as NM. + - ``OZINCH`` defines the results units of the measurement as OZINCH. + - ``FTLB`` defines the results units of the measurement as FTLB. + - ``INCHLB`` defines the results units of the measurement as INCHLB. + - ``DEGREES`` defines the results units of the measurement as DEGREES. + - ``RADIANS`` defines the results units of the measurement as RADIANS. + """ + return self._munits + + @property + def ppairs(self) -> MeasurementMeasItemMechPpairs: + """Return the ``MEASUrement:MEAS:MECH:PPAirs`` command. + + Description: + - This command sets or queries the number of pole pairs for the specific measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:PPAirs?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:PPAirs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:PPAirs value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:PPAirs + - MEASUrement:MEAS:MECH:PPAirs? + ``` + + Info: + - ```` defines the number of pole pairs for the specified measurement. The minimum + to maximum range is 1 to 20. + """ + return self._ppairs + + @property + def pprotation(self) -> MeasurementMeasItemMechPprotation: + """Return the ``MEASUrement:MEAS:MECH:PPRotation`` command. + + Description: + - This command sets or queries the specified pulses per rotation of the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:PPRotation?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MECH:PPRotation?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:PPRotation value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:PPRotation + - MEASUrement:MEAS:MECH:PPRotation? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` defines the pulses per rotation of the measurement in the range of 1 to + 10000. + """ + return self._pprotation + + @property + def stype(self) -> MeasurementMeasItemMechStype: + """Return the ``MEASUrement:MEAS:MECH:STYPe`` command. + + Description: + - This command sets or queries the local measurement sensor type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH:STYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MECH:STYPe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MECH:STYPe {HSENSOR|QEI} + - MEASUrement:MEAS:MECH:STYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HSENSOR`` specifies the sensor type as HSENSOR. + - ``QEI`` specifies the sensor type as QEI. + """ + return self._stype + + +class MeasurementMeasItemMeasrangeState(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MEASRange:STATE`` command. + + Description: + - This command sets or queries the range state for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:STATE?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MEASRange:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:MEASRange:STATE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns off the measurement range limits. + - ``ON`` turns on the measurement range limits. + - ``0`` turns off the measurement range limits. + - ``1`` turns on the measurement range limits. + """ + + +class MeasurementMeasItemMeasrangeMin(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MEASRange:MIN`` command. + + Description: + - This command sets or queries the range minimum value for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:MIN?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MEASRange:MIN?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:MIN value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:MIN + - MEASUrement:MEAS:MEASRange:MIN? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the minimum measurement range limit value. + """ + + +class MeasurementMeasItemMeasrangeMax(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MEASRange:MAX`` command. + + Description: + - This command sets or queries the range maximum value for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:MAX?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MEASRange:MAX?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:MAX value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:MAX + - MEASUrement:MEAS:MEASRange:MAX? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the maximum measurement range limit value. + """ + + +class MeasurementMeasItemMeasrangeGlobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MEASRange:GLOBal`` command. + + Description: + - This command sets or queries the range settings global flag for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:MEASRange:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` specifies that range settings can be set independently for each individual + measurement. + - ``ON`` applies global measurement range settings to all the measurements' range settings. + - ``0`` specifies that range settings can be set independently for each individual + measurement. + - ``1`` applies global measurement range settings to all the measurements' range settings. + """ + + +class MeasurementMeasItemMeasrange(SCPICmdRead): + """The ``MEASUrement:MEAS:MEASRange`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MEASRange?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.global``: The ``MEASUrement:MEAS:MEASRange:GLOBal`` command. + - ``.max``: The ``MEASUrement:MEAS:MEASRange:MAX`` command. + - ``.min``: The ``MEASUrement:MEAS:MEASRange:MIN`` command. + - ``.state``: The ``MEASUrement:MEAS:MEASRange:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._global = MeasurementMeasItemMeasrangeGlobal(device, f"{self._cmd_syntax}:GLOBal") + self._max = MeasurementMeasItemMeasrangeMax(device, f"{self._cmd_syntax}:MAX") + self._min = MeasurementMeasItemMeasrangeMin(device, f"{self._cmd_syntax}:MIN") + self._state = MeasurementMeasItemMeasrangeState(device, f"{self._cmd_syntax}:STATE") + + @property + def global_(self) -> MeasurementMeasItemMeasrangeGlobal: + """Return the ``MEASUrement:MEAS:MEASRange:GLOBal`` command. + + Description: + - This command sets or queries the range settings global flag for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:MEASRange:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` specifies that range settings can be set independently for each individual + measurement. + - ``ON`` applies global measurement range settings to all the measurements' range + settings. + - ``0`` specifies that range settings can be set independently for each individual + measurement. + - ``1`` applies global measurement range settings to all the measurements' range + settings. + """ + return self._global + + @property + def max(self) -> MeasurementMeasItemMeasrangeMax: + """Return the ``MEASUrement:MEAS:MEASRange:MAX`` command. + + Description: + - This command sets or queries the range maximum value for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:MAX?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:MAX?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:MAX value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:MAX + - MEASUrement:MEAS:MEASRange:MAX? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the maximum measurement range limit value. + """ + return self._max + + @property + def min(self) -> MeasurementMeasItemMeasrangeMin: + """Return the ``MEASUrement:MEAS:MEASRange:MIN`` command. + + Description: + - This command sets or queries the range minimum value for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:MIN?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:MIN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:MIN value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:MIN + - MEASUrement:MEAS:MEASRange:MIN? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the minimum measurement range limit value. + """ + return self._min + + @property + def state(self) -> MeasurementMeasItemMeasrangeState: + """Return the ``MEASUrement:MEAS:MEASRange:STATE`` command. + + Description: + - This command sets or queries the range state for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MEASRange:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MEASRange:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:MEASRange:STATE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns off the measurement range limits. + - ``ON`` turns on the measurement range limits. + - ``0`` turns off the measurement range limits. + - ``1`` turns on the measurement range limits. + """ + return self._state + + +class MeasurementMeasItemMaxvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MAXVoltage`` command. + + Description: + - Sets or queries the maximum input voltage. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MAXVoltage value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXVoltage + - MEASUrement:MEAS:MAXVoltage? + ``` + + Info: + - ```` is the maximum input voltage, in the range of -61 V to +61 V. + """ + + +class MeasurementMeasItemMaxgvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MAXGVoltage`` command. + + Description: + - This command sets or returns the maximum gate voltage. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXGVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXGVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MAXGVoltage value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXGVoltage + - MEASUrement:MEAS:MAXGVoltage? + ``` + + Info: + - ```` specifies the maximum gate voltage. + """ + + +class MeasurementMeasItemMaxcycle(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MAXCycle`` command. + + Description: + - This command sets or queries the maximum cycle value for the DDRTERRN and DDRTERRMN + measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXCycle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXCycle?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MAXCycle value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXCycle + - MEASUrement:MEAS:MAXCycle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the maximum cycle range limit value in the range or 2 to 50. + """ + + +class MeasurementMeasItemMaxcurrent(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:MAXCUrrent`` command. + + Description: + - This command sets or returns the maximum current. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXCUrrent?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXCUrrent?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:MAXCUrrent value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXCUrrent + - MEASUrement:MEAS:MAXCUrrent? + ``` + + Info: + - ```` specifies the maximum current. + """ + + +class MeasurementMeasItemLvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:LVOLtage`` command. + + Description: + - This command sets or queries the measurement Torque Low Voltage value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LVOLtage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LVOLtage?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LVOLtage value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LVOLtage + - MEASUrement:MEAS:LVOLtage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the Low Voltage value of the measurement in the range of -100 to 100. + """ + + +class MeasurementMeasItemLunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:LUNITs`` command. + + Description: + - This command sets or returns the value for the level units as percentage or absolute. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LUNITs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LUNITs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LUNITs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LUNITs {PERCent|ABSolute} + - MEASUrement:MEAS:LUNITs? + ``` + + Info: + - ``PERCent`` specifies the value for the level units as percent. + - ``ABSolute`` specifies the value for the level units as absolute. + """ + + +class MeasurementMeasItemLtype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:LTYPe`` command. + + Description: + - This command sets or returns the value for the level type as auto or custom. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LTYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LTYPe {AUTO|CUSTom} + - MEASUrement:MEAS:LTYPe? + ``` + + Info: + - ``AUTO`` specifies the value for the level type as auto. + - ``CUSTom`` specifies the value for the level type as custom. + """ + + +class MeasurementMeasItemLtorque(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:LTORque`` command. + + Description: + - This command sets or queries the measurement Low Torque value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LTORque?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LTORque?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LTORque value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LTORque + - MEASUrement:MEAS:LTORque? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the Low Torque value of the measurement in the range of 0 to 10000000. + """ + + +class MeasurementMeasItemLowrefvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:LOWREFVoltage`` command. + + Description: + - This command sets or queries the low reference voltage value for the 'time outside level' + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LOWREFVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LOWREFVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:LOWREFVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LOWREFVoltage + - MEASUrement:MEAS:LOWREFVoltage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the low reference voltage value for the selected configuration. + """ + + +class MeasurementMeasItemLineselected(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:LINESelected`` command. + + Description: + - This command sets or queries selected lines for the measurement. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LINESelected?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LINESelected?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:LINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LINESelected {ABCB|ACBC|BACA|XYZY|XZYZ|YXZX} + - MEASUrement:MEAS:LINESelected? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + + +class MeasurementMeasItemLabel(SCPICmdWrite): + """The ``MEASUrement:MEAS:LABel`` command. + + Description: + - This command sets or queries the label for the measurement. As the label can contain non + 7-bit ASCII text, it is stored in Percent Encoding format. The measurement number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LABel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LABel + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the measurement label. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MeasurementMeasItemJittersummaryTjber(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:TJBER`` command. + + Description: + - This command sets or queries whether TJ@BER is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:TJBER?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TJBER?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TJBER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:TJBER {0|1} + - MEASUrement:MEAS:JITTERSummary:TJBER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the TJ@BER measurement as part of jitter summary. + - ``0`` do not add the TJ@BER measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryTie(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:TIE`` command. + + Description: + - This command sets or queries whether TIE is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:TIE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TIE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TIE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:TIE {0|1} + - MEASUrement:MEAS:JITTERSummary:TIE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the TIE measurement as part of jitter summary. + - ``0`` do not add the TIE measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryRjdd(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:RJDD`` command. + + Description: + - This command sets or queries whether RJ-dd is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:RJDD?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:RJDD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:RJDD value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:RJDD {0|1} + - MEASUrement:MEAS:JITTERSummary:RJDD? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the RJ-dd measurement as part of jitter summary. + - ``0`` do not add the RJ-dd measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryPj(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:PJ`` command. + + Description: + - This command sets or queries whether PJ is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:PJ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:PJ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:PJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:PJ {0|1} + - MEASUrement:MEAS:JITTERSummary:PJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the PJ measurement as part of jitter summary. + - ``0`` do not add the PJ measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryNpj(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:NPJ`` command. + + Description: + - This command sets or queries whether NPJ is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:NPJ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:NPJ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:NPJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:NPJ {0|1} + - MEASUrement:MEAS:JITTERSummary:NPJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the NPJ measurement as part of jitter summary. + - ``0`` do not add the NPJ measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryEyewidthber(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER`` command. + + Description: + - This command sets or queries whether EyeWidth@BER is included in the jitter summary for + the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER {0|1} + - MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the EyeWidth@BER measurement as part of jitter summary. + - ``0`` do not add the EyeWidth@BER measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryDjdd(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:DJDD`` command. + + Description: + - This command sets or queries whether DJ-dd is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:DJDD?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DJDD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DJDD value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:DJDD {0|1} + - MEASUrement:MEAS:JITTERSummary:DJDD? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the DJDD measurement as part of jitter summary. + - ``0`` do not add the DJDD measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryDdj(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:DDJ`` command. + + Description: + - This command sets or queries whether DDJ is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:DDJ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DDJ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DDJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:DDJ {0|1} + - MEASUrement:MEAS:JITTERSummary:DDJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` adds the DDJ measurement as part of jitter summary. + - ``0`` do not add the DDJ measurement as part of jitter summary. + """ + + +class MeasurementMeasItemJittersummaryDcd(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary:DCD`` command. + + Description: + - This command sets or queries whether DCD is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:DCD?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DCD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DCD value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:DCD {0|1} + - MEASUrement:MEAS:JITTERSummary:DCD? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` adds the DCD measurement as part of jitter summary. + - ``0`` do not add the DCD measurement as part of jitter summary. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMeasItemJittersummary(SCPICmdRead): + """The ``MEASUrement:MEAS:JITTERSummary`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:JITTERSummary?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.dcd``: The ``MEASUrement:MEAS:JITTERSummary:DCD`` command. + - ``.ddj``: The ``MEASUrement:MEAS:JITTERSummary:DDJ`` command. + - ``.djdd``: The ``MEASUrement:MEAS:JITTERSummary:DJDD`` command. + - ``.eyewidthber``: The ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER`` command. + - ``.npj``: The ``MEASUrement:MEAS:JITTERSummary:NPJ`` command. + - ``.pj``: The ``MEASUrement:MEAS:JITTERSummary:PJ`` command. + - ``.rjdd``: The ``MEASUrement:MEAS:JITTERSummary:RJDD`` command. + - ``.tie``: The ``MEASUrement:MEAS:JITTERSummary:TIE`` command. + - ``.tjber``: The ``MEASUrement:MEAS:JITTERSummary:TJBER`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dcd = MeasurementMeasItemJittersummaryDcd(device, f"{self._cmd_syntax}:DCD") + self._ddj = MeasurementMeasItemJittersummaryDdj(device, f"{self._cmd_syntax}:DDJ") + self._djdd = MeasurementMeasItemJittersummaryDjdd(device, f"{self._cmd_syntax}:DJDD") + self._eyewidthber = MeasurementMeasItemJittersummaryEyewidthber( + device, f"{self._cmd_syntax}:EYEWIDTHBER" + ) + self._npj = MeasurementMeasItemJittersummaryNpj(device, f"{self._cmd_syntax}:NPJ") + self._pj = MeasurementMeasItemJittersummaryPj(device, f"{self._cmd_syntax}:PJ") + self._rjdd = MeasurementMeasItemJittersummaryRjdd(device, f"{self._cmd_syntax}:RJDD") + self._tie = MeasurementMeasItemJittersummaryTie(device, f"{self._cmd_syntax}:TIE") + self._tjber = MeasurementMeasItemJittersummaryTjber(device, f"{self._cmd_syntax}:TJBER") + + @property + def dcd(self) -> MeasurementMeasItemJittersummaryDcd: + """Return the ``MEASUrement:MEAS:JITTERSummary:DCD`` command. + + Description: + - This command sets or queries whether DCD is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:DCD?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DCD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DCD value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:DCD {0|1} + - MEASUrement:MEAS:JITTERSummary:DCD? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` adds the DCD measurement as part of jitter summary. + - ``0`` do not add the DCD measurement as part of jitter summary. + """ + return self._dcd + + @property + def ddj(self) -> MeasurementMeasItemJittersummaryDdj: + """Return the ``MEASUrement:MEAS:JITTERSummary:DDJ`` command. + + Description: + - This command sets or queries whether DDJ is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:DDJ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DDJ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DDJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:DDJ {0|1} + - MEASUrement:MEAS:JITTERSummary:DDJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` adds the DDJ measurement as part of jitter summary. + - ``0`` do not add the DDJ measurement as part of jitter summary. + """ + return self._ddj + + @property + def djdd(self) -> MeasurementMeasItemJittersummaryDjdd: + """Return the ``MEASUrement:MEAS:JITTERSummary:DJDD`` command. + + Description: + - This command sets or queries whether DJ-dd is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DJDD?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DJDD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:DJDD value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:DJDD {0|1} + - MEASUrement:MEAS:JITTERSummary:DJDD? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the DJDD measurement as part of jitter summary. + - ``0`` do not add the DJDD measurement as part of jitter summary. + """ + return self._djdd + + @property + def eyewidthber(self) -> MeasurementMeasItemJittersummaryEyewidthber: + """Return the ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER`` command. + + Description: + - This command sets or queries whether EyeWidth@BER is included in the jitter summary + for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER {0|1} + - MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the EyeWidth@BER measurement as part of jitter summary. + - ``0`` do not add the EyeWidth@BER measurement as part of jitter summary. + """ + return self._eyewidthber + + @property + def npj(self) -> MeasurementMeasItemJittersummaryNpj: + """Return the ``MEASUrement:MEAS:JITTERSummary:NPJ`` command. + + Description: + - This command sets or queries whether NPJ is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:NPJ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:NPJ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:NPJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:NPJ {0|1} + - MEASUrement:MEAS:JITTERSummary:NPJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the NPJ measurement as part of jitter summary. + - ``0`` do not add the NPJ measurement as part of jitter summary. + """ + return self._npj + + @property + def pj(self) -> MeasurementMeasItemJittersummaryPj: + """Return the ``MEASUrement:MEAS:JITTERSummary:PJ`` command. + + Description: + - This command sets or queries whether PJ is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:PJ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:PJ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:PJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:PJ {0|1} + - MEASUrement:MEAS:JITTERSummary:PJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the PJ measurement as part of jitter summary. + - ``0`` do not add the PJ measurement as part of jitter summary. + """ + return self._pj + + @property + def rjdd(self) -> MeasurementMeasItemJittersummaryRjdd: + """Return the ``MEASUrement:MEAS:JITTERSummary:RJDD`` command. + + Description: + - This command sets or queries whether RJ-dd is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:JITTERSummary:RJDD?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:RJDD?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:RJDD value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:RJDD {0|1} + - MEASUrement:MEAS:JITTERSummary:RJDD? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the RJ-dd measurement as part of jitter summary. + - ``0`` do not add the RJ-dd measurement as part of jitter summary. + """ + return self._rjdd + + @property + def tie(self) -> MeasurementMeasItemJittersummaryTie: + """Return the ``MEASUrement:MEAS:JITTERSummary:TIE`` command. + + Description: + - This command sets or queries whether TIE is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary:TIE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TIE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TIE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:TIE {0|1} + - MEASUrement:MEAS:JITTERSummary:TIE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the TIE measurement as part of jitter summary. + - ``0`` do not add the TIE measurement as part of jitter summary. + """ + return self._tie + + @property + def tjber(self) -> MeasurementMeasItemJittersummaryTjber: + """Return the ``MEASUrement:MEAS:JITTERSummary:TJBER`` command. + + Description: + - This command sets or queries whether TJ@BER is included in the jitter summary for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TJBER?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TJBER?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary:TJBER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:JITTERSummary:TJBER {0|1} + - MEASUrement:MEAS:JITTERSummary:TJBER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` add the TJ@BER measurement as part of jitter summary. + - ``0`` do not add the TJ@BER measurement as part of jitter summary. + """ + return self._tjber + + +class MeasurementMeasItemInputpower(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:INPUTPOwer`` command. + + Description: + - This command sets or queries the input power value for IEC-Class C and Class D harmonics + standard . + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:INPUTPOwer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:INPUTPOwer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:INPUTPOwer value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:INPUTPOwer + - MEASUrement:MEAS:INPUTPOwer? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` specifies the input power value for class C harmonics standard. + """ + + +class MeasurementMeasItemInputlevel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:INPUTLEVel`` command. + + Description: + - Sets or queries the input trigger voltage level. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:INPUTLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:INPUTLEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:INPUTLEVel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:INPUTLEVel + - MEASUrement:MEAS:INPUTLEVel? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the trigger voltage, in the range of -500 V to +500 V. + """ + + +class MeasurementMeasItemIdletime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:IDLETime`` command. + + Description: + - This command sets or queries the idle time for the measurement when the measurement type + is burst width. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:IDLETime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:IDLETime?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:IDLETime value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:IDLETime + - MEASUrement:MEAS:IDLETime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the idle time. + """ + + +class MeasurementMeasItemHvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HVOLtage`` command. + + Description: + - This command sets or queries the measurement Torque High Voltage value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HVOLtage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HVOLtage?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:HVOLtage value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HVOLtage + - MEASUrement:MEAS:HVOLtage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the High Voltage value of the measurement in the range of 1 to 100. + """ + + +class MeasurementMeasItemHtorque(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HTORque`` command. + + Description: + - This command sets or queries the measurement High Torque value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HTORque?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HTORque?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:HTORque value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HTORque + - MEASUrement:MEAS:HTORque? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the High Torque value of the measurement in the range of 11 to + 10000000. + """ + + +class MeasurementMeasItemHlevelOutputUglobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal`` command. + + Description: + - This command turns on or off output global settings for measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HLEVel:OUTPut:UGLobal {ON|OFF} + - MEASUrement:MEAS:HLEVel:OUTPut:UGLobal? + ``` + + Info: + - ``ON`` sets the output global settings for measurement to on. + - ``OFF`` sets the output global settings for measurement to off. + """ + + +class MeasurementMeasItemHlevelOutput(SCPICmdRead): + """The ``MEASUrement:MEAS:HLEVel:OUTPut`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HLEVel:OUTPut?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HLEVel:OUTPut?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.uglobal``: The ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._uglobal = MeasurementMeasItemHlevelOutputUglobal( + device, f"{self._cmd_syntax}:UGLobal" + ) + + @property + def uglobal(self) -> MeasurementMeasItemHlevelOutputUglobal: + """Return the ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal`` command. + + Description: + - This command turns on or off output global settings for measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HLEVel:OUTPut:UGLobal {ON|OFF} + - MEASUrement:MEAS:HLEVel:OUTPut:UGLobal? + ``` + + Info: + - ``ON`` sets the output global settings for measurement to on. + - ``OFF`` sets the output global settings for measurement to off. + """ + return self._uglobal + + +class MeasurementMeasItemHlevel(SCPICmdRead): + """The ``MEASUrement:MEAS:HLEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HLEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.output``: The ``MEASUrement:MEAS:HLEVel:OUTPut`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._output = MeasurementMeasItemHlevelOutput(device, f"{self._cmd_syntax}:OUTPut") + + @property + def output(self) -> MeasurementMeasItemHlevelOutput: + """Return the ``MEASUrement:MEAS:HLEVel:OUTPut`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HLEVel:OUTPut?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HLEVel:OUTPut?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.uglobal``: The ``MEASUrement:MEAS:HLEVel:OUTPut:UGLobal`` command. + """ + return self._output + + +class MeasurementMeasItemHighrefvoltage(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHREFVoltage`` command. + + Description: + - This command sets or queries the high reference voltage value for the 'time outside level' + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHREFVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HIGHREFVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHREFVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHREFVoltage + - MEASUrement:MEAS:HIGHREFVoltage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the high reference voltage value for the selected configuration. + """ + + +class MeasurementMeasItemHighlevelWiring(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:WIRing`` command. + + Description: + - This command sets or queries the local Input wiring. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel:WIRing?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:WIRing?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:WIRing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:WIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W3|DCP1W2} + - MEASUrement:MEAS:HIGHLEVel:WIRing? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``P1W2V1I1`` specifies P1W2V1I1 as the local input wiring. + - ``P1W3V2I2`` specifies P1W3V2I2 as the local input wiring. + - ``P3W3V2I2`` specifies P3W3V2I2 as the local input wiring. + - ``P3W3V3I3`` specifies P3W3V3I3 as the local input wiring. + - ``P3W3`` specifies P3W3 as the local input wiring. + - ``DCP1W2`` specifies DCP1W2 as the local input wiring. + """ + + +class MeasurementMeasItemHighlevelUseglobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL`` command. + + Description: + - This command sets or queries the IMDA source settings as global or local. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:USEGLOBAL {1|0|ON|OFF} + - MEASUrement:MEAS:HIGHLEVel:USEGLOBAL? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` specifies the source settings as global. + - ``0`` specifies the source settings as local. + - ``ON`` specifies the source settings as global. + - ``OFF`` specifies the source settings as local. + """ + + +class MeasurementMeasItemHighlevelOutwiring(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing`` command. + + Description: + - This command sets or queries the local output wiring. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:MEAS:HIGHLEVel:OUTWIRing? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``P1W2V1I1`` specifies P1W2V1I1 as the local output wiring. + - ``P3W3V2I2`` specifies P3W3V2I2 as the local output wiring. + - ``P3W3V3I3`` specifies P3W3V3I3 as the local output wiring. + - ``P3W4`` specifies P3W4 as the local output wiring. + - ``DCP1W2`` specifies DCP1W2 as the local output wiring. + """ + + +class MeasurementMeasItemHighlevelOutlineselected(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected`` command. + + Description: + - This command sets or queries local output select lines. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:OUTLINESelected {XYZY|XZYZ|YXZX|XN|YN|ZN} + - MEASUrement:MEAS:HIGHLEVel:OUTLINESelected? + ``` + + Info: + - ``XYZY`` specifies the local output select lines as XYZY. + - ``XZYZ`` specifies the local output select lines as XZYZ. + - ``YXZX`` specifies the local output select lines as YXZX. + - ``XN`` specifies the local output select lines as XN. + - ``YN`` specifies the local output select lines as YN. + - ``ZN`` specifies the local output select lines as ZN. + """ + + +class MeasurementMeasItemHighlevelOutl2ltol2n(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N`` command. + + Description: + - This command sets or queries local output Line-to-Line to Line-to-Neutral Conversion . + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N {0|1} + - MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N? + ``` + """ + + +class MeasurementMeasItemHighlevelLineselected(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:LINESelected`` command. + + Description: + - This command sets or queries local input select lines. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:LINESelected?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:LINESelected?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:LINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:LINESelected {ABCB|ACBC|BACA|AN|BN|CN} + - MEASUrement:MEAS:HIGHLEVel:LINESelected? + ``` + + Info: + - ``ABCB`` specifies the local input select lines as ABCB. + - ``ACBC`` specifies the local input select lines as ACBC. + - ``BACA`` specifies the local input select lines as BACA. + - ``AN`` specifies the local input select lines as AN. + - ``BN`` specifies the local input select lines as BN. + - ``CN`` specifies the local input select lines as CN. + """ + + +class MeasurementMeasItemHighlevelL2ltol2n(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N`` command. + + Description: + - This command sets or queries local input Line-to-Line to Line-to-Neutral Conversion. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:L2LTOL2N {0|1} + - MEASUrement:MEAS:HIGHLEVel:L2LTOL2N? + ``` + """ + + +class MeasurementMeasItemHighlevelConfiguration(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration`` command. + + Description: + - This command sets or queries the local input and output configuration. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:CONFIGuration {INPUT|OUTPUT} + - MEASUrement:MEAS:HIGHLEVel:CONFIGuration? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``INPUT`` specifies the local Input or Output source settings as input. + - ``OUTPUT`` specifies the local Input or Output source settings as output. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMeasItemHighlevel(SCPICmdRead): + """The ``MEASUrement:MEAS:HIGHLEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HIGHLEVel?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.configuration``: The ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration`` command. + - ``.l2ltol2n``: The ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N`` command. + - ``.lineselected``: The ``MEASUrement:MEAS:HIGHLEVel:LINESelected`` command. + - ``.outl2ltol2n``: The ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N`` command. + - ``.outlineselected``: The ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected`` command. + - ``.outwiring``: The ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing`` command. + - ``.useglobal``: The ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL`` command. + - ``.wiring``: The ``MEASUrement:MEAS:HIGHLEVel:WIRing`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._configuration = MeasurementMeasItemHighlevelConfiguration( + device, f"{self._cmd_syntax}:CONFIGuration" + ) + self._l2ltol2n = MeasurementMeasItemHighlevelL2ltol2n( + device, f"{self._cmd_syntax}:L2LTOL2N" + ) + self._lineselected = MeasurementMeasItemHighlevelLineselected( + device, f"{self._cmd_syntax}:LINESelected" + ) + self._outl2ltol2n = MeasurementMeasItemHighlevelOutl2ltol2n( + device, f"{self._cmd_syntax}:OUTL2LTOL2N" + ) + self._outlineselected = MeasurementMeasItemHighlevelOutlineselected( + device, f"{self._cmd_syntax}:OUTLINESelected" + ) + self._outwiring = MeasurementMeasItemHighlevelOutwiring( + device, f"{self._cmd_syntax}:OUTWIRing" + ) + self._useglobal = MeasurementMeasItemHighlevelUseglobal( + device, f"{self._cmd_syntax}:USEGLOBAL" + ) + self._wiring = MeasurementMeasItemHighlevelWiring(device, f"{self._cmd_syntax}:WIRing") + + @property + def configuration(self) -> MeasurementMeasItemHighlevelConfiguration: + """Return the ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration`` command. + + Description: + - This command sets or queries the local input and output configuration. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:CONFIGuration {INPUT|OUTPUT} + - MEASUrement:MEAS:HIGHLEVel:CONFIGuration? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``INPUT`` specifies the local Input or Output source settings as input. + - ``OUTPUT`` specifies the local Input or Output source settings as output. + """ + return self._configuration + + @property + def l2ltol2n(self) -> MeasurementMeasItemHighlevelL2ltol2n: + """Return the ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N`` command. + + Description: + - This command sets or queries local input Line-to-Line to Line-to-Neutral Conversion. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:L2LTOL2N {0|1} + - MEASUrement:MEAS:HIGHLEVel:L2LTOL2N? + ``` + """ + return self._l2ltol2n + + @property + def lineselected(self) -> MeasurementMeasItemHighlevelLineselected: + """Return the ``MEASUrement:MEAS:HIGHLEVel:LINESelected`` command. + + Description: + - This command sets or queries local input select lines. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:LINESelected?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:LINESelected?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:LINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:LINESelected {ABCB|ACBC|BACA|AN|BN|CN} + - MEASUrement:MEAS:HIGHLEVel:LINESelected? + ``` + + Info: + - ``ABCB`` specifies the local input select lines as ABCB. + - ``ACBC`` specifies the local input select lines as ACBC. + - ``BACA`` specifies the local input select lines as BACA. + - ``AN`` specifies the local input select lines as AN. + - ``BN`` specifies the local input select lines as BN. + - ``CN`` specifies the local input select lines as CN. + """ + return self._lineselected + + @property + def outl2ltol2n(self) -> MeasurementMeasItemHighlevelOutl2ltol2n: + """Return the ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N`` command. + + Description: + - This command sets or queries local output Line-to-Line to Line-to-Neutral Conversion . + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N {0|1} + - MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N? + ``` + """ + return self._outl2ltol2n + + @property + def outlineselected(self) -> MeasurementMeasItemHighlevelOutlineselected: + """Return the ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected`` command. + + Description: + - This command sets or queries local output select lines. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:OUTLINESelected {XYZY|XZYZ|YXZX|XN|YN|ZN} + - MEASUrement:MEAS:HIGHLEVel:OUTLINESelected? + ``` + + Info: + - ``XYZY`` specifies the local output select lines as XYZY. + - ``XZYZ`` specifies the local output select lines as XZYZ. + - ``YXZX`` specifies the local output select lines as YXZX. + - ``XN`` specifies the local output select lines as XN. + - ``YN`` specifies the local output select lines as YN. + - ``ZN`` specifies the local output select lines as ZN. + """ + return self._outlineselected + + @property + def outwiring(self) -> MeasurementMeasItemHighlevelOutwiring: + """Return the ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing`` command. + + Description: + - This command sets or queries the local output wiring. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:MEAS:HIGHLEVel:OUTWIRing? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``P1W2V1I1`` specifies P1W2V1I1 as the local output wiring. + - ``P3W3V2I2`` specifies P3W3V2I2 as the local output wiring. + - ``P3W3V3I3`` specifies P3W3V3I3 as the local output wiring. + - ``P3W4`` specifies P3W4 as the local output wiring. + - ``DCP1W2`` specifies DCP1W2 as the local output wiring. + """ + return self._outwiring + + @property + def useglobal(self) -> MeasurementMeasItemHighlevelUseglobal: + """Return the ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL`` command. + + Description: + - This command sets or queries the IMDA source settings as global or local. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:USEGLOBAL {1|0|ON|OFF} + - MEASUrement:MEAS:HIGHLEVel:USEGLOBAL? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` specifies the source settings as global. + - ``0`` specifies the source settings as local. + - ``ON`` specifies the source settings as global. + - ``OFF`` specifies the source settings as local. + """ + return self._useglobal + + @property + def wiring(self) -> MeasurementMeasItemHighlevelWiring: + """Return the ``MEASUrement:MEAS:HIGHLEVel:WIRing`` command. + + Description: + - This command sets or queries the local Input wiring. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel:WIRing?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:WIRing?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHLEVel:WIRing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHLEVel:WIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W3|DCP1W2} + - MEASUrement:MEAS:HIGHLEVel:WIRing? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``P1W2V1I1`` specifies P1W2V1I1 as the local input wiring. + - ``P1W3V2I2`` specifies P1W3V2I2 as the local input wiring. + - ``P3W3V2I2`` specifies P3W3V2I2 as the local input wiring. + - ``P3W3V3I3`` specifies P3W3V3I3 as the local input wiring. + - ``P3W3`` specifies P3W3 as the local input wiring. + - ``DCP1W2`` specifies DCP1W2 as the local input wiring. + """ + return self._wiring + + +class MeasurementMeasItemHarmonicsunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HARMONICSUNits`` command. + + Description: + - This command sets or queries harmonics units. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HARMONICSUNits?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSUNits value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSUNits {LOGARITHM|LINEAR} + - MEASUrement:MEAS:HARMONICSUNits? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``LOGARITHM`` specifies logarithmic as the harmonics units. + - ``LINEAR`` specifies linear as the harmonics units. + """ + + +class MeasurementMeasItemHarmonicsstd(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HARMONICSStd`` command. + + Description: + - This command sets or queries harmonics standard. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSStd?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HARMONICSStd?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSStd value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSStd {NONE|IEC|IEEE519|CUSTOM} + - MEASUrement:MEAS:HARMONICSStd? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies none as the harmonics test standard. + - ``IEC`` specifies IEC as the harmonics test standard. + - ``IEEE519`` specifies IEEE519 as the harmonics test standard. + - ``CUSTOM`` specifies that there is a custom harmonics test standard. + """ + + +class MeasurementMeasItemHarmonicssource(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HARMONICSSOURce`` command. + + Description: + - This command sets or queries harmonics source. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSSOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HARMONICSSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSSOURce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSSOURce {CURRENT|VOLTAGE} + - MEASUrement:MEAS:HARMONICSSOURce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``CURRENT`` specifies current as the harmonics source. + - ``VOLTAGE`` specifies voltage as the harmonics source. + """ + + +class MeasurementMeasItemHarmonicsclass(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:HARMONICSCLass`` command. + + Description: + - This command sets or queries the class type for the harmonics measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSCLass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HARMONICSCLass?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSCLass value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSCLass {CLASSA|CLASSB|CLASSC|CLASSD} + - MEASUrement:MEAS:HARMONICSCLass? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``CLASSA`` specifies the class type to A. + - ``CLASSB`` specifies the class type to B. + - ``CLASSC`` specifies the class type to C. + - ``CLASSD`` specifies the class type to D. + """ + + +class MeasurementMeasItemGlobalref(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GLOBalref`` command. + + Description: + - This command sets or queries the reference levels global flag for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GLOBalref?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GLOBalref?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:GLOBalref value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GLOBalref {OFF|ON|0|1} + - MEASUrement:MEAS:GLOBalref? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` allows ref levels to be set separately for each measurement. + - ``ON`` applies the same ref levels to all measurements. + - ``0`` allows ref levels to be set separately for each measurement. + - ``1`` applies the same ref levels to all measurements. + """ + + +class MeasurementMeasItemGatingStarttime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing:STARTtime`` command. + + Description: + - Sets or queries the start gate time for the measurement when using Local gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:STARTtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:STARTtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:STARTtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:STARTtime + - MEASUrement:MEAS:GATing:STARTtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the time gating start gate time in seconds. The valid range is -10000 s to + 10000 s. + """ + + +class MeasurementMeasItemGatingSearchsource(SCPICmdWrite): + """The ``MEASUrement:MEAS:GATing:SEARCHSource`` command. + + Description: + - This command sets or queries the gating search source when the gating type is search. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:SEARCHSource value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:SEARCHSource SEARCH1 + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SEARCH1`` is the gating source for search gating. + """ + + +class MeasurementMeasItemGatingMidref(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing:MIDRef`` command. + + Description: + - This command sets or queries the gating mid ref value when the gating type is logic. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:MIDRef?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GATing:MIDRef?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:MIDRef value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:MIDRef + - MEASUrement:MEAS:GATing:MIDRef? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the mid ref value for gating. + """ + + +class MeasurementMeasItemGatingLogicsource(SCPICmdWrite): + """The ``MEASUrement:MEAS:GATing:LOGICSource`` command. + + Description: + - This command sets or queries the gating data source when the gating type is logic. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:LOGICSource value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:LOGICSource {S_Ch|CH|MATH|REF} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementMeasItemGatingHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing:HYSTeresis`` command. + + Description: + - This command sets or queries the gating hysteresis value when the gating type is logic. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:HYSTeresis?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:HYSTeresis + - MEASUrement:MEAS:GATing:HYSTeresis? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the gating hysteresis. + """ + + +class MeasurementMeasItemGatingGlobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing:GLOBal`` command. + + Description: + - This command sets or queries the gating settings global flag. Measurements are specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:GLOBal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GATing:GLOBal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:GATing:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` specifies gate settings can be changed independently for each individual + measurement. + - ``ON`` applies global gate settings to all the measurements' gate settings. + - ``0`` specifies gate settings can be changed independently for each individual + measurement. + - ``1`` applies global gate settings to all the measurements' gate settings. + """ + + +class MeasurementMeasItemGatingEndtime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing:ENDtime`` command. + + Description: + - Sets or queries the end gate time for the measurement when using Local gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:ENDtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GATing:ENDtime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:ENDtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:ENDtime + - MEASUrement:MEAS:GATing:ENDtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the time gating end gate time in seconds. The valid range is -10000 s to + 10000 s. + """ + + +class MeasurementMeasItemGatingActive(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing:ACTive`` command. + + Description: + - This command sets or queries the gating active level when the gating type is logic. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:ACTive?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GATing:ACTive?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:ACTive value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:ACTive {HIGH|LOW} + - MEASUrement:MEAS:GATing:ACTive? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HIGH`` takes a measurement when logic gating is High. + - ``LOW`` takes a measurement when logic gating Low. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMeasItemGating(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:GATing`` command. + + Description: + - This command sets or queries the gating type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GATing?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:GATing value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing {NONE|SCREEN|CURSor|LOGic|SEARch|TIMe} + - MEASUrement:MEAS:GATing? + ``` + + Info: + - ``MEAS`` is the measurement number for which to return a value. + - ``NONE`` specifies measurements are taken across the entire record. + - ``SCREEN`` turns on gating, using the left and right edges of the screen. + - ``CURSor`` limits measurements to the portion of the waveform between the vertical bar + cursors, even if they are off screen. + - ``LOGic`` specifies that measurements are taken only when the logical state of other + waveforms is true. + - ``SEARch`` specifies that measurements are taken only where the results of a user + specified search are found. + - ``TIMe`` limits measurements to the portion of the waveform between the Start and End gate + times. + + Properties: + - ``.active``: The ``MEASUrement:MEAS:GATing:ACTive`` command. + - ``.endtime``: The ``MEASUrement:MEAS:GATing:ENDtime`` command. + - ``.global``: The ``MEASUrement:MEAS:GATing:GLOBal`` command. + - ``.hysteresis``: The ``MEASUrement:MEAS:GATing:HYSTeresis`` command. + - ``.logicsource``: The ``MEASUrement:MEAS:GATing:LOGICSource`` command. + - ``.midref``: The ``MEASUrement:MEAS:GATing:MIDRef`` command. + - ``.searchsource``: The ``MEASUrement:MEAS:GATing:SEARCHSource`` command. + - ``.starttime``: The ``MEASUrement:MEAS:GATing:STARTtime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._active = MeasurementMeasItemGatingActive(device, f"{self._cmd_syntax}:ACTive") + self._endtime = MeasurementMeasItemGatingEndtime(device, f"{self._cmd_syntax}:ENDtime") + self._global = MeasurementMeasItemGatingGlobal(device, f"{self._cmd_syntax}:GLOBal") + self._hysteresis = MeasurementMeasItemGatingHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._logicsource = MeasurementMeasItemGatingLogicsource( + device, f"{self._cmd_syntax}:LOGICSource" + ) + self._midref = MeasurementMeasItemGatingMidref(device, f"{self._cmd_syntax}:MIDRef") + self._searchsource = MeasurementMeasItemGatingSearchsource( + device, f"{self._cmd_syntax}:SEARCHSource" + ) + self._starttime = MeasurementMeasItemGatingStarttime( + device, f"{self._cmd_syntax}:STARTtime" + ) + + @property + def active(self) -> MeasurementMeasItemGatingActive: + """Return the ``MEASUrement:MEAS:GATing:ACTive`` command. + + Description: + - This command sets or queries the gating active level when the gating type is logic. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:ACTive?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:ACTive?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:ACTive value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:ACTive {HIGH|LOW} + - MEASUrement:MEAS:GATing:ACTive? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HIGH`` takes a measurement when logic gating is High. + - ``LOW`` takes a measurement when logic gating Low. + """ + return self._active + + @property + def endtime(self) -> MeasurementMeasItemGatingEndtime: + """Return the ``MEASUrement:MEAS:GATing:ENDtime`` command. + + Description: + - Sets or queries the end gate time for the measurement when using Local gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:ENDtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:ENDtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:ENDtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:ENDtime + - MEASUrement:MEAS:GATing:ENDtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the time gating end gate time in seconds. The valid range is -10000 s to + 10000 s. + """ + return self._endtime + + @property + def global_(self) -> MeasurementMeasItemGatingGlobal: + """Return the ``MEASUrement:MEAS:GATing:GLOBal`` command. + + Description: + - This command sets or queries the gating settings global flag. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:GATing:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` specifies gate settings can be changed independently for each individual + measurement. + - ``ON`` applies global gate settings to all the measurements' gate settings. + - ``0`` specifies gate settings can be changed independently for each individual + measurement. + - ``1`` applies global gate settings to all the measurements' gate settings. + """ + return self._global + + @property + def hysteresis(self) -> MeasurementMeasItemGatingHysteresis: + """Return the ``MEASUrement:MEAS:GATing:HYSTeresis`` command. + + Description: + - This command sets or queries the gating hysteresis value when the gating type is + logic. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:HYSTeresis?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:HYSTeresis + - MEASUrement:MEAS:GATing:HYSTeresis? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the gating hysteresis. + """ + return self._hysteresis + + @property + def logicsource(self) -> MeasurementMeasItemGatingLogicsource: + """Return the ``MEASUrement:MEAS:GATing:LOGICSource`` command. + + Description: + - This command sets or queries the gating data source when the gating type is logic. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:LOGICSource value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:LOGICSource {S_Ch|CH|MATH|REF} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._logicsource + + @property + def midref(self) -> MeasurementMeasItemGatingMidref: + """Return the ``MEASUrement:MEAS:GATing:MIDRef`` command. + + Description: + - This command sets or queries the gating mid ref value when the gating type is logic. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:MIDRef?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:MIDRef?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:MIDRef value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:MIDRef + - MEASUrement:MEAS:GATing:MIDRef? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the mid ref value for gating. + """ + return self._midref + + @property + def searchsource(self) -> MeasurementMeasItemGatingSearchsource: + """Return the ``MEASUrement:MEAS:GATing:SEARCHSource`` command. + + Description: + - This command sets or queries the gating search source when the gating type is search. + The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:SEARCHSource value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:SEARCHSource SEARCH1 + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SEARCH1`` is the gating source for search gating. + """ + return self._searchsource + + @property + def starttime(self) -> MeasurementMeasItemGatingStarttime: + """Return the ``MEASUrement:MEAS:GATing:STARTtime`` command. + + Description: + - Sets or queries the start gate time for the measurement when using Local gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing:STARTtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:GATing:STARTtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GATing:STARTtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing:STARTtime + - MEASUrement:MEAS:GATing:STARTtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the time gating start gate time in seconds. The valid range is -10000 s + to 10000 s. + """ + return self._starttime + + +class MeasurementMeasItemFundcurrent(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FUNDCURRent`` command. + + Description: + - This command sets or queries the fundamental current value for IEC-Class C type harmonics + standard. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FUNDCURRent?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FUNDCURRent?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:FUNDCURRent value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FUNDCURRent + - MEASUrement:MEAS:FUNDCURRent? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the fundamental current for class C harmonics standard. + """ + + +class MeasurementMeasItemFromedge(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMedge`` command. + + Description: + - This command sets or queries the from edge type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FROMedge?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FROMedge?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:FROMedge value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMedge {RISe|FALL|BOTH} + - MEASUrement:MEAS:FROMedge? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both the rising and falling edges of the waveform. + """ + + +class MeasurementMeasItemFromsymbolMeasureat(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMSymbol:MEASUREAT`` command. + + Description: + - This command sets or queries the DDR digital measurement From Symbol MeasureAT value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FROMSymbol:MEASUREAT?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:MEASUREAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:MEASUREAT value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:FROMSymbol:MEASUREAT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``Start`` sets the FromSymbol MeasureAT to Start. + - ``Stop`` sets the FromSymbol MeasureAT to Stop. + - ``ClockEdge`` sets the FromSymbol MeasureAT to ClockEdge. + """ + + +class MeasurementMeasItemFromsymbolLogic5source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 4 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 4 From Symbol to H (High). + - ``L`` sets the logic source 4 From Symbol to L (Low). + - ``X`` sets the logic source 4 From Symbol to X (Don't care). + """ + + +class MeasurementMeasItemFromsymbolLogic4source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 3 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 3 From Symbol to H (High). + - ``L`` sets the logic source 3 From Symbol to L (Low). + - ``X`` sets the logic source 3 From Symbol to X (Don't care). + """ + + +class MeasurementMeasItemFromsymbolLogic3source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 2 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 2 From Symbol to H (High). + - ``L`` sets the logic source 2 From Symbol to L (Low). + - ``X`` sets the logic source 2 From Symbol to X (Don't care). + """ + + +class MeasurementMeasItemFromsymbolLogic2source(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 1 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 1 From Symbol to H (High). + - ``L`` sets the logic source 1 From Symbol to L (Low). + - ``X`` sets the logic source 1 From Symbol to X (Don't care). + """ + + +class MeasurementMeasItemFromsymbol(SCPICmdRead): + """The ``MEASUrement:MEAS:FROMSymbol`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FROMSymbol?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FROMSymbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.logic2source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce`` command. + - ``.logic3source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce`` command. + - ``.logic4source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce`` command. + - ``.logic5source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce`` command. + - ``.measureat``: The ``MEASUrement:MEAS:FROMSymbol:MEASUREAT`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logic2source = MeasurementMeasItemFromsymbolLogic2source( + device, f"{self._cmd_syntax}:LOGIC2SOUrce" + ) + self._logic3source = MeasurementMeasItemFromsymbolLogic3source( + device, f"{self._cmd_syntax}:LOGIC3SOUrce" + ) + self._logic4source = MeasurementMeasItemFromsymbolLogic4source( + device, f"{self._cmd_syntax}:LOGIC4SOUrce" + ) + self._logic5source = MeasurementMeasItemFromsymbolLogic5source( + device, f"{self._cmd_syntax}:LOGIC5SOUrce" + ) + self._measureat = MeasurementMeasItemFromsymbolMeasureat( + device, f"{self._cmd_syntax}:MEASUREAT" + ) + + @property + def logic2source(self) -> MeasurementMeasItemFromsymbolLogic2source: + """Return the ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 1 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 1 From Symbol to H (High). + - ``L`` sets the logic source 1 From Symbol to L (Low). + - ``X`` sets the logic source 1 From Symbol to X (Don't care). + """ + return self._logic2source + + @property + def logic3source(self) -> MeasurementMeasItemFromsymbolLogic3source: + """Return the ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 2 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 2 From Symbol to H (High). + - ``L`` sets the logic source 2 From Symbol to L (Low). + - ``X`` sets the logic source 2 From Symbol to X (Don't care). + """ + return self._logic3source + + @property + def logic4source(self) -> MeasurementMeasItemFromsymbolLogic4source: + """Return the ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 3 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 3 From Symbol to H (High). + - ``L`` sets the logic source 3 From Symbol to L (Low). + - ``X`` sets the logic source 3 From Symbol to X (Don't care). + """ + return self._logic4source + + @property + def logic5source(self) -> MeasurementMeasItemFromsymbolLogic5source: + """Return the ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce`` command. + + Description: + - This command sets or queries the DDR digital measurement logic 4 source From symbol. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce {H|L|X} + - MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``H`` sets the logic source 4 From Symbol to H (High). + - ``L`` sets the logic source 4 From Symbol to L (Low). + - ``X`` sets the logic source 4 From Symbol to X (Don't care). + """ + return self._logic5source + + @property + def measureat(self) -> MeasurementMeasItemFromsymbolMeasureat: + """Return the ``MEASUrement:MEAS:FROMSymbol:MEASUREAT`` command. + + Description: + - This command sets or queries the DDR digital measurement From Symbol MeasureAT value. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMSymbol:MEASUREAT?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:MEASUREAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMSymbol:MEASUREAT value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMSymbol:MEASUREAT {Start|Stop|ClockEdge} + - MEASUrement:MEAS:FROMSymbol:MEASUREAT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``Start`` sets the FromSymbol MeasureAT to Start. + - ``Stop`` sets the FromSymbol MeasureAT to Stop. + - ``ClockEdge`` sets the FromSymbol MeasureAT to ClockEdge. + """ + return self._measureat + + +class MeasurementMeasItemFromedgesearchdirect(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FROMEDGESEARCHDIRect`` command. + + Description: + - This command sets or queries the from edge search direction for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FROMEDGESEARCHDIRect?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMEDGESEARCHDIRect?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMEDGESEARCHDIRect value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:FROMEDGESEARCHDIRect? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FORWard`` specifies a forward search from the edge. + - ``BACKWard`` specifies a backward search from the edge. + """ + + +class MeasurementMeasItemFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FREQ`` command. + + Description: + - This command sets or queries switching frequency for Switching Ripple measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FREQ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FREQ?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:FREQ value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FREQ + - MEASUrement:MEAS:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the switching frequency. The default is 100k Hz, The minimum is 50 Hz, + and the maximum is 1 GHz. + """ + + +class MeasurementMeasItemFiltersRamptime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:RAMPtime`` command. + + Description: + - This command sets or queries the filter ramp time for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:RAMPtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:RAMPtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:RAMPtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:RAMPtime + - MEASUrement:MEAS:FILTers:RAMPtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current filter ramp time. + """ + + +class MeasurementMeasItemFiltersLowpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:LOWPass:SPEC`` command. + + Description: + - This command sets or queries the low pass filter order for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:LOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:FILTers:LOWPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies no filter. + - ``FIRST`` specifies a first-order filter. + - ``SECOND`` specifies a second-order filter. + - ``THIRD`` specifies a third-order filter. + """ + + +class MeasurementMeasItemFiltersLowpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:LOWPass:FREQ`` command. + + Description: + - This command sets or queries the low pass filter cutoff frequency for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:LOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:LOWPass:FREQ + - MEASUrement:MEAS:FILTers:LOWPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current low pass filter frequency. The argument range is 20 Hz to 10e6 + Hz. + """ + + +class MeasurementMeasItemFiltersLowpass(SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:LOWPass?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FILTers:LOWPass?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.freq``: The ``MEASUrement:MEAS:FILTers:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:FILTers:LOWPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementMeasItemFiltersLowpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementMeasItemFiltersLowpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementMeasItemFiltersLowpassFreq: + """Return the ``MEASUrement:MEAS:FILTers:LOWPass:FREQ`` command. + + Description: + - This command sets or queries the low pass filter cutoff frequency for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:LOWPass:FREQ + - MEASUrement:MEAS:FILTers:LOWPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current low pass filter frequency. The argument range is 20 Hz to + 10e6 Hz. + """ + return self._freq + + @property + def spec(self) -> MeasurementMeasItemFiltersLowpassSpec: + """Return the ``MEASUrement:MEAS:FILTers:LOWPass:SPEC`` command. + + Description: + - This command sets or queries the low pass filter order for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:FILTers:LOWPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies no filter. + - ``FIRST`` specifies a first-order filter. + - ``SECOND`` specifies a second-order filter. + - ``THIRD`` specifies a third-order filter. + """ + return self._spec + + +class MeasurementMeasItemFiltersHighpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC`` command. + + Description: + - This command sets or queries the high pass filter order for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:HIGHPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:FILTers:HIGHPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies no filter. + - ``FIRST`` specifies a first-order filter. + - ``SECOND`` specifies a second-order filter. + - ``THIRD`` specifies a third-order filter. + """ + + +class MeasurementMeasItemFiltersHighpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ`` command. + + Description: + - This command sets or queries the high pass filter frequency for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:HIGHPass:FREQ + - MEASUrement:MEAS:FILTers:HIGHPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current high pass filter frequency. + """ + + +class MeasurementMeasItemFiltersHighpass(SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:HIGHPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:HIGHPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.freq``: The ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementMeasItemFiltersHighpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementMeasItemFiltersHighpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementMeasItemFiltersHighpassFreq: + """Return the ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ`` command. + + Description: + - This command sets or queries the high pass filter frequency for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:HIGHPass:FREQ + - MEASUrement:MEAS:FILTers:HIGHPass:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current high pass filter frequency. + """ + return self._freq + + @property + def spec(self) -> MeasurementMeasItemFiltersHighpassSpec: + """Return the ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC`` command. + + Description: + - This command sets or queries the high pass filter order for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:HIGHPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:MEAS:FILTers:HIGHPass:SPEC? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies no filter. + - ``FIRST`` specifies a first-order filter. + - ``SECOND`` specifies a second-order filter. + - ``THIRD`` specifies a third-order filter. + """ + return self._spec + + +class MeasurementMeasItemFiltersGlobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:GLOBal`` command. + + Description: + - This command sets or queries the global flag for filter settings for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:GLOBal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FILTers:GLOBal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:FILTers:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` causes filter settings to be changed independently for each individual + measurement. + - ``ON`` applies global filter settings to all the measurements' filter settings. + - ``0`` causes filter settings to be changed independently for each individual measurement. + - ``1`` applies global filter settings to all the measurements' filter settings. + """ + + +class MeasurementMeasItemFiltersBlankingtime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers:BLANKingtime`` command. + + Description: + - This command sets or queries the filter blanking time for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:BLANKingtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:BLANKingtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:BLANKingtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:BLANKingtime + - MEASUrement:MEAS:FILTers:BLANKingtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current filter blanking time. + """ + + +class MeasurementMeasItemFilters(SCPICmdRead): + """The ``MEASUrement:MEAS:FILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FILTers?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.blankingtime``: The ``MEASUrement:MEAS:FILTers:BLANKingtime`` command. + - ``.global``: The ``MEASUrement:MEAS:FILTers:GLOBal`` command. + - ``.highpass``: The ``MEASUrement:MEAS:FILTers:HIGHPass`` command tree. + - ``.lowpass``: The ``MEASUrement:MEAS:FILTers:LOWPass`` command tree. + - ``.ramptime``: The ``MEASUrement:MEAS:FILTers:RAMPtime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blankingtime = MeasurementMeasItemFiltersBlankingtime( + device, f"{self._cmd_syntax}:BLANKingtime" + ) + self._global = MeasurementMeasItemFiltersGlobal(device, f"{self._cmd_syntax}:GLOBal") + self._highpass = MeasurementMeasItemFiltersHighpass(device, f"{self._cmd_syntax}:HIGHPass") + self._lowpass = MeasurementMeasItemFiltersLowpass(device, f"{self._cmd_syntax}:LOWPass") + self._ramptime = MeasurementMeasItemFiltersRamptime(device, f"{self._cmd_syntax}:RAMPtime") + + @property + def blankingtime(self) -> MeasurementMeasItemFiltersBlankingtime: + """Return the ``MEASUrement:MEAS:FILTers:BLANKingtime`` command. + + Description: + - This command sets or queries the filter blanking time for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FILTers:BLANKingtime?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:BLANKingtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:BLANKingtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:BLANKingtime + - MEASUrement:MEAS:FILTers:BLANKingtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current filter blanking time. + """ + return self._blankingtime + + @property + def global_(self) -> MeasurementMeasItemFiltersGlobal: + """Return the ``MEASUrement:MEAS:FILTers:GLOBal`` command. + + Description: + - This command sets or queries the global flag for filter settings for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:FILTers:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` causes filter settings to be changed independently for each individual + measurement. + - ``ON`` applies global filter settings to all the measurements' filter settings. + - ``0`` causes filter settings to be changed independently for each individual + measurement. + - ``1`` applies global filter settings to all the measurements' filter settings. + """ + return self._global + + @property + def highpass(self) -> MeasurementMeasItemFiltersHighpass: + """Return the ``MEASUrement:MEAS:FILTers:HIGHPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:HIGHPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:HIGHPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.freq``: The ``MEASUrement:MEAS:FILTers:HIGHPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:FILTers:HIGHPass:SPEC`` command. + """ + return self._highpass + + @property + def lowpass(self) -> MeasurementMeasItemFiltersLowpass: + """Return the ``MEASUrement:MEAS:FILTers:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:LOWPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:LOWPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.freq``: The ``MEASUrement:MEAS:FILTers:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:MEAS:FILTers:LOWPass:SPEC`` command. + """ + return self._lowpass + + @property + def ramptime(self) -> MeasurementMeasItemFiltersRamptime: + """Return the ``MEASUrement:MEAS:FILTers:RAMPtime`` command. + + Description: + - This command sets or queries the filter ramp time for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers:RAMPtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTers:RAMPtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTers:RAMPtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTers:RAMPtime + - MEASUrement:MEAS:FILTers:RAMPtime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the current filter ramp time. + """ + return self._ramptime + + +class MeasurementMeasItemFilterrangeto(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTERRANGETO`` command. + + Description: + - This command sets or queries harmonics filter to order. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTERRANGETO?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FILTERRANGETO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTERRANGETO value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTERRANGETO + - MEASUrement:MEAS:FILTERRANGETO? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the filter range to value. The default value is 50. + """ + + +class MeasurementMeasItemFilterrangefrom(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:FILTERRANGEFROM`` command. + + Description: + - This command sets or queries harmonics filter from order. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTERRANGEFROM?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FILTERRANGEFROM?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTERRANGEFROM value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTERRANGEFROM + - MEASUrement:MEAS:FILTERRANGEFROM? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the filter range from value. The default value is 1. + """ + + +class MeasurementMeasItemFailcount(SCPICmdRead): + """The ``MEASUrement:MEAS:FAILCount`` command. + + Description: + - This command returns the number of measurement failures, if applicable, for the selected + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FAILCount?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FAILCount?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FAILCount? + ``` + """ + + +class MeasurementMeasItemEequal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EEQUal`` command. + + Description: + - This command turns on or off the edge qualifier settings as input waveform to measurement. + The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EEQUal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EEQUal?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EEQUal value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EEQUal {ON|OFF} + - MEASUrement:MEAS:EEQUal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ON`` specifies the edge qualifier settings has been turned on. + - ``OFF`` specifies the edge qualifier settings has been turned off. + """ + + +class MeasurementMeasItemEdgesUpperfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:UPPERFREQuency`` command. + + Description: + - This command sets or queries the upper frequency for the measurement when the measurement + type is phase noise. Higher frequencies are ignored. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:UPPERFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:UPPERFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:UPPERFREQuency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:UPPERFREQuency + - MEASUrement:MEAS:EDGES:UPPERFREQuency? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the upper frequency of the edge. + """ + + +class MeasurementMeasItemEdgesTolevel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:TOLevel`` command. + + Description: + - This command sets or queries the 'to level' edge for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:TOLevel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES:TOLevel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:TOLevel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:TOLevel {HIGH|MID|LOW} + - MEASUrement:MEAS:EDGES:TOLevel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HIGH`` specifies the HIGH level. + - ``MID`` specifies the MID level. + - ``LOW`` specifies the LOW level. + """ + + +class MeasurementMeasItemEdgesSlewratemethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:SLEWRATEMethod`` command. + + Description: + - This command sets or queries the slew rate method for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:SLEWRATEMethod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:SLEWRATEMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:SLEWRATEMethod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:SLEWRATEMethod {NOMinal|DDR} + - MEASUrement:MEAS:EDGES:SLEWRATEMethod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NOMinal`` specifies the nominal slew rate method. + - ``DDR`` specifies the DDR slew rate method. + """ + + +class MeasurementMeasItemEdgesN(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:N`` command. + + Description: + - The command sets or queries the number of accumulation cycles for the measurement when the + measurement type is nperiod. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:N?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES:N?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGES:N value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:N + - MEASUrement:MEAS:EDGES:N? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the maximum number of edges used by the measurement. + """ + + +class MeasurementMeasItemEdgesLowerfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:LOWERFREQuency`` command. + + Description: + - This command sets or queries the lower frequency for the measurement when the measurement + type is phase noise. Lower frequencies are ignored. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:LOWERFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:LOWERFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:LOWERFREQuency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:LOWERFREQuency + - MEASUrement:MEAS:EDGES:LOWERFREQuency? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the lower frequency of the edge. + """ + + +class MeasurementMeasItemEdgesLevel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:LEVel`` command. + + Description: + - This sets or queries the level type for the 'time outside level' measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGES:LEVel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:LEVel {HIGH|LOW|BOTH} + - MEASUrement:MEAS:EDGES:LEVel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HIGH`` specifies the HIGH level. + - ``LOW`` specifies the LOW level. + - ``BOTH`` specifies both the HIGH and LOW level. + """ + + +class MeasurementMeasItemEdgesFromlevel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES:FROMLevel`` command. + + Description: + - This command sets or queries the 'from level' edge for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:FROMLevel?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES:FROMLevel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:FROMLevel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:FROMLevel {MID|LOW|HIGH} + - MEASUrement:MEAS:EDGES:FROMLevel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``MID`` specifies the MID level. + - ``HIGH`` specifies the HIGH level. + - ``LOW`` specifies the LOW level. + """ + + +class MeasurementMeasItemEdges(SCPICmdRead): + """The ``MEASUrement:MEAS:EDGES`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.fromlevel``: The ``MEASUrement:MEAS:EDGES:FROMLevel`` command. + - ``.level``: The ``MEASUrement:MEAS:EDGES:LEVel`` command. + - ``.lowerfrequency``: The ``MEASUrement:MEAS:EDGES:LOWERFREQuency`` command. + - ``.n``: The ``MEASUrement:MEAS:EDGES:N`` command. + - ``.slewratemethod``: The ``MEASUrement:MEAS:EDGES:SLEWRATEMethod`` command. + - ``.tolevel``: The ``MEASUrement:MEAS:EDGES:TOLevel`` command. + - ``.upperfrequency``: The ``MEASUrement:MEAS:EDGES:UPPERFREQuency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fromlevel = MeasurementMeasItemEdgesFromlevel(device, f"{self._cmd_syntax}:FROMLevel") + self._level = MeasurementMeasItemEdgesLevel(device, f"{self._cmd_syntax}:LEVel") + self._lowerfrequency = MeasurementMeasItemEdgesLowerfrequency( + device, f"{self._cmd_syntax}:LOWERFREQuency" + ) + self._n = MeasurementMeasItemEdgesN(device, f"{self._cmd_syntax}:N") + self._slewratemethod = MeasurementMeasItemEdgesSlewratemethod( + device, f"{self._cmd_syntax}:SLEWRATEMethod" + ) + self._tolevel = MeasurementMeasItemEdgesTolevel(device, f"{self._cmd_syntax}:TOLevel") + self._upperfrequency = MeasurementMeasItemEdgesUpperfrequency( + device, f"{self._cmd_syntax}:UPPERFREQuency" + ) + + @property + def fromlevel(self) -> MeasurementMeasItemEdgesFromlevel: + """Return the ``MEASUrement:MEAS:EDGES:FROMLevel`` command. + + Description: + - This command sets or queries the 'from level' edge for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:FROMLevel?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:FROMLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:FROMLevel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:FROMLevel {MID|LOW|HIGH} + - MEASUrement:MEAS:EDGES:FROMLevel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``MID`` specifies the MID level. + - ``HIGH`` specifies the HIGH level. + - ``LOW`` specifies the LOW level. + """ + return self._fromlevel + + @property + def level(self) -> MeasurementMeasItemEdgesLevel: + """Return the ``MEASUrement:MEAS:EDGES:LEVel`` command. + + Description: + - This sets or queries the level type for the 'time outside level' measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES:LEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:LEVel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:LEVel {HIGH|LOW|BOTH} + - MEASUrement:MEAS:EDGES:LEVel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HIGH`` specifies the HIGH level. + - ``LOW`` specifies the LOW level. + - ``BOTH`` specifies both the HIGH and LOW level. + """ + return self._level + + @property + def lowerfrequency(self) -> MeasurementMeasItemEdgesLowerfrequency: + """Return the ``MEASUrement:MEAS:EDGES:LOWERFREQuency`` command. + + Description: + - This command sets or queries the lower frequency for the measurement when the + measurement type is phase noise. Lower frequencies are ignored. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:EDGES:LOWERFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:LOWERFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:LOWERFREQuency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:LOWERFREQuency + - MEASUrement:MEAS:EDGES:LOWERFREQuency? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the lower frequency of the edge. + """ + return self._lowerfrequency + + @property + def n(self) -> MeasurementMeasItemEdgesN: + """Return the ``MEASUrement:MEAS:EDGES:N`` command. + + Description: + - The command sets or queries the number of accumulation cycles for the measurement when + the measurement type is nperiod. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:N?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES:N?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGES:N value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:N + - MEASUrement:MEAS:EDGES:N? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the maximum number of edges used by the measurement. + """ + return self._n + + @property + def slewratemethod(self) -> MeasurementMeasItemEdgesSlewratemethod: + """Return the ``MEASUrement:MEAS:EDGES:SLEWRATEMethod`` command. + + Description: + - This command sets or queries the slew rate method for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:EDGES:SLEWRATEMethod?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:SLEWRATEMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:SLEWRATEMethod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:SLEWRATEMethod {NOMinal|DDR} + - MEASUrement:MEAS:EDGES:SLEWRATEMethod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NOMinal`` specifies the nominal slew rate method. + - ``DDR`` specifies the DDR slew rate method. + """ + return self._slewratemethod + + @property + def tolevel(self) -> MeasurementMeasItemEdgesTolevel: + """Return the ``MEASUrement:MEAS:EDGES:TOLevel`` command. + + Description: + - This command sets or queries the 'to level' edge for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES:TOLevel?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:TOLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:TOLevel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:TOLevel {HIGH|MID|LOW} + - MEASUrement:MEAS:EDGES:TOLevel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``HIGH`` specifies the HIGH level. + - ``MID`` specifies the MID level. + - ``LOW`` specifies the LOW level. + """ + return self._tolevel + + @property + def upperfrequency(self) -> MeasurementMeasItemEdgesUpperfrequency: + """Return the ``MEASUrement:MEAS:EDGES:UPPERFREQuency`` command. + + Description: + - This command sets or queries the upper frequency for the measurement when the + measurement type is phase noise. Higher frequencies are ignored. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:EDGES:UPPERFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGES:UPPERFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGES:UPPERFREQuency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGES:UPPERFREQuency + - MEASUrement:MEAS:EDGES:UPPERFREQuency? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the upper frequency of the edge. + """ + return self._upperfrequency + + +class MeasurementMeasItemEdgequalifier(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGEQUALifier`` command. + + Description: + - This command sets or queries the edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEQUALifier?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEQUALifier {CH|MATH|REF} + - MEASUrement:MEAS:EDGEQUALifier? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ``CH`` is the edge qualifier source channel. x has a minimum of 1 and a maximum of 8. + - ``MATH`` is the edge qualifier source math waveform; is ≥1. + - ``REF`` is the edge qualifier source reference waveform; is ≥1. + """ + + +class MeasurementMeasItemEdgequaltwo(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGEQUALTWO`` command. + + Description: + - This command sets or queries the measurement 1 output edge qualifier two source for + Efficiency measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEQUALTWO?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALTWO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALTWO value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEQUALTWO + - MEASUrement:MEAS:EDGEQUALTWO? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` specifies the edge qualifier source at output configuration. + """ + + +class MeasurementMeasItemEdgequalone(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGEQUALONE`` command. + + Description: + - This command set or queries the measurement 1 input edge qualifier one source for + Efficiency measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEQUALONE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALONE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALONE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEQUALONE + - MEASUrement:MEAS:EDGEQUALONE? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` specifies the edge qualifier source at input configuration. + """ + + +class MeasurementMeasItemEdgeincre(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:EDGEIncre`` command. + + Description: + - This command sets or queries the edge increment value for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEIncre?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEIncre?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGEIncre value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEIncre + - MEASUrement:MEAS:EDGEIncre? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the measurements edge increment value. + """ + + +class MeasurementMeasItemEdgeItem(ValidatedDynamicNumberCmd, SCPICmdWrite): + """The ``MEASUrement:MEAS:EDGE`` command. + + Description: + - This command sets or queries the type of the specified edge, rise or fall, for the + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGE {RISE|FALL|BOTH} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RISE`` specifies the rising edge. + - ``FALL`` specifies the falling edge. + - ``BOTH`` specifies either the rising or falling edge. + """ + + +class MeasurementMeasItemDisplaystatEnable(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:DISPlaystat:ENABle`` command. + + Description: + - This command turns on and off display of statistics in measurement badges in the user + interface. This command affects only the display of statistics, basic-statistics are + computed regardless of the state of this command. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DISPlaystat:ENABle?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:DISPlaystat:ENABle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:DISPlaystat:ENABle value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:DISPlaystat:ENABle {ON|OFF|} + - MEASUrement:MEAS:DISPlaystat:ENABle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns off the display of statistics in measurement badges. + - ``ON`` turns on the display of statistics in measurement badges. + - ```` = 0 turns off the display of statistics in the measurement badge, any other + value turns on the display of statistics. + """ + + +class MeasurementMeasItemDisplaystat(SCPICmdRead): + """The ``MEASUrement:MEAS:DISPlaystat`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DISPlaystat?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:DISPlaystat?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.enable``: The ``MEASUrement:MEAS:DISPlaystat:ENABle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._enable = MeasurementMeasItemDisplaystatEnable(device, f"{self._cmd_syntax}:ENABle") + + @property + def enable(self) -> MeasurementMeasItemDisplaystatEnable: + """Return the ``MEASUrement:MEAS:DISPlaystat:ENABle`` command. + + Description: + - This command turns on and off display of statistics in measurement badges in the user + interface. This command affects only the display of statistics, basic-statistics are + computed regardless of the state of this command. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:DISPlaystat:ENABle?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:DISPlaystat:ENABle?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:DISPlaystat:ENABle value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:DISPlaystat:ENABle {ON|OFF|} + - MEASUrement:MEAS:DISPlaystat:ENABle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns off the display of statistics in measurement badges. + - ``ON`` turns on the display of statistics in measurement badges. + - ```` = 0 turns off the display of statistics in the measurement badge, any other + value turns on the display of statistics. + """ + return self._enable + + +class MeasurementMeasItemDelayEdgeItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:DELay:EDGE`` command. + + Description: + - This command sets or queries the 'to edge' type when EDGE is EDGE1 and the 'from edge' + type when EDGE is EDG2, for the measurement when the measurement type is DELAY. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DELay:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:DELay:EDGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:DELay:EDGE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:DELay:EDGE {FALL|RISe|BOTH|SAMEas|OPPositeas} + - MEASUrement:MEAS:DELay:EDGE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + - ``SAMEas`` specifies that both edges of the waveform are the same. + - ``OPPositeas`` specifies that the edges of the waveform are not the same. + """ + + +class MeasurementMeasItemDelay(SCPICmdRead): + """The ``MEASUrement:MEAS:DELay`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:DELay?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.edge``: The ``MEASUrement:MEAS:DELay:EDGE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge: Dict[int, MeasurementMeasItemDelayEdgeItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemDelayEdgeItem(device, f"{self._cmd_syntax}:EDGE{x}") + ) + + @property + def edge(self) -> Dict[int, MeasurementMeasItemDelayEdgeItem]: + """Return the ``MEASUrement:MEAS:DELay:EDGE`` command. + + Description: + - This command sets or queries the 'to edge' type when EDGE is EDGE1 and the 'from + edge' type when EDGE is EDG2, for the measurement when the measurement type is + DELAY. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DELay:EDGE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:DELay:EDGE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:DELay:EDGE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:DELay:EDGE {FALL|RISe|BOTH|SAMEas|OPPositeas} + - MEASUrement:MEAS:DELay:EDGE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + - ``SAMEas`` specifies that both edges of the waveform are the same. + - ``OPPositeas`` specifies that the edges of the waveform are not the same. + """ + return self._edge + + +class MeasurementMeasItemCyclemode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CYCLemode`` command. + + Description: + - This command sets or queries the cycle mode for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CYCLemode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:CYCLemode?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:CYCLemode value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE} + - MEASUrement:MEAS:CYCLemode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RECORD`` specifies that the measurement is taken over the whole record. + - ``CYCLE`` specifies that measurements are taken on each cycle of the source. + """ + + +class MeasurementMeasItemCustomlimitsfile(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CUSTOMLIMITSFile`` command. + + Description: + - This command sets or queries the custom limits file path for custom harmonics standard. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CUSTOMLIMITSFile?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CUSTOMLIMITSFile?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CUSTOMLIMITSFile value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CUSTOMLIMITSFile + - MEASUrement:MEAS:CUSTOMLIMITSFile? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the location of limits file. + """ + + +class MeasurementMeasItemCover(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:COVer`` command. + + Description: + - This command sets or queries the Calculate Over for the Power Quality measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:COVer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:COVer?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:COVer value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:COVer {FFREQuency|AFREQuencies} + - MEASUrement:MEAS:COVer? + ``` + + Info: + - ``FFREQuency`` sets Calculate Power Quality measurement. + - ``AFREQuencies`` sets Calculate Power Quality measurement for all frequencies. + """ + + +class MeasurementMeasItemCommonmodeSources(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:COMMONMode:SOURCEs`` command. + + Description: + - This command sets or queries the number of sources for the measurement when the + measurement type is AC common mode. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:COMMONMode:SOURCEs?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:SOURCEs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:SOURCEs value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:COMMONMode:SOURCEs {SINGLE|DOUBLE} + - MEASUrement:MEAS:COMMONMode:SOURCEs? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SINGLE`` specifies a single source. + - ``DOUBLE`` specifies double sources. + """ + + +class MeasurementMeasItemCommonmodeFiltersState(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:COMMONMode:FILTers:STATE`` command. + + Description: + - This command sets or queries whether a filter is used for the measurement when the + measurement type is AC common mode. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:COMMONMode:FILTers:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:COMMONMode:FILTers:STATE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns the filter off. + - ``ON`` turns the filter on. + - ``0`` turns the filter off. + - ``1`` turns the filter on. + """ + + +class MeasurementMeasItemCommonmodeFilters(SCPICmdRead): + """The ``MEASUrement:MEAS:COMMONMode:FILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:COMMONMode:FILTers?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.state``: The ``MEASUrement:MEAS:COMMONMode:FILTers:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = MeasurementMeasItemCommonmodeFiltersState(device, f"{self._cmd_syntax}:STATE") + + @property + def state(self) -> MeasurementMeasItemCommonmodeFiltersState: + """Return the ``MEASUrement:MEAS:COMMONMode:FILTers:STATE`` command. + + Description: + - This command sets or queries whether a filter is used for the measurement when the + measurement type is AC common mode. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers:STATE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:COMMONMode:FILTers:STATE {OFF|ON|0|1} + - MEASUrement:MEAS:COMMONMode:FILTers:STATE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` turns the filter off. + - ``ON`` turns the filter on. + - ``0`` turns the filter off. + - ``1`` turns the filter on. + """ + return self._state + + +class MeasurementMeasItemCommonmode(SCPICmdRead): + """The ``MEASUrement:MEAS:COMMONMode`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:COMMONMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:COMMONMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.filters``: The ``MEASUrement:MEAS:COMMONMode:FILTers`` command tree. + - ``.sources``: The ``MEASUrement:MEAS:COMMONMode:SOURCEs`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._filters = MeasurementMeasItemCommonmodeFilters(device, f"{self._cmd_syntax}:FILTers") + self._sources = MeasurementMeasItemCommonmodeSources(device, f"{self._cmd_syntax}:SOURCEs") + + @property + def filters(self) -> MeasurementMeasItemCommonmodeFilters: + """Return the ``MEASUrement:MEAS:COMMONMode:FILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:FILTers?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.state``: The ``MEASUrement:MEAS:COMMONMode:FILTers:STATE`` command. + """ + return self._filters + + @property + def sources(self) -> MeasurementMeasItemCommonmodeSources: + """Return the ``MEASUrement:MEAS:COMMONMode:SOURCEs`` command. + + Description: + - This command sets or queries the number of sources for the measurement when the + measurement type is AC common mode. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:COMMONMode:SOURCEs?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:SOURCEs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:COMMONMode:SOURCEs value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:COMMONMode:SOURCEs {SINGLE|DOUBLE} + - MEASUrement:MEAS:COMMONMode:SOURCEs? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SINGLE`` specifies a single source. + - ``DOUBLE`` specifies double sources. + """ + return self._sources + + +class MeasurementMeasItemClockrecoveryStandard(SCPICmdWrite): + """The ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. + + Description: + - This command sets or queries the communications standard when PLL clock recovery is used + for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:STAndard value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:STAndard {CUSTom|ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1|FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250|FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48|PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125|SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC|SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2|SATA_GEN3|USB3|XAUI|XAUI_GEN2} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ # noqa: E501 + + +class MeasurementMeasItemClockrecoveryNominaloffsetSelectiontype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` command. + + Description: + - This command sets or queries the offset type used when explicit clock recovery is used for + the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype {AUTO|MANUAL} + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically calculates the offset. + - ``MANUAL`` allows the user to set the offset. + """ + + +class MeasurementMeasItemClockrecoveryNominaloffset(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset`` command. + + Description: + - This command sets or queries the offset value used when explicit clock recovery is used + for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock offset. + + Properties: + - ``.selectiontype``: The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._selectiontype = MeasurementMeasItemClockrecoveryNominaloffsetSelectiontype( + device, f"{self._cmd_syntax}:SELECTIONtype" + ) + + @property + def selectiontype(self) -> MeasurementMeasItemClockrecoveryNominaloffsetSelectiontype: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` command. + + Description: + - This command sets or queries the offset type used when explicit clock recovery is used + for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype {AUTO|MANUAL} + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically calculates the offset. + - ``MANUAL`` allows the user to set the offset. + """ + return self._selectiontype + + +class MeasurementMeasItemClockrecoveryModel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:MODel`` command. + + Description: + - This command sets or queries the PLL clock recovery model used when PLL clock recovery is + used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CLOCKRecovery:MODel?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MODel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MODel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:MODel {TYPE} + - MEASUrement:MEAS:CLOCKRecovery:MODel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + + +class MeasurementMeasItemClockrecoveryMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:METHod`` command. + + Description: + - This command sets or queries the clock recovery method for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CLOCKRecovery:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:METHod {PLL|CONSTANTCLOCK|EXPLICITCLOCK} + - MEASUrement:MEAS:CLOCKRecovery:METHod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``PLL`` specifies a phase locked loop clock recovery method. + - ``CONSTANTCLOCK`` specifies using a constant clock. + - ``EXPLICITCLOCK`` specifies using an explicit clock. + """ + + +class MeasurementMeasItemClockrecoveryMeanautocalculate(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate`` command. + + Description: + - This command sets or queries how often the clock is calculated when constant clock + recovery is used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate {FIRST|EVERY} + - MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FIRST`` calculates the clock on the first acquisition. + - ``EVERY`` calculates the clock on every acquisition. + """ + + +class MeasurementMeasItemClockrecoveryLoopbandwidth(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth`` command. + + Description: + - This command sets or queries the loop bandwidth used when PLL clock recovery is used for + the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth + - MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock recovery loop bandwidth. + """ + + +class MeasurementMeasItemClockrecoveryJtfbandwidth(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth`` command. + + Description: + - This command sets or queries the JTF bandwidth used when PLL clock recovery is used for + the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth + - MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock recovery JTF bandwidth. + """ + + +class MeasurementMeasItemClockrecoveryGlobal(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:GLOBal`` command. + + Description: + - This command sets or queries the clock recovery settings global flag for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CLOCKRecovery:GLOBal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:CLOCKRecovery:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` clock recovery settings are changed independently for each individual measurement. + - ``ON`` applies global clock recovery settings to all the measurements' clock recovery + settings. + - ``0`` clock recovery settings are changed independently for each individual measurement. + - ``1`` applies global clock recovery settings to all the measurements' clock recovery + settings. + """ + + +class MeasurementMeasItemClockrecoveryExplicitclockmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe`` command. + + Description: + - This command sets or queries the explicit clock mode used when explicit clock recovery is + used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe {EDGE|PLL} + - MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``EDGE`` specifies the clock edge. + - ``PLL`` specifies the phase locked loop. + """ + + +class MeasurementMeasItemClockrecoveryDatarate(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:DATARate`` command. + + Description: + - This command sets or queries the nominal data bit rate when nominal data rate clock + recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATARate?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATARate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:DATARate + - MEASUrement:MEAS:CLOCKRecovery:DATARate? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the value for the Nominal data rate. + """ + + +class MeasurementMeasItemClockrecoveryDatapath(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:DATAPath`` command. + + Description: + - This command sets or queries the file containing the data pattern used when known data + pattern clock recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATAPath?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATAPath?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATAPath value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:DATAPath + - MEASUrement:MEAS:CLOCKRecovery:DATAPath? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the file containing the data pattern to be used for known data pattern + clock recovery. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MeasurementMeasItemClockrecoveryDamping(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:DAMPing`` command. + + Description: + - This command sets or queries the damping value used when PLL clock recovery is used for + the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CLOCKRecovery:DAMPing?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DAMPing?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DAMPing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:DAMPing + - MEASUrement:MEAS:CLOCKRecovery:DAMPing? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock recovery damping value. + """ + + +class MeasurementMeasItemClockrecoveryConstclockmode(SCPICmdWrite): + """The ``MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe`` command. + + Description: + - This command sets or queries the constant clock mode used when constant clock recovery is + used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe {MEAN|MEDian|FIXed} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``MEAN`` specifies that clock recovery uses the mean of the clock signal as the clock + frequency. + - ``MEDian`` specifies that clock recovery uses the mode of the clock signal as the clock + frequency. + - ``FIXed`` specifies that clock recovery uses the value set by the user as the clock + frequency. + """ + + +class MeasurementMeasItemClockrecoveryClockmultiplier(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier`` command. + + Description: + - This command sets or queries the clock multiplier used when explicit clock recovery is + used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier + - MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock multiplier. + """ + + +class MeasurementMeasItemClockrecoveryClockfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency`` command. + + Description: + - This command sets or queries the clock frequency used when fixed constant clock recovery + is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency + - MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock frequency. + """ + + +class MeasurementMeasItemClockrecoveryAdvancedMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod`` command. + + Description: + - This command sets or queries the advanced clock recovery method when advanced clock + recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod {NONE|NOMinal|PATTern} + - MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NOMinal`` sets the advanced CRD method to Nominal Data Rate. + - ``PATTern`` sets the advanced CDR method to use a Known Data Pattern. + - ``NONE`` sets no advanced CRD method. + """ + + +class MeasurementMeasItemClockrecoveryAdvanced(SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery:ADVanced`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.method``: The ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._method = MeasurementMeasItemClockrecoveryAdvancedMethod( + device, f"{self._cmd_syntax}:METHod" + ) + + @property + def method(self) -> MeasurementMeasItemClockrecoveryAdvancedMethod: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod`` command. + + Description: + - This command sets or queries the advanced clock recovery method when advanced clock + recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod {NONE|NOMinal|PATTern} + - MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NOMinal`` sets the advanced CRD method to Nominal Data Rate. + - ``PATTern`` sets the advanced CDR method to use a Known Data Pattern. + - ``NONE`` sets no advanced CRD method. + """ + return self._method + + +# pylint: disable=too-many-instance-attributes +class MeasurementMeasItemClockrecovery(SCPICmdRead): + """The ``MEASUrement:MEAS:CLOCKRecovery`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CLOCKRecovery?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:CLOCKRecovery?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.advanced``: The ``MEASUrement:MEAS:CLOCKRecovery:ADVanced`` command tree. + - ``.clockfrequency``: The ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency`` command. + - ``.clockmultiplier``: The ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier`` command. + - ``.constclockmode``: The ``MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe`` command. + - ``.damping``: The ``MEASUrement:MEAS:CLOCKRecovery:DAMPing`` command. + - ``.datapath``: The ``MEASUrement:MEAS:CLOCKRecovery:DATAPath`` command. + - ``.datarate``: The ``MEASUrement:MEAS:CLOCKRecovery:DATARate`` command. + - ``.explicitclockmode``: The ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe`` + command. + - ``.global``: The ``MEASUrement:MEAS:CLOCKRecovery:GLOBal`` command. + - ``.jtfbandwidth``: The ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth`` command. + - ``.loopbandwidth``: The ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth`` command. + - ``.meanautocalculate``: The ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate`` + command. + - ``.method``: The ``MEASUrement:MEAS:CLOCKRecovery:METHod`` command. + - ``.model``: The ``MEASUrement:MEAS:CLOCKRecovery:MODel`` command. + - ``.nominaloffset``: The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset`` command. + - ``.standard``: The ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._advanced = MeasurementMeasItemClockrecoveryAdvanced( + device, f"{self._cmd_syntax}:ADVanced" + ) + self._clockfrequency = MeasurementMeasItemClockrecoveryClockfrequency( + device, f"{self._cmd_syntax}:CLOCKFrequency" + ) + self._clockmultiplier = MeasurementMeasItemClockrecoveryClockmultiplier( + device, f"{self._cmd_syntax}:CLOCKMultiplier" + ) + self._constclockmode = MeasurementMeasItemClockrecoveryConstclockmode( + device, f"{self._cmd_syntax}:CONSTCLOCKMODe" + ) + self._damping = MeasurementMeasItemClockrecoveryDamping( + device, f"{self._cmd_syntax}:DAMPing" + ) + self._datapath = MeasurementMeasItemClockrecoveryDatapath( + device, f"{self._cmd_syntax}:DATAPath" + ) + self._datarate = MeasurementMeasItemClockrecoveryDatarate( + device, f"{self._cmd_syntax}:DATARate" + ) + self._explicitclockmode = MeasurementMeasItemClockrecoveryExplicitclockmode( + device, f"{self._cmd_syntax}:EXPLICITCLOCKMODe" + ) + self._global = MeasurementMeasItemClockrecoveryGlobal(device, f"{self._cmd_syntax}:GLOBal") + self._jtfbandwidth = MeasurementMeasItemClockrecoveryJtfbandwidth( + device, f"{self._cmd_syntax}:JTFBandwidth" + ) + self._loopbandwidth = MeasurementMeasItemClockrecoveryLoopbandwidth( + device, f"{self._cmd_syntax}:LOOPBandwidth" + ) + self._meanautocalculate = MeasurementMeasItemClockrecoveryMeanautocalculate( + device, f"{self._cmd_syntax}:MEANAUTOCalculate" + ) + self._method = MeasurementMeasItemClockrecoveryMethod(device, f"{self._cmd_syntax}:METHod") + self._model = MeasurementMeasItemClockrecoveryModel(device, f"{self._cmd_syntax}:MODel") + self._nominaloffset = MeasurementMeasItemClockrecoveryNominaloffset( + device, f"{self._cmd_syntax}:NOMINALOFFset" + ) + self._standard = MeasurementMeasItemClockrecoveryStandard( + device, f"{self._cmd_syntax}:STAndard" + ) + + @property + def advanced(self) -> MeasurementMeasItemClockrecoveryAdvanced: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:ADVanced`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:ADVanced?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.method``: The ``MEASUrement:MEAS:CLOCKRecovery:ADVanced:METHod`` command. + """ + return self._advanced + + @property + def clockfrequency(self) -> MeasurementMeasItemClockrecoveryClockfrequency: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency`` command. + + Description: + - This command sets or queries the clock frequency used when fixed constant clock + recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency + - MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock frequency. + """ + return self._clockfrequency + + @property + def clockmultiplier(self) -> MeasurementMeasItemClockrecoveryClockmultiplier: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier`` command. + + Description: + - This command sets or queries the clock multiplier used when explicit clock recovery is + used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier + - MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock multiplier. + """ + return self._clockmultiplier + + @property + def constclockmode(self) -> MeasurementMeasItemClockrecoveryConstclockmode: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe`` command. + + Description: + - This command sets or queries the constant clock mode used when constant clock recovery + is used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe {MEAN|MEDian|FIXed} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``MEAN`` specifies that clock recovery uses the mean of the clock signal as the clock + frequency. + - ``MEDian`` specifies that clock recovery uses the mode of the clock signal as the + clock frequency. + - ``FIXed`` specifies that clock recovery uses the value set by the user as the clock + frequency. + """ + return self._constclockmode + + @property + def damping(self) -> MeasurementMeasItemClockrecoveryDamping: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:DAMPing`` command. + + Description: + - This command sets or queries the damping value used when PLL clock recovery is used + for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DAMPing?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DAMPing?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DAMPing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:DAMPing + - MEASUrement:MEAS:CLOCKRecovery:DAMPing? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock recovery damping value. + """ + return self._damping + + @property + def datapath(self) -> MeasurementMeasItemClockrecoveryDatapath: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:DATAPath`` command. + + Description: + - This command sets or queries the file containing the data pattern used when known data + pattern clock recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATAPath?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATAPath?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATAPath value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:DATAPath + - MEASUrement:MEAS:CLOCKRecovery:DATAPath? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the file containing the data pattern to be used for known data + pattern clock recovery. + """ + return self._datapath + + @property + def datarate(self) -> MeasurementMeasItemClockrecoveryDatarate: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:DATARate`` command. + + Description: + - This command sets or queries the nominal data bit rate when nominal data rate clock + recovery is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATARate?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:DATARate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:DATARate + - MEASUrement:MEAS:CLOCKRecovery:DATARate? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the value for the Nominal data rate. + """ + return self._datarate + + @property + def explicitclockmode(self) -> MeasurementMeasItemClockrecoveryExplicitclockmode: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe`` command. + + Description: + - This command sets or queries the explicit clock mode used when explicit clock recovery + is used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe {EDGE|PLL} + - MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``EDGE`` specifies the clock edge. + - ``PLL`` specifies the phase locked loop. + """ + return self._explicitclockmode + + @property + def global_(self) -> MeasurementMeasItemClockrecoveryGlobal: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:GLOBal`` command. + + Description: + - This command sets or queries the clock recovery settings global flag for the + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:GLOBal?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:GLOBal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:GLOBal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:GLOBal {OFF|ON|0|1} + - MEASUrement:MEAS:CLOCKRecovery:GLOBal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` clock recovery settings are changed independently for each individual + measurement. + - ``ON`` applies global clock recovery settings to all the measurements' clock recovery + settings. + - ``0`` clock recovery settings are changed independently for each individual + measurement. + - ``1`` applies global clock recovery settings to all the measurements' clock recovery + settings. + """ + return self._global + + @property + def jtfbandwidth(self) -> MeasurementMeasItemClockrecoveryJtfbandwidth: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth`` command. + + Description: + - This command sets or queries the JTF bandwidth used when PLL clock recovery is used + for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth + - MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock recovery JTF bandwidth. + """ + return self._jtfbandwidth + + @property + def loopbandwidth(self) -> MeasurementMeasItemClockrecoveryLoopbandwidth: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth`` command. + + Description: + - This command sets or queries the loop bandwidth used when PLL clock recovery is used + for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth + - MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock recovery loop bandwidth. + """ + return self._loopbandwidth + + @property + def meanautocalculate(self) -> MeasurementMeasItemClockrecoveryMeanautocalculate: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate`` command. + + Description: + - This command sets or queries how often the clock is calculated when constant clock + recovery is used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate {FIRST|EVERY} + - MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FIRST`` calculates the clock on the first acquisition. + - ``EVERY`` calculates the clock on every acquisition. + """ + return self._meanautocalculate + + @property + def method(self) -> MeasurementMeasItemClockrecoveryMethod: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:METHod`` command. + + Description: + - This command sets or queries the clock recovery method for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:METHod?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:METHod {PLL|CONSTANTCLOCK|EXPLICITCLOCK} + - MEASUrement:MEAS:CLOCKRecovery:METHod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``PLL`` specifies a phase locked loop clock recovery method. + - ``CONSTANTCLOCK`` specifies using a constant clock. + - ``EXPLICITCLOCK`` specifies using an explicit clock. + """ + return self._method + + @property + def model(self) -> MeasurementMeasItemClockrecoveryModel: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:MODel`` command. + + Description: + - This command sets or queries the PLL clock recovery model used when PLL clock recovery + is used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MODel?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MODel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:MODel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:MODel {TYPE} + - MEASUrement:MEAS:CLOCKRecovery:MODel? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + return self._model + + @property + def nominaloffset(self) -> MeasurementMeasItemClockrecoveryNominaloffset: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset`` command. + + Description: + - This command sets or queries the offset value used when explicit clock recovery is + used for the measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset + - MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the clock offset. + + Sub-properties: + - ``.selectiontype``: The + ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` command. + """ + return self._nominaloffset + + @property + def standard(self) -> MeasurementMeasItemClockrecoveryStandard: + """Return the ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. + + Description: + - This command sets or queries the communications standard when PLL clock recovery is + used for the measurement. The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery:STAndard value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CLOCKRecovery:STAndard {CUSTom|ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1|FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250|FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48|PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125|SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC|SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2|SATA_GEN3|USB3|XAUI|XAUI_GEN2} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ # noqa: E501 + return self._standard + + +class MeasurementMeasItemCcresultsCurrentacqStddev(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev`` command. + + Description: + - This query-only command returns the standard deviation cycle-cycle for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev? + ``` + """ + + +class MeasurementMeasItemCcresultsCurrentacqPopulation(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation`` command. + + Description: + - This query-only command returns the population of the cycle-cycle statistics for the + specified measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation? + ``` + """ + + +class MeasurementMeasItemCcresultsCurrentacqPk2pk(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK`` command. + + Description: + - This query-only command returns the peak to peak cycle-cycle statistic for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK? + ``` + """ + + +class MeasurementMeasItemCcresultsCurrentacqMinimum(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum`` command. + + Description: + - This query-only command returns the minimum cycle-cycle value for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum? + ``` + """ + + +class MeasurementMeasItemCcresultsCurrentacqMean(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN`` command. + + Description: + - This query-only command returns the mean cycle-cycle value for the specified measurement + for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN? + ``` + """ + + +class MeasurementMeasItemCcresultsCurrentacqMaximum(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum`` command. + + Description: + - This query-only command returns the maximum cycle-cycle value for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum? + ``` + """ + + +class MeasurementMeasItemCcresultsCurrentacq(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CCRESUlts:CURRentacq?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasurementMeasItemCcresultsCurrentacqMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasurementMeasItemCcresultsCurrentacqMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasurementMeasItemCcresultsCurrentacqMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasurementMeasItemCcresultsCurrentacqPk2pk( + device, f"{self._cmd_syntax}:PK2PK" + ) + self._population = MeasurementMeasItemCcresultsCurrentacqPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemCcresultsCurrentacqStddev( + device, f"{self._cmd_syntax}:STDDev" + ) + + @property + def maximum(self) -> MeasurementMeasItemCcresultsCurrentacqMaximum: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum`` command. + + Description: + - This query-only command returns the maximum cycle-cycle value for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum? + ``` + """ + return self._maximum + + @property + def mean(self) -> MeasurementMeasItemCcresultsCurrentacqMean: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN`` command. + + Description: + - This query-only command returns the mean cycle-cycle value for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN? + ``` + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemCcresultsCurrentacqMinimum: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum`` command. + + Description: + - This query-only command returns the minimum cycle-cycle value for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum? + ``` + """ + return self._minimum + + @property + def pk2pk(self) -> MeasurementMeasItemCcresultsCurrentacqPk2pk: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK`` command. + + Description: + - This query-only command returns the peak to peak cycle-cycle statistic for the + specified measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK? + ``` + """ + return self._pk2pk + + @property + def population(self) -> MeasurementMeasItemCcresultsCurrentacqPopulation: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation`` command. + + Description: + - This query-only command returns the population of the cycle-cycle statistics for the + specified measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation? + ``` + """ + return self._population + + @property + def stddev(self) -> MeasurementMeasItemCcresultsCurrentacqStddev: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev`` command. + + Description: + - This query-only command returns the standard deviation cycle-cycle for the specified + measurement for the current acquisition. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev? + ``` + """ + return self._stddev + + +class MeasurementMeasItemCcresultsAllacqsStddev(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev`` command. + + Description: + - This query-only command returns the standard deviation cycle-cycle for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev? + ``` + """ + + +class MeasurementMeasItemCcresultsAllacqsPopulation(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This query-only command returns the population of all cycle-cycle statistics for the + specified measurement for all acquisitions accumulated since statistics were last reset. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation? + ``` + """ + + +class MeasurementMeasItemCcresultsAllacqsPk2pk(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This query-only command returns the peak to peak cycle-cycle statistic for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK? + ``` + """ + + +class MeasurementMeasItemCcresultsAllacqsMinimum(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum`` command. + + Description: + - This query-only command returns the minimum cycle-cycle value for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum? + ``` + """ + + +class MeasurementMeasItemCcresultsAllacqsMean(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN`` command. + + Description: + - This query-only command returns the mean cycle-cycle value for the specified measurement + for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN? + ``` + """ + + +class MeasurementMeasItemCcresultsAllacqsMaximum(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This query-only command returns the maximum cycle-cycle value for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum? + ``` + """ + + +class MeasurementMeasItemCcresultsAllacqs(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = MeasurementMeasItemCcresultsAllacqsMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = MeasurementMeasItemCcresultsAllacqsMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = MeasurementMeasItemCcresultsAllacqsMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = MeasurementMeasItemCcresultsAllacqsPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = MeasurementMeasItemCcresultsAllacqsPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = MeasurementMeasItemCcresultsAllacqsStddev( + device, f"{self._cmd_syntax}:STDDev" + ) + + @property + def maximum(self) -> MeasurementMeasItemCcresultsAllacqsMaximum: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This query-only command returns the maximum cycle-cycle value for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum? + ``` + """ + return self._maximum + + @property + def mean(self) -> MeasurementMeasItemCcresultsAllacqsMean: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN`` command. + + Description: + - This query-only command returns the mean cycle-cycle value for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN? + ``` + """ + return self._mean + + @property + def minimum(self) -> MeasurementMeasItemCcresultsAllacqsMinimum: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum`` command. + + Description: + - This query-only command returns the minimum cycle-cycle value for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum? + ``` + """ + return self._minimum + + @property + def pk2pk(self) -> MeasurementMeasItemCcresultsAllacqsPk2pk: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This query-only command returns the peak to peak cycle-cycle statistic for the + specified measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK? + ``` + """ + return self._pk2pk + + @property + def population(self) -> MeasurementMeasItemCcresultsAllacqsPopulation: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This query-only command returns the population of all cycle-cycle statistics for the + specified measurement for all acquisitions accumulated since statistics were last + reset. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation? + ``` + """ + return self._population + + @property + def stddev(self) -> MeasurementMeasItemCcresultsAllacqsStddev: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev`` command. + + Description: + - This query-only command returns the standard deviation cycle-cycle for the specified + measurement for all acquisitions. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev? + ``` + """ + return self._stddev + + +class MeasurementMeasItemCcresults(SCPICmdRead): + """The ``MEASUrement:MEAS:CCRESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CCRESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:CCRESUlts?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.allacqs``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._allacqs = MeasurementMeasItemCcresultsAllacqs(device, f"{self._cmd_syntax}:ALLAcqs") + self._currentacq = MeasurementMeasItemCcresultsCurrentacq( + device, f"{self._cmd_syntax}:CURRentacq" + ) + + @property + def allacqs(self) -> MeasurementMeasItemCcresultsAllacqs: + """Return the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CCRESUlts:ALLAcqs?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:ALLAcqs?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs:STDDev`` command. + """ + return self._allacqs + + @property + def currentacq(self) -> MeasurementMeasItemCcresultsCurrentacq: + """Return the ``MEASUrement:MEAS:CCRESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CCRESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:PK2PK`` command. + - ``.population``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:POPUlation`` command. + - ``.stddev``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq:STDDev`` command. + """ + return self._currentacq + + +class MeasurementMeasItemBurstedgtype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BURSTEDGTYPe`` command. + + Description: + - This command sets or queries the burst edge type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BURSTEDGTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BURSTEDGTYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BURSTEDGTYPe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BURSTEDGTYPe {RISE|FALL} + - MEASUrement:MEAS:BURSTEDGTYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RISE`` specifies a burst with a rising edge. + - ``FALL`` specifies a burst with a falling edge. + """ + + +class MeasurementMeasItemBittype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BITType`` command. + + Description: + - This command sets or queries the bit type for the measurement. Measurements are specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITType?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITType?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITType value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITType {ALLBits|TRANSition|NONTRANsition} + - MEASUrement:MEAS:BITType? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ALLBits`` specifies that the measurement returns results for all bits. + - ``TRANSition`` specifies that the measurement returns results for transitions bit only. + - ``NONTRANsition`` specifies that the measurement returns results for non-transition bits + only. + """ + + +class MeasurementMeasItemBitstart(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BITSTart`` command. + + Description: + - This command sets or queries the bit start as a percentage of the unit interval. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITSTart?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITSTart?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITSTart value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITSTart + - MEASUrement:MEAS:BITSTart? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bit start. + """ + + +class MeasurementMeasItemBitpcnt(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BITPcnt`` command. + + Description: + - This command sets or queries the bit center as a percentage of the unit interval. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITPcnt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITPcnt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITPcnt value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITPcnt + - MEASUrement:MEAS:BITPcnt? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bit center percentage value to be measured for the bit type selected. + """ + + +class MeasurementMeasItemBitend(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BITEnd`` command. + + Description: + - This command sets or queries the bit end as a percentage of the unit interval. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITEnd?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITEnd?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITEnd value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITEnd + - MEASUrement:MEAS:BITEnd? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bit end. + """ + + +class MeasurementMeasItemBitcfgmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BITCfgmode`` command. + + Description: + - This command sets or queries whether the measurement returns the mean or mode statistic + result when the measurement type is bit amplitude/high/low. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITCfgmode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITCfgmode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITCfgmode value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITCfgmode {MEAN|MODE} + - MEASUrement:MEAS:BITCfgmode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``MEAN`` specifies that the measurement returns results for each bit. + - ``MODE`` specifies that the measurement returns the mode of its results. + """ + + +class MeasurementMeasItemBin(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BIN`` command. + + Description: + - This command sets or queries the bin count for the measurement. Measurements are specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BIN?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BIN?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BIN value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BIN + - MEASUrement:MEAS:BIN? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bin count. + """ + + +class MeasurementMeasItemBerTargetber(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BER:TARGETBER`` command. + + Description: + - This command sets or queries the target BER value for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BER:TARGETBER?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BER:TARGETBER?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BER:TARGETBER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BER:TARGETBER + - MEASUrement:MEAS:BER:TARGETBER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the target BER value. + """ + + +class MeasurementMeasItemBer(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MEAS:BER`` command. + + Description: + - This command sets or queries BER value for the measurement. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BER?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BER?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BER value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BER + - MEASUrement:MEAS:BER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is BER value for the measurement. + + Properties: + - ``.targetber``: The ``MEASUrement:MEAS:BER:TARGETBER`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._targetber = MeasurementMeasItemBerTargetber(device, f"{self._cmd_syntax}:TARGETBER") + + @property + def targetber(self) -> MeasurementMeasItemBerTargetber: + """Return the ``MEASUrement:MEAS:BER:TARGETBER`` command. + + Description: + - This command sets or queries the target BER value for the measurement. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BER:TARGETBER?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:BER:TARGETBER?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BER:TARGETBER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BER:TARGETBER + - MEASUrement:MEAS:BER:TARGETBER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the target BER value. + """ + return self._targetber + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class MeasurementMeasItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``MEASUrement:MEAS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Properties: + - ``.ber``: The ``MEASUrement:MEAS:BER`` command. + - ``.bin``: The ``MEASUrement:MEAS:BIN`` command. + - ``.bitcfgmode``: The ``MEASUrement:MEAS:BITCfgmode`` command. + - ``.bitend``: The ``MEASUrement:MEAS:BITEnd`` command. + - ``.bitpcnt``: The ``MEASUrement:MEAS:BITPcnt`` command. + - ``.bitstart``: The ``MEASUrement:MEAS:BITSTart`` command. + - ``.bittype``: The ``MEASUrement:MEAS:BITType`` command. + - ``.burstedgtype``: The ``MEASUrement:MEAS:BURSTEDGTYPe`` command. + - ``.ccresults``: The ``MEASUrement:MEAS:CCRESUlts`` command tree. + - ``.clockrecovery``: The ``MEASUrement:MEAS:CLOCKRecovery`` command tree. + - ``.commonmode``: The ``MEASUrement:MEAS:COMMONMode`` command tree. + - ``.cover``: The ``MEASUrement:MEAS:COVer`` command. + - ``.customlimitsfile``: The ``MEASUrement:MEAS:CUSTOMLIMITSFile`` command. + - ``.cyclemode``: The ``MEASUrement:MEAS:CYCLemode`` command. + - ``.delay``: The ``MEASUrement:MEAS:DELay`` command tree. + - ``.displaystat``: The ``MEASUrement:MEAS:DISPlaystat`` command tree. + - ``.edge``: The ``MEASUrement:MEAS:EDGE`` command. + - ``.edgeincre``: The ``MEASUrement:MEAS:EDGEIncre`` command. + - ``.edgequalone``: The ``MEASUrement:MEAS:EDGEQUALONE`` command. + - ``.edgequaltwo``: The ``MEASUrement:MEAS:EDGEQUALTWO`` command. + - ``.edgequalifier``: The ``MEASUrement:MEAS:EDGEQUALifier`` command. + - ``.edges``: The ``MEASUrement:MEAS:EDGES`` command tree. + - ``.eequal``: The ``MEASUrement:MEAS:EEQUal`` command. + - ``.failcount``: The ``MEASUrement:MEAS:FAILCount`` command. + - ``.filterrangefrom``: The ``MEASUrement:MEAS:FILTERRANGEFROM`` command. + - ``.filterrangeto``: The ``MEASUrement:MEAS:FILTERRANGETO`` command. + - ``.filters``: The ``MEASUrement:MEAS:FILTers`` command tree. + - ``.freq``: The ``MEASUrement:MEAS:FREQ`` command. + - ``.fromedgesearchdirect``: The ``MEASUrement:MEAS:FROMEDGESEARCHDIRect`` command. + - ``.fromsymbol``: The ``MEASUrement:MEAS:FROMSymbol`` command tree. + - ``.fromedge``: The ``MEASUrement:MEAS:FROMedge`` command. + - ``.fundcurrent``: The ``MEASUrement:MEAS:FUNDCURRent`` command. + - ``.gating``: The ``MEASUrement:MEAS:GATing`` command. + - ``.globalref``: The ``MEASUrement:MEAS:GLOBalref`` command. + - ``.harmonicsclass``: The ``MEASUrement:MEAS:HARMONICSCLass`` command. + - ``.harmonicssource``: The ``MEASUrement:MEAS:HARMONICSSOURce`` command. + - ``.harmonicsstd``: The ``MEASUrement:MEAS:HARMONICSStd`` command. + - ``.harmonicsunits``: The ``MEASUrement:MEAS:HARMONICSUNits`` command. + - ``.highlevel``: The ``MEASUrement:MEAS:HIGHLEVel`` command tree. + - ``.highrefvoltage``: The ``MEASUrement:MEAS:HIGHREFVoltage`` command. + - ``.hlevel``: The ``MEASUrement:MEAS:HLEVel`` command tree. + - ``.htorque``: The ``MEASUrement:MEAS:HTORque`` command. + - ``.hvoltage``: The ``MEASUrement:MEAS:HVOLtage`` command. + - ``.idletime``: The ``MEASUrement:MEAS:IDLETime`` command. + - ``.inputlevel``: The ``MEASUrement:MEAS:INPUTLEVel`` command. + - ``.inputpower``: The ``MEASUrement:MEAS:INPUTPOwer`` command. + - ``.jittersummary``: The ``MEASUrement:MEAS:JITTERSummary`` command tree. + - ``.label``: The ``MEASUrement:MEAS:LABel`` command. + - ``.lineselected``: The ``MEASUrement:MEAS:LINESelected`` command. + - ``.lowrefvoltage``: The ``MEASUrement:MEAS:LOWREFVoltage`` command. + - ``.ltorque``: The ``MEASUrement:MEAS:LTORque`` command. + - ``.ltype``: The ``MEASUrement:MEAS:LTYPe`` command. + - ``.lunits``: The ``MEASUrement:MEAS:LUNITs`` command. + - ``.lvoltage``: The ``MEASUrement:MEAS:LVOLtage`` command. + - ``.maxcurrent``: The ``MEASUrement:MEAS:MAXCUrrent`` command. + - ``.maxcycle``: The ``MEASUrement:MEAS:MAXCycle`` command. + - ``.maxgvoltage``: The ``MEASUrement:MEAS:MAXGVoltage`` command. + - ``.maxvoltage``: The ``MEASUrement:MEAS:MAXVoltage`` command. + - ``.measrange``: The ``MEASUrement:MEAS:MEASRange`` command tree. + - ``.mech``: The ``MEASUrement:MEAS:MECH`` command tree. + - ``.mincycle``: The ``MEASUrement:MEAS:MINCycle`` command. + - ``.oddeven``: The ``MEASUrement:MEAS:ODDEVen`` command. + - ``.ofilters``: The ``MEASUrement:MEAS:OFILters`` command tree. + - ``.osangle``: The ``MEASUrement:MEAS:OSANgle`` command. + - ``.outedgequalifier``: The ``MEASUrement:MEAS:OUTEDGEQUALifier`` command. + - ``.outfilters``: The ``MEASUrement:MEAS:OUTFILTers`` command tree. + - ``.outputvoltage``: The ``MEASUrement:MEAS:OUTPUTVOLTage`` command. + - ``.passfailenabled``: The ``MEASUrement:MEAS:PASSFAILENabled`` command. + - ``.passfailhighlimit``: The ``MEASUrement:MEAS:PASSFAILHIGHlimit`` command. + - ``.passfaillimit``: The ``MEASUrement:MEAS:PASSFAILLIMit`` command. + - ``.passfaillowlimit``: The ``MEASUrement:MEAS:PASSFAILLOWlimit`` command. + - ``.passfailmargin``: The ``MEASUrement:MEAS:PASSFAILMARgin`` command. + - ``.passfailwhen``: The ``MEASUrement:MEAS:PASSFAILWHEN`` command. + - ``.patterndetection``: The ``MEASUrement:MEAS:PATTERNDETECTION`` command. + - ``.patternlength``: The ``MEASUrement:MEAS:PATTERNLENgth`` command. + - ``.patterntype``: The ``MEASUrement:MEAS:PATTERNTYPe`` command. + - ``.pcount``: The ``MEASUrement:MEAS:PCOUNt`` command. + - ``.perfreq``: The ``MEASUrement:MEAS:PERFREQ`` command tree. + - ``.polarity``: The ``MEASUrement:MEAS:POLarity`` command. + - ``.population``: The ``MEASUrement:MEAS:POPUlation`` command tree. + - ``.powerfactor``: The ``MEASUrement:MEAS:POWERFACtor`` command. + - ``.pregion``: The ``MEASUrement:MEAS:PREGion`` command. + - ``.pwidth``: The ``MEASUrement:MEAS:PWIDth`` command. + - ``.redge``: The ``MEASUrement:MEAS:REDGe`` command. + - ``.reflevels``: The ``MEASUrement:MEAS:REFLevels`` command tree. + - ``.reflevels1``: The ``MEASUrement:MEAS:REFLevels1`` command tree. + - ``.refmode``: The ``MEASUrement:MEAS:REFMode`` command. + - ``.refvoltageval``: The ``MEASUrement:MEAS:REFVOLTAGEVal`` command. + - ``.refvoltage``: The ``MEASUrement:MEAS:REFVoltage`` command. + - ``.results``: The ``MEASUrement:MEAS:RESUlts`` command tree. + - ``.ripplefreqval``: The ``MEASUrement:MEAS:RIPPLEFREQVal`` command. + - ``.sequence``: The ``MEASUrement:MEAS:SEQuence`` command. + - ``.signalfrequency``: The ``MEASUrement:MEAS:SIGNALFREQUEncy`` command. + - ``.signaltype``: The ``MEASUrement:MEAS:SIGNALType`` command. + - ``.slabs``: The ``MEASUrement:MEAS:SLABs`` command. + - ``.slpct``: The ``MEASUrement:MEAS:SLPCt`` command. + - ``.sltype``: The ``MEASUrement:MEAS:SLTYpe`` command. + - ``.smoothingfilter``: The ``MEASUrement:MEAS:SMOOTHINGFILTER`` command. + - ``.source``: The ``MEASUrement:MEAS:SOURCE`` command. + - ``.source1``: The ``MEASUrement:MEAS:SOUrce1`` command. + - ``.ssc``: The ``MEASUrement:MEAS:SSC`` command tree. + - ``.status``: The ``MEASUrement:MEAS:STATUS`` command. + - ``.stlabs``: The ``MEASUrement:MEAS:STLABs`` command. + - ``.stlpct``: The ``MEASUrement:MEAS:STLPct`` command. + - ``.stype``: The ``MEASUrement:MEAS:STYPe`` command. + - ``.sunits``: The ``MEASUrement:MEAS:SUNits`` command. + - ``.tckavg``: The ``MEASUrement:MEAS:TCKAVG`` command. + - ``.tconstant``: The ``MEASUrement:MEAS:TCONstant`` command. + - ``.timingmode``: The ``MEASUrement:MEAS:TIMINGMode`` command. + - ``.tmethod``: The ``MEASUrement:MEAS:TMEThod`` command. + - ``.toedgesearchdirect``: The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. + - ``.toedge``: The ``MEASUrement:MEAS:TOEdge`` command. + - ``.tosymbol``: The ``MEASUrement:MEAS:TOSYmbol`` command tree. + - ``.transition``: The ``MEASUrement:MEAS:TRANSition`` command. + - ``.type``: The ``MEASUrement:MEAS:TYPe`` command. + - ``.waittime``: The ``MEASUrement:MEAS:WAITTime`` command. + - ``.windowlength``: The ``MEASUrement:MEAS:WINDOWLENgth`` command. + - ``.xunit``: The ``MEASUrement:MEAS:XUNIT`` command. + - ``.yunit``: The ``MEASUrement:MEAS:YUNIT`` command. + - ``.stltype``: The ``MEASUrement:MEAS:STLTYpe`` command. + """ + + # pylint: disable=too-many-statements + def __init__( # noqa: PLR0915 + self, device: Optional["PIDevice"], cmd_syntax: str + ) -> None: + super().__init__(device, cmd_syntax) + self._ber = MeasurementMeasItemBer(device, f"{self._cmd_syntax}:BER") + self._bin = MeasurementMeasItemBin(device, f"{self._cmd_syntax}:BIN") + self._bitcfgmode = MeasurementMeasItemBitcfgmode(device, f"{self._cmd_syntax}:BITCfgmode") + self._bitend = MeasurementMeasItemBitend(device, f"{self._cmd_syntax}:BITEnd") + self._bitpcnt = MeasurementMeasItemBitpcnt(device, f"{self._cmd_syntax}:BITPcnt") + self._bitstart = MeasurementMeasItemBitstart(device, f"{self._cmd_syntax}:BITSTart") + self._bittype = MeasurementMeasItemBittype(device, f"{self._cmd_syntax}:BITType") + self._burstedgtype = MeasurementMeasItemBurstedgtype( + device, f"{self._cmd_syntax}:BURSTEDGTYPe" + ) + self._ccresults = MeasurementMeasItemCcresults(device, f"{self._cmd_syntax}:CCRESUlts") + self._clockrecovery = MeasurementMeasItemClockrecovery( + device, f"{self._cmd_syntax}:CLOCKRecovery" + ) + self._commonmode = MeasurementMeasItemCommonmode(device, f"{self._cmd_syntax}:COMMONMode") + self._cover = MeasurementMeasItemCover(device, f"{self._cmd_syntax}:COVer") + self._customlimitsfile = MeasurementMeasItemCustomlimitsfile( + device, f"{self._cmd_syntax}:CUSTOMLIMITSFile" + ) + self._cyclemode = MeasurementMeasItemCyclemode(device, f"{self._cmd_syntax}:CYCLemode") + self._delay = MeasurementMeasItemDelay(device, f"{self._cmd_syntax}:DELay") + self._displaystat = MeasurementMeasItemDisplaystat( + device, f"{self._cmd_syntax}:DISPlaystat" + ) + self._edge: Dict[int, MeasurementMeasItemEdgeItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemEdgeItem(device, f"{self._cmd_syntax}:EDGE{x}") + ) + self._edgeincre = MeasurementMeasItemEdgeincre(device, f"{self._cmd_syntax}:EDGEIncre") + self._edgequalone = MeasurementMeasItemEdgequalone( + device, f"{self._cmd_syntax}:EDGEQUALONE" + ) + self._edgequaltwo = MeasurementMeasItemEdgequaltwo( + device, f"{self._cmd_syntax}:EDGEQUALTWO" + ) + self._edgequalifier = MeasurementMeasItemEdgequalifier( + device, f"{self._cmd_syntax}:EDGEQUALifier" + ) + self._edges = MeasurementMeasItemEdges(device, f"{self._cmd_syntax}:EDGES") + self._eequal = MeasurementMeasItemEequal(device, f"{self._cmd_syntax}:EEQUal") + self._failcount = MeasurementMeasItemFailcount(device, f"{self._cmd_syntax}:FAILCount") + self._filterrangefrom = MeasurementMeasItemFilterrangefrom( + device, f"{self._cmd_syntax}:FILTERRANGEFROM" + ) + self._filterrangeto = MeasurementMeasItemFilterrangeto( + device, f"{self._cmd_syntax}:FILTERRANGETO" + ) + self._filters = MeasurementMeasItemFilters(device, f"{self._cmd_syntax}:FILTers") + self._freq = MeasurementMeasItemFreq(device, f"{self._cmd_syntax}:FREQ") + self._fromedgesearchdirect = MeasurementMeasItemFromedgesearchdirect( + device, f"{self._cmd_syntax}:FROMEDGESEARCHDIRect" + ) + self._fromsymbol = MeasurementMeasItemFromsymbol(device, f"{self._cmd_syntax}:FROMSymbol") + self._fromedge = MeasurementMeasItemFromedge(device, f"{self._cmd_syntax}:FROMedge") + self._fundcurrent = MeasurementMeasItemFundcurrent( + device, f"{self._cmd_syntax}:FUNDCURRent" + ) + self._gating = MeasurementMeasItemGating(device, f"{self._cmd_syntax}:GATing") + self._globalref = MeasurementMeasItemGlobalref(device, f"{self._cmd_syntax}:GLOBalref") + self._harmonicsclass = MeasurementMeasItemHarmonicsclass( + device, f"{self._cmd_syntax}:HARMONICSCLass" + ) + self._harmonicssource = MeasurementMeasItemHarmonicssource( + device, f"{self._cmd_syntax}:HARMONICSSOURce" + ) + self._harmonicsstd = MeasurementMeasItemHarmonicsstd( + device, f"{self._cmd_syntax}:HARMONICSStd" + ) + self._harmonicsunits = MeasurementMeasItemHarmonicsunits( + device, f"{self._cmd_syntax}:HARMONICSUNits" + ) + self._highlevel = MeasurementMeasItemHighlevel(device, f"{self._cmd_syntax}:HIGHLEVel") + self._highrefvoltage = MeasurementMeasItemHighrefvoltage( + device, f"{self._cmd_syntax}:HIGHREFVoltage" + ) + self._hlevel = MeasurementMeasItemHlevel(device, f"{self._cmd_syntax}:HLEVel") + self._htorque = MeasurementMeasItemHtorque(device, f"{self._cmd_syntax}:HTORque") + self._hvoltage = MeasurementMeasItemHvoltage(device, f"{self._cmd_syntax}:HVOLtage") + self._idletime = MeasurementMeasItemIdletime(device, f"{self._cmd_syntax}:IDLETime") + self._inputlevel = MeasurementMeasItemInputlevel(device, f"{self._cmd_syntax}:INPUTLEVel") + self._inputpower = MeasurementMeasItemInputpower(device, f"{self._cmd_syntax}:INPUTPOwer") + self._jittersummary = MeasurementMeasItemJittersummary( + device, f"{self._cmd_syntax}:JITTERSummary" + ) + self._label = MeasurementMeasItemLabel(device, f"{self._cmd_syntax}:LABel") + self._lineselected = MeasurementMeasItemLineselected( + device, f"{self._cmd_syntax}:LINESelected" + ) + self._lowrefvoltage = MeasurementMeasItemLowrefvoltage( + device, f"{self._cmd_syntax}:LOWREFVoltage" + ) + self._ltorque = MeasurementMeasItemLtorque(device, f"{self._cmd_syntax}:LTORque") + self._ltype = MeasurementMeasItemLtype(device, f"{self._cmd_syntax}:LTYPe") + self._lunits = MeasurementMeasItemLunits(device, f"{self._cmd_syntax}:LUNITs") + self._lvoltage = MeasurementMeasItemLvoltage(device, f"{self._cmd_syntax}:LVOLtage") + self._maxcurrent = MeasurementMeasItemMaxcurrent(device, f"{self._cmd_syntax}:MAXCUrrent") + self._maxcycle = MeasurementMeasItemMaxcycle(device, f"{self._cmd_syntax}:MAXCycle") + self._maxgvoltage = MeasurementMeasItemMaxgvoltage( + device, f"{self._cmd_syntax}:MAXGVoltage" + ) + self._maxvoltage = MeasurementMeasItemMaxvoltage(device, f"{self._cmd_syntax}:MAXVoltage") + self._measrange = MeasurementMeasItemMeasrange(device, f"{self._cmd_syntax}:MEASRange") + self._mech = MeasurementMeasItemMech(device, f"{self._cmd_syntax}:MECH") + self._mincycle = MeasurementMeasItemMincycle(device, f"{self._cmd_syntax}:MINCycle") + self._oddeven = MeasurementMeasItemOddeven(device, f"{self._cmd_syntax}:ODDEVen") + self._ofilters = MeasurementMeasItemOfilters(device, f"{self._cmd_syntax}:OFILters") + self._osangle = MeasurementMeasItemOsangle(device, f"{self._cmd_syntax}:OSANgle") + self._outedgequalifier = MeasurementMeasItemOutedgequalifier( + device, f"{self._cmd_syntax}:OUTEDGEQUALifier" + ) + self._outfilters = MeasurementMeasItemOutfilters(device, f"{self._cmd_syntax}:OUTFILTers") + self._outputvoltage: Dict[int, MeasurementMeasItemOutputvoltageItem] = ( + DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemOutputvoltageItem( + device, f"{self._cmd_syntax}:OUTPUT{x}VOLTage" + ) + ) + ) + self._passfailenabled = MeasurementMeasItemPassfailenabled( + device, f"{self._cmd_syntax}:PASSFAILENabled" + ) + self._passfailhighlimit = MeasurementMeasItemPassfailhighlimit( + device, f"{self._cmd_syntax}:PASSFAILHIGHlimit" + ) + self._passfaillimit = MeasurementMeasItemPassfaillimit( + device, f"{self._cmd_syntax}:PASSFAILLIMit" + ) + self._passfaillowlimit = MeasurementMeasItemPassfaillowlimit( + device, f"{self._cmd_syntax}:PASSFAILLOWlimit" + ) + self._passfailmargin = MeasurementMeasItemPassfailmargin( + device, f"{self._cmd_syntax}:PASSFAILMARgin" + ) + self._passfailwhen = MeasurementMeasItemPassfailwhen( + device, f"{self._cmd_syntax}:PASSFAILWHEN" + ) + self._patterndetection = MeasurementMeasItemPatterndetection( + device, f"{self._cmd_syntax}:PATTERNDETECTION" + ) + self._patternlength = MeasurementMeasItemPatternlength( + device, f"{self._cmd_syntax}:PATTERNLENgth" + ) + self._patterntype = MeasurementMeasItemPatterntype( + device, f"{self._cmd_syntax}:PATTERNTYPe" + ) + self._pcount = MeasurementMeasItemPcount(device, f"{self._cmd_syntax}:PCOUNt") + self._perfreq = MeasurementMeasItemPerfreq(device, f"{self._cmd_syntax}:PERFREQ") + self._polarity = MeasurementMeasItemPolarity(device, f"{self._cmd_syntax}:POLarity") + self._population = MeasurementMeasItemPopulation(device, f"{self._cmd_syntax}:POPUlation") + self._powerfactor = MeasurementMeasItemPowerfactor( + device, f"{self._cmd_syntax}:POWERFACtor" + ) + self._pregion = MeasurementMeasItemPregion(device, f"{self._cmd_syntax}:PREGion") + self._pwidth = MeasurementMeasItemPwidth(device, f"{self._cmd_syntax}:PWIDth") + self._redge = MeasurementMeasItemRedge(device, f"{self._cmd_syntax}:REDGe") + self._reflevels = MeasurementMeasItemReflevels(device, f"{self._cmd_syntax}:REFLevels") + self._reflevels1 = MeasurementMeasItemReflevels1(device, f"{self._cmd_syntax}:REFLevels1") + self._refmode = MeasurementMeasItemRefmode(device, f"{self._cmd_syntax}:REFMode") + self._refvoltageval: Dict[int, MeasurementMeasItemRefvoltagevalItem] = ( + DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemRefvoltagevalItem( + device, f"{self._cmd_syntax}:REFVOLTAGE{x}Val" + ) + ) + ) + self._refvoltage = MeasurementMeasItemRefvoltage(device, f"{self._cmd_syntax}:REFVoltage") + self._results = MeasurementMeasItemResults(device, f"{self._cmd_syntax}:RESUlts") + self._ripplefreqval: Dict[int, MeasurementMeasItemRipplefreqvalItem] = ( + DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItemRipplefreqvalItem( + device, f"{self._cmd_syntax}:RIPPLEFREQ{x}Val" + ) + ) + ) + self._sequence = MeasurementMeasItemSequence(device, f"{self._cmd_syntax}:SEQuence") + self._signalfrequency = MeasurementMeasItemSignalfrequency( + device, f"{self._cmd_syntax}:SIGNALFREQUEncy" + ) + self._signaltype = MeasurementMeasItemSignaltype(device, f"{self._cmd_syntax}:SIGNALType") + self._slabs = MeasurementMeasItemSlabs(device, f"{self._cmd_syntax}:SLABs") + self._slpct = MeasurementMeasItemSlpct(device, f"{self._cmd_syntax}:SLPCt") + self._sltype = MeasurementMeasItemSltype(device, f"{self._cmd_syntax}:SLTYpe") + self._smoothingfilter = MeasurementMeasItemSmoothingfilter( + device, f"{self._cmd_syntax}:SMOOTHINGFILTER" + ) + self._source = MeasurementMeasItemSource(device, f"{self._cmd_syntax}:SOURCE") + self._source1 = MeasurementMeasItemSource1(device, f"{self._cmd_syntax}:SOUrce1") + self._ssc = MeasurementMeasItemSsc(device, f"{self._cmd_syntax}:SSC") + self._status = MeasurementMeasItemStatus(device, f"{self._cmd_syntax}:STATUS") + self._stlabs = MeasurementMeasItemStlabs(device, f"{self._cmd_syntax}:STLABs") + self._stlpct = MeasurementMeasItemStlpct(device, f"{self._cmd_syntax}:STLPct") + self._stype = MeasurementMeasItemStype(device, f"{self._cmd_syntax}:STYPe") + self._sunits = MeasurementMeasItemSunits(device, f"{self._cmd_syntax}:SUNits") + self._tckavg = MeasurementMeasItemTckavg(device, f"{self._cmd_syntax}:TCKAVG") + self._tconstant = MeasurementMeasItemTconstant(device, f"{self._cmd_syntax}:TCONstant") + self._timingmode = MeasurementMeasItemTimingmode(device, f"{self._cmd_syntax}:TIMINGMode") + self._tmethod = MeasurementMeasItemTmethod(device, f"{self._cmd_syntax}:TMEThod") + self._toedgesearchdirect = MeasurementMeasItemToedgesearchdirect( + device, f"{self._cmd_syntax}:TOEDGESEARCHDIRect" + ) + self._toedge = MeasurementMeasItemToedge(device, f"{self._cmd_syntax}:TOEdge") + self._tosymbol = MeasurementMeasItemTosymbol(device, f"{self._cmd_syntax}:TOSYmbol") + self._transition = MeasurementMeasItemTransition(device, f"{self._cmd_syntax}:TRANSition") + self._type = MeasurementMeasItemType(device, f"{self._cmd_syntax}:TYPe") + self._waittime = MeasurementMeasItemWaittime(device, f"{self._cmd_syntax}:WAITTime") + self._windowlength = MeasurementMeasItemWindowlength( + device, f"{self._cmd_syntax}:WINDOWLENgth" + ) + self._xunit = MeasurementMeasItemXunit(device, f"{self._cmd_syntax}:XUNIT") + self._yunit = MeasurementMeasItemYunit(device, f"{self._cmd_syntax}:YUNIT") + self._stltype = MeasurementMeasItemStltype(device, f"{self._cmd_syntax}:STLTYpe") + + @property + def ber(self) -> MeasurementMeasItemBer: + """Return the ``MEASUrement:MEAS:BER`` command. + + Description: + - This command sets or queries BER value for the measurement. Measurements are specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BER?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BER?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BER value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BER + - MEASUrement:MEAS:BER? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is BER value for the measurement. + + Sub-properties: + - ``.targetber``: The ``MEASUrement:MEAS:BER:TARGETBER`` command. + """ + return self._ber + + @property + def bin(self) -> MeasurementMeasItemBin: + """Return the ``MEASUrement:MEAS:BIN`` command. + + Description: + - This command sets or queries the bin count for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BIN?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BIN?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BIN value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BIN + - MEASUrement:MEAS:BIN? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bin count. + """ + return self._bin + + @property + def bitcfgmode(self) -> MeasurementMeasItemBitcfgmode: + """Return the ``MEASUrement:MEAS:BITCfgmode`` command. + + Description: + - This command sets or queries whether the measurement returns the mean or mode + statistic result when the measurement type is bit amplitude/high/low. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITCfgmode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITCfgmode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BITCfgmode value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITCfgmode {MEAN|MODE} + - MEASUrement:MEAS:BITCfgmode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``MEAN`` specifies that the measurement returns results for each bit. + - ``MODE`` specifies that the measurement returns the mode of its results. + """ + return self._bitcfgmode + + @property + def bitend(self) -> MeasurementMeasItemBitend: + """Return the ``MEASUrement:MEAS:BITEnd`` command. + + Description: + - This command sets or queries the bit end as a percentage of the unit interval. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITEnd?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITEnd?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITEnd value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITEnd + - MEASUrement:MEAS:BITEnd? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bit end. + """ + return self._bitend + + @property + def bitpcnt(self) -> MeasurementMeasItemBitpcnt: + """Return the ``MEASUrement:MEAS:BITPcnt`` command. + + Description: + - This command sets or queries the bit center as a percentage of the unit interval. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITPcnt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITPcnt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITPcnt value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITPcnt + - MEASUrement:MEAS:BITPcnt? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bit center percentage value to be measured for the bit type selected. + """ + return self._bitpcnt + + @property + def bitstart(self) -> MeasurementMeasItemBitstart: + """Return the ``MEASUrement:MEAS:BITSTart`` command. + + Description: + - This command sets or queries the bit start as a percentage of the unit interval. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITSTart?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITSTart?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BITSTart value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITSTart + - MEASUrement:MEAS:BITSTart? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the bit start. + """ + return self._bitstart + + @property + def bittype(self) -> MeasurementMeasItemBittype: + """Return the ``MEASUrement:MEAS:BITType`` command. + + Description: + - This command sets or queries the bit type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BITType?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:BITType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:BITType value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BITType {ALLBits|TRANSition|NONTRANsition} + - MEASUrement:MEAS:BITType? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ALLBits`` specifies that the measurement returns results for all bits. + - ``TRANSition`` specifies that the measurement returns results for transitions bit + only. + - ``NONTRANsition`` specifies that the measurement returns results for non-transition + bits only. + """ + return self._bittype + + @property + def burstedgtype(self) -> MeasurementMeasItemBurstedgtype: + """Return the ``MEASUrement:MEAS:BURSTEDGTYPe`` command. + + Description: + - This command sets or queries the burst edge type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:BURSTEDGTYPe?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:BURSTEDGTYPe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:BURSTEDGTYPe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:BURSTEDGTYPe {RISE|FALL} + - MEASUrement:MEAS:BURSTEDGTYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RISE`` specifies a burst with a rising edge. + - ``FALL`` specifies a burst with a falling edge. + """ + return self._burstedgtype + + @property + def ccresults(self) -> MeasurementMeasItemCcresults: + """Return the ``MEASUrement:MEAS:CCRESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CCRESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:CCRESUlts?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.allacqs``: The ``MEASUrement:MEAS:CCRESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASUrement:MEAS:CCRESUlts:CURRentacq`` command tree. + """ + return self._ccresults + + @property + def clockrecovery(self) -> MeasurementMeasItemClockrecovery: + """Return the ``MEASUrement:MEAS:CLOCKRecovery`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CLOCKRecovery?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CLOCKRecovery?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.advanced``: The ``MEASUrement:MEAS:CLOCKRecovery:ADVanced`` command tree. + - ``.clockfrequency``: The ``MEASUrement:MEAS:CLOCKRecovery:CLOCKFrequency`` command. + - ``.clockmultiplier``: The ``MEASUrement:MEAS:CLOCKRecovery:CLOCKMultiplier`` + command. + - ``.constclockmode``: The ``MEASUrement:MEAS:CLOCKRecovery:CONSTCLOCKMODe`` command. + - ``.damping``: The ``MEASUrement:MEAS:CLOCKRecovery:DAMPing`` command. + - ``.datapath``: The ``MEASUrement:MEAS:CLOCKRecovery:DATAPath`` command. + - ``.datarate``: The ``MEASUrement:MEAS:CLOCKRecovery:DATARate`` command. + - ``.explicitclockmode``: The ``MEASUrement:MEAS:CLOCKRecovery:EXPLICITCLOCKMODe`` + command. + - ``.global``: The ``MEASUrement:MEAS:CLOCKRecovery:GLOBal`` command. + - ``.jtfbandwidth``: The ``MEASUrement:MEAS:CLOCKRecovery:JTFBandwidth`` command. + - ``.loopbandwidth``: The ``MEASUrement:MEAS:CLOCKRecovery:LOOPBandwidth`` command. + - ``.meanautocalculate``: The ``MEASUrement:MEAS:CLOCKRecovery:MEANAUTOCalculate`` + command. + - ``.method``: The ``MEASUrement:MEAS:CLOCKRecovery:METHod`` command. + - ``.model``: The ``MEASUrement:MEAS:CLOCKRecovery:MODel`` command. + - ``.nominaloffset``: The ``MEASUrement:MEAS:CLOCKRecovery:NOMINALOFFset`` command. + - ``.standard``: The ``MEASUrement:MEAS:CLOCKRecovery:STAndard`` command. + """ + return self._clockrecovery + + @property + def commonmode(self) -> MeasurementMeasItemCommonmode: + """Return the ``MEASUrement:MEAS:COMMONMode`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:COMMONMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:COMMONMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.filters``: The ``MEASUrement:MEAS:COMMONMode:FILTers`` command tree. + - ``.sources``: The ``MEASUrement:MEAS:COMMONMode:SOURCEs`` command. + """ + return self._commonmode + + @property + def cover(self) -> MeasurementMeasItemCover: + """Return the ``MEASUrement:MEAS:COVer`` command. + + Description: + - This command sets or queries the Calculate Over for the Power Quality measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:COVer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:COVer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:COVer value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:COVer {FFREQuency|AFREQuencies} + - MEASUrement:MEAS:COVer? + ``` + + Info: + - ``FFREQuency`` sets Calculate Power Quality measurement. + - ``AFREQuencies`` sets Calculate Power Quality measurement for all frequencies. + """ + return self._cover + + @property + def customlimitsfile(self) -> MeasurementMeasItemCustomlimitsfile: + """Return the ``MEASUrement:MEAS:CUSTOMLIMITSFile`` command. + + Description: + - This command sets or queries the custom limits file path for custom harmonics + standard. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CUSTOMLIMITSFile?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:CUSTOMLIMITSFile?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CUSTOMLIMITSFile value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CUSTOMLIMITSFile + - MEASUrement:MEAS:CUSTOMLIMITSFile? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the location of limits file. + """ + return self._customlimitsfile + + @property + def cyclemode(self) -> MeasurementMeasItemCyclemode: + """Return the ``MEASUrement:MEAS:CYCLemode`` command. + + Description: + - This command sets or queries the cycle mode for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:CYCLemode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:CYCLemode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:CYCLemode value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:CYCLemode {RECORD|CYCLE} + - MEASUrement:MEAS:CYCLemode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RECORD`` specifies that the measurement is taken over the whole record. + - ``CYCLE`` specifies that measurements are taken on each cycle of the source. + """ + return self._cyclemode + + @property + def delay(self) -> MeasurementMeasItemDelay: + """Return the ``MEASUrement:MEAS:DELay`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DELay?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:DELay?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.edge``: The ``MEASUrement:MEAS:DELay:EDGE`` command. + """ + return self._delay + + @property + def displaystat(self) -> MeasurementMeasItemDisplaystat: + """Return the ``MEASUrement:MEAS:DISPlaystat`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:DISPlaystat?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:DISPlaystat?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.enable``: The ``MEASUrement:MEAS:DISPlaystat:ENABle`` command. + """ + return self._displaystat + + @property + def edge(self) -> Dict[int, MeasurementMeasItemEdgeItem]: + """Return the ``MEASUrement:MEAS:EDGE`` command. + + Description: + - This command sets or queries the type of the specified edge, rise or fall, for the + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EDGE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGE {RISE|FALL|BOTH} + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RISE`` specifies the rising edge. + - ``FALL`` specifies the falling edge. + - ``BOTH`` specifies either the rising or falling edge. + """ + return self._edge + + @property + def edgeincre(self) -> MeasurementMeasItemEdgeincre: + """Return the ``MEASUrement:MEAS:EDGEIncre`` command. + + Description: + - This command sets or queries the edge increment value for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEIncre?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEIncre?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGEIncre value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEIncre + - MEASUrement:MEAS:EDGEIncre? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the measurements edge increment value. + """ + return self._edgeincre + + @property + def edgequalone(self) -> MeasurementMeasItemEdgequalone: + """Return the ``MEASUrement:MEAS:EDGEQUALONE`` command. + + Description: + - This command set or queries the measurement 1 input edge qualifier one source for + Efficiency measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEQUALONE?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALONE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGEQUALONE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEQUALONE + - MEASUrement:MEAS:EDGEQUALONE? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` specifies the edge qualifier source at input configuration. + """ + return self._edgequalone + + @property + def edgequaltwo(self) -> MeasurementMeasItemEdgequaltwo: + """Return the ``MEASUrement:MEAS:EDGEQUALTWO`` command. + + Description: + - This command sets or queries the measurement 1 output edge qualifier two source for + Efficiency measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEQUALTWO?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGEQUALTWO?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGEQUALTWO value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEQUALTWO + - MEASUrement:MEAS:EDGEQUALTWO? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` specifies the edge qualifier source at output configuration. + """ + return self._edgequaltwo + + @property + def edgequalifier(self) -> MeasurementMeasItemEdgequalifier: + """Return the ``MEASUrement:MEAS:EDGEQUALifier`` command. + + Description: + - This command sets or queries the edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGEQUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:EDGEQUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:EDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EDGEQUALifier {CH|MATH|REF} + - MEASUrement:MEAS:EDGEQUALifier? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ``CH`` is the edge qualifier source channel. x has a minimum of 1 and a maximum of + 8. + - ``MATH`` is the edge qualifier source math waveform; is ≥1. + - ``REF`` is the edge qualifier source reference waveform; is ≥1. + """ + return self._edgequalifier + + @property + def edges(self) -> MeasurementMeasItemEdges: + """Return the ``MEASUrement:MEAS:EDGES`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EDGES?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EDGES?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.fromlevel``: The ``MEASUrement:MEAS:EDGES:FROMLevel`` command. + - ``.level``: The ``MEASUrement:MEAS:EDGES:LEVel`` command. + - ``.lowerfrequency``: The ``MEASUrement:MEAS:EDGES:LOWERFREQuency`` command. + - ``.n``: The ``MEASUrement:MEAS:EDGES:N`` command. + - ``.slewratemethod``: The ``MEASUrement:MEAS:EDGES:SLEWRATEMethod`` command. + - ``.tolevel``: The ``MEASUrement:MEAS:EDGES:TOLevel`` command. + - ``.upperfrequency``: The ``MEASUrement:MEAS:EDGES:UPPERFREQuency`` command. + """ + return self._edges + + @property + def eequal(self) -> MeasurementMeasItemEequal: + """Return the ``MEASUrement:MEAS:EEQUal`` command. + + Description: + - This command turns on or off the edge qualifier settings as input waveform to + measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:EEQUal?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:EEQUal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:EEQUal value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:EEQUal {ON|OFF} + - MEASUrement:MEAS:EEQUal? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ON`` specifies the edge qualifier settings has been turned on. + - ``OFF`` specifies the edge qualifier settings has been turned off. + """ + return self._eequal + + @property + def failcount(self) -> MeasurementMeasItemFailcount: + """Return the ``MEASUrement:MEAS:FAILCount`` command. + + Description: + - This command returns the number of measurement failures, if applicable, for the + selected measurement. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FAILCount?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FAILCount?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FAILCount? + ``` + """ + return self._failcount + + @property + def filterrangefrom(self) -> MeasurementMeasItemFilterrangefrom: + """Return the ``MEASUrement:MEAS:FILTERRANGEFROM`` command. + + Description: + - This command sets or queries harmonics filter from order. Measurements are specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTERRANGEFROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTERRANGEFROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTERRANGEFROM value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTERRANGEFROM + - MEASUrement:MEAS:FILTERRANGEFROM? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the filter range from value. The default value is 1. + """ + return self._filterrangefrom + + @property + def filterrangeto(self) -> MeasurementMeasItemFilterrangeto: + """Return the ``MEASUrement:MEAS:FILTERRANGETO`` command. + + Description: + - This command sets or queries harmonics filter to order. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTERRANGETO?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FILTERRANGETO?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FILTERRANGETO value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FILTERRANGETO + - MEASUrement:MEAS:FILTERRANGETO? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the filter range to value. The default value is 50. + """ + return self._filterrangeto + + @property + def filters(self) -> MeasurementMeasItemFilters: + """Return the ``MEASUrement:MEAS:FILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FILTers?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FILTers?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.blankingtime``: The ``MEASUrement:MEAS:FILTers:BLANKingtime`` command. + - ``.global``: The ``MEASUrement:MEAS:FILTers:GLOBal`` command. + - ``.highpass``: The ``MEASUrement:MEAS:FILTers:HIGHPass`` command tree. + - ``.lowpass``: The ``MEASUrement:MEAS:FILTers:LOWPass`` command tree. + - ``.ramptime``: The ``MEASUrement:MEAS:FILTers:RAMPtime`` command. + """ + return self._filters + + @property + def freq(self) -> MeasurementMeasItemFreq: + """Return the ``MEASUrement:MEAS:FREQ`` command. + + Description: + - This command sets or queries switching frequency for Switching Ripple measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FREQ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FREQ?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:FREQ value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FREQ + - MEASUrement:MEAS:FREQ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the switching frequency. The default is 100k Hz, The minimum is 50 + Hz, and the maximum is 1 GHz. + """ + return self._freq + + @property + def fromedgesearchdirect(self) -> MeasurementMeasItemFromedgesearchdirect: + """Return the ``MEASUrement:MEAS:FROMEDGESEARCHDIRect`` command. + + Description: + - This command sets or queries the from edge search direction for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:FROMEDGESEARCHDIRect?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:FROMEDGESEARCHDIRect?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMEDGESEARCHDIRect value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:FROMEDGESEARCHDIRect? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FORWard`` specifies a forward search from the edge. + - ``BACKWard`` specifies a backward search from the edge. + """ + return self._fromedgesearchdirect + + @property + def fromsymbol(self) -> MeasurementMeasItemFromsymbol: + """Return the ``MEASUrement:MEAS:FROMSymbol`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FROMSymbol?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FROMSymbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.logic2source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC2SOUrce`` command. + - ``.logic3source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC3SOUrce`` command. + - ``.logic4source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC4SOUrce`` command. + - ``.logic5source``: The ``MEASUrement:MEAS:FROMSymbol:LOGIC5SOUrce`` command. + - ``.measureat``: The ``MEASUrement:MEAS:FROMSymbol:MEASUREAT`` command. + """ + return self._fromsymbol + + @property + def fromedge(self) -> MeasurementMeasItemFromedge: + """Return the ``MEASUrement:MEAS:FROMedge`` command. + + Description: + - This command sets or queries the from edge type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FROMedge?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FROMedge?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FROMedge value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FROMedge {RISe|FALL|BOTH} + - MEASUrement:MEAS:FROMedge? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both the rising and falling edges of the waveform. + """ + return self._fromedge + + @property + def fundcurrent(self) -> MeasurementMeasItemFundcurrent: + """Return the ``MEASUrement:MEAS:FUNDCURRent`` command. + + Description: + - This command sets or queries the fundamental current value for IEC-Class C type + harmonics standard. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:FUNDCURRent?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:FUNDCURRent?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:FUNDCURRent value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:FUNDCURRent + - MEASUrement:MEAS:FUNDCURRent? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the fundamental current for class C harmonics + standard. + """ + return self._fundcurrent + + @property + def gating(self) -> MeasurementMeasItemGating: + """Return the ``MEASUrement:MEAS:GATing`` command. + + Description: + - This command sets or queries the gating type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GATing?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:GATing value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GATing {NONE|SCREEN|CURSor|LOGic|SEARch|TIMe} + - MEASUrement:MEAS:GATing? + ``` + + Info: + - ``MEAS`` is the measurement number for which to return a value. + - ``NONE`` specifies measurements are taken across the entire record. + - ``SCREEN`` turns on gating, using the left and right edges of the screen. + - ``CURSor`` limits measurements to the portion of the waveform between the vertical bar + cursors, even if they are off screen. + - ``LOGic`` specifies that measurements are taken only when the logical state of other + waveforms is true. + - ``SEARch`` specifies that measurements are taken only where the results of a user + specified search are found. + - ``TIMe`` limits measurements to the portion of the waveform between the Start and End + gate times. + + Sub-properties: + - ``.active``: The ``MEASUrement:MEAS:GATing:ACTive`` command. + - ``.endtime``: The ``MEASUrement:MEAS:GATing:ENDtime`` command. + - ``.global``: The ``MEASUrement:MEAS:GATing:GLOBal`` command. + - ``.hysteresis``: The ``MEASUrement:MEAS:GATing:HYSTeresis`` command. + - ``.logicsource``: The ``MEASUrement:MEAS:GATing:LOGICSource`` command. + - ``.midref``: The ``MEASUrement:MEAS:GATing:MIDRef`` command. + - ``.searchsource``: The ``MEASUrement:MEAS:GATing:SEARCHSource`` command. + - ``.starttime``: The ``MEASUrement:MEAS:GATing:STARTtime`` command. + """ + return self._gating + + @property + def globalref(self) -> MeasurementMeasItemGlobalref: + """Return the ``MEASUrement:MEAS:GLOBalref`` command. + + Description: + - This command sets or queries the reference levels global flag for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:GLOBalref?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:GLOBalref?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:GLOBalref value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:GLOBalref {OFF|ON|0|1} + - MEASUrement:MEAS:GLOBalref? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``OFF`` allows ref levels to be set separately for each measurement. + - ``ON`` applies the same ref levels to all measurements. + - ``0`` allows ref levels to be set separately for each measurement. + - ``1`` applies the same ref levels to all measurements. + """ + return self._globalref + + @property + def harmonicsclass(self) -> MeasurementMeasItemHarmonicsclass: + """Return the ``MEASUrement:MEAS:HARMONICSCLass`` command. + + Description: + - This command sets or queries the class type for the harmonics measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSCLass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSCLass?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSCLass value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSCLass {CLASSA|CLASSB|CLASSC|CLASSD} + - MEASUrement:MEAS:HARMONICSCLass? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``CLASSA`` specifies the class type to A. + - ``CLASSB`` specifies the class type to B. + - ``CLASSC`` specifies the class type to C. + - ``CLASSD`` specifies the class type to D. + """ + return self._harmonicsclass + + @property + def harmonicssource(self) -> MeasurementMeasItemHarmonicssource: + """Return the ``MEASUrement:MEAS:HARMONICSSOURce`` command. + + Description: + - This command sets or queries harmonics source. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSSOURce value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSSOURce {CURRENT|VOLTAGE} + - MEASUrement:MEAS:HARMONICSSOURce? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``CURRENT`` specifies current as the harmonics source. + - ``VOLTAGE`` specifies voltage as the harmonics source. + """ + return self._harmonicssource + + @property + def harmonicsstd(self) -> MeasurementMeasItemHarmonicsstd: + """Return the ``MEASUrement:MEAS:HARMONICSStd`` command. + + Description: + - This command sets or queries harmonics standard. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSStd?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSStd?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSStd value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSStd {NONE|IEC|IEEE519|CUSTOM} + - MEASUrement:MEAS:HARMONICSStd? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NONE`` specifies none as the harmonics test standard. + - ``IEC`` specifies IEC as the harmonics test standard. + - ``IEEE519`` specifies IEEE519 as the harmonics test standard. + - ``CUSTOM`` specifies that there is a custom harmonics test standard. + """ + return self._harmonicsstd + + @property + def harmonicsunits(self) -> MeasurementMeasItemHarmonicsunits: + """Return the ``MEASUrement:MEAS:HARMONICSUNits`` command. + + Description: + - This command sets or queries harmonics units. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HARMONICSUNits?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSUNits?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HARMONICSUNits value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HARMONICSUNits {LOGARITHM|LINEAR} + - MEASUrement:MEAS:HARMONICSUNits? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``LOGARITHM`` specifies logarithmic as the harmonics units. + - ``LINEAR`` specifies linear as the harmonics units. + """ + return self._harmonicsunits + + @property + def highlevel(self) -> MeasurementMeasItemHighlevel: + """Return the ``MEASUrement:MEAS:HIGHLEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HIGHLEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.configuration``: The ``MEASUrement:MEAS:HIGHLEVel:CONFIGuration`` command. + - ``.l2ltol2n``: The ``MEASUrement:MEAS:HIGHLEVel:L2LTOL2N`` command. + - ``.lineselected``: The ``MEASUrement:MEAS:HIGHLEVel:LINESelected`` command. + - ``.outl2ltol2n``: The ``MEASUrement:MEAS:HIGHLEVel:OUTL2LTOL2N`` command. + - ``.outlineselected``: The ``MEASUrement:MEAS:HIGHLEVel:OUTLINESelected`` command. + - ``.outwiring``: The ``MEASUrement:MEAS:HIGHLEVel:OUTWIRing`` command. + - ``.useglobal``: The ``MEASUrement:MEAS:HIGHLEVel:USEGLOBAL`` command. + - ``.wiring``: The ``MEASUrement:MEAS:HIGHLEVel:WIRing`` command. + """ + return self._highlevel + + @property + def highrefvoltage(self) -> MeasurementMeasItemHighrefvoltage: + """Return the ``MEASUrement:MEAS:HIGHREFVoltage`` command. + + Description: + - This command sets or queries the high reference voltage value for the 'time outside + level' measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HIGHREFVoltage?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:HIGHREFVoltage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HIGHREFVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HIGHREFVoltage + - MEASUrement:MEAS:HIGHREFVoltage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the high reference voltage value for the selected configuration. + """ + return self._highrefvoltage + + @property + def hlevel(self) -> MeasurementMeasItemHlevel: + """Return the ``MEASUrement:MEAS:HLEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HLEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.output``: The ``MEASUrement:MEAS:HLEVel:OUTPut`` command tree. + """ + return self._hlevel + + @property + def htorque(self) -> MeasurementMeasItemHtorque: + """Return the ``MEASUrement:MEAS:HTORque`` command. + + Description: + - This command sets or queries the measurement High Torque value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HTORque?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HTORque?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:HTORque value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HTORque + - MEASUrement:MEAS:HTORque? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the High Torque value of the measurement in the range of 11 to + 10000000. + """ + return self._htorque + + @property + def hvoltage(self) -> MeasurementMeasItemHvoltage: + """Return the ``MEASUrement:MEAS:HVOLtage`` command. + + Description: + - This command sets or queries the measurement Torque High Voltage value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:HVOLtage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:HVOLtage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:HVOLtage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:HVOLtage + - MEASUrement:MEAS:HVOLtage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the High Voltage value of the measurement in the range of 1 to + 100. + """ + return self._hvoltage + + @property + def idletime(self) -> MeasurementMeasItemIdletime: + """Return the ``MEASUrement:MEAS:IDLETime`` command. + + Description: + - This command sets or queries the idle time for the measurement when the measurement + type is burst width. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:IDLETime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:IDLETime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:IDLETime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:IDLETime + - MEASUrement:MEAS:IDLETime? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the idle time. + """ + return self._idletime + + @property + def inputlevel(self) -> MeasurementMeasItemInputlevel: + """Return the ``MEASUrement:MEAS:INPUTLEVel`` command. + + Description: + - Sets or queries the input trigger voltage level. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:INPUTLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:INPUTLEVel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:INPUTLEVel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:INPUTLEVel + - MEASUrement:MEAS:INPUTLEVel? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the trigger voltage, in the range of -500 V to +500 V. + """ + return self._inputlevel + + @property + def inputpower(self) -> MeasurementMeasItemInputpower: + """Return the ``MEASUrement:MEAS:INPUTPOwer`` command. + + Description: + - This command sets or queries the input power value for IEC-Class C and Class D + harmonics standard . + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:INPUTPOwer?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:INPUTPOwer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:INPUTPOwer value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:INPUTPOwer + - MEASUrement:MEAS:INPUTPOwer? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` specifies the input power value for class C harmonics standard. + """ + return self._inputpower + + @property + def jittersummary(self) -> MeasurementMeasItemJittersummary: + """Return the ``MEASUrement:MEAS:JITTERSummary`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:JITTERSummary?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:JITTERSummary?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.dcd``: The ``MEASUrement:MEAS:JITTERSummary:DCD`` command. + - ``.ddj``: The ``MEASUrement:MEAS:JITTERSummary:DDJ`` command. + - ``.djdd``: The ``MEASUrement:MEAS:JITTERSummary:DJDD`` command. + - ``.eyewidthber``: The ``MEASUrement:MEAS:JITTERSummary:EYEWIDTHBER`` command. + - ``.npj``: The ``MEASUrement:MEAS:JITTERSummary:NPJ`` command. + - ``.pj``: The ``MEASUrement:MEAS:JITTERSummary:PJ`` command. + - ``.rjdd``: The ``MEASUrement:MEAS:JITTERSummary:RJDD`` command. + - ``.tie``: The ``MEASUrement:MEAS:JITTERSummary:TIE`` command. + - ``.tjber``: The ``MEASUrement:MEAS:JITTERSummary:TJBER`` command. + """ + return self._jittersummary + + @property + def label(self) -> MeasurementMeasItemLabel: + """Return the ``MEASUrement:MEAS:LABel`` command. + + Description: + - This command sets or queries the label for the measurement. As the label can contain + non 7-bit ASCII text, it is stored in Percent Encoding format. The measurement number + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LABel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LABel + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the measurement label. + """ + return self._label + + @property + def lineselected(self) -> MeasurementMeasItemLineselected: + """Return the ``MEASUrement:MEAS:LINESelected`` command. + + Description: + - This command sets or queries selected lines for the measurement. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LINESelected?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:LINESelected?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:LINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LINESelected {ABCB|ACBC|BACA|XYZY|XZYZ|YXZX} + - MEASUrement:MEAS:LINESelected? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + return self._lineselected + + @property + def lowrefvoltage(self) -> MeasurementMeasItemLowrefvoltage: + """Return the ``MEASUrement:MEAS:LOWREFVoltage`` command. + + Description: + - This command sets or queries the low reference voltage value for the 'time outside + level' measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LOWREFVoltage?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:LOWREFVoltage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:LOWREFVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LOWREFVoltage + - MEASUrement:MEAS:LOWREFVoltage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the low reference voltage value for the selected configuration. + """ + return self._lowrefvoltage + + @property + def ltorque(self) -> MeasurementMeasItemLtorque: + """Return the ``MEASUrement:MEAS:LTORque`` command. + + Description: + - This command sets or queries the measurement Low Torque value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LTORque?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LTORque?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LTORque value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LTORque + - MEASUrement:MEAS:LTORque? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the Low Torque value of the measurement in the range of 0 to + 10000000. + """ + return self._ltorque + + @property + def ltype(self) -> MeasurementMeasItemLtype: + """Return the ``MEASUrement:MEAS:LTYPe`` command. + + Description: + - This command sets or returns the value for the level type as auto or custom. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LTYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LTYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LTYPe {AUTO|CUSTom} + - MEASUrement:MEAS:LTYPe? + ``` + + Info: + - ``AUTO`` specifies the value for the level type as auto. + - ``CUSTom`` specifies the value for the level type as custom. + """ + return self._ltype + + @property + def lunits(self) -> MeasurementMeasItemLunits: + """Return the ``MEASUrement:MEAS:LUNITs`` command. + + Description: + - This command sets or returns the value for the level units as percentage or absolute. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LUNITs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LUNITs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:LUNITs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LUNITs {PERCent|ABSolute} + - MEASUrement:MEAS:LUNITs? + ``` + + Info: + - ``PERCent`` specifies the value for the level units as percent. + - ``ABSolute`` specifies the value for the level units as absolute. + """ + return self._lunits + + @property + def lvoltage(self) -> MeasurementMeasItemLvoltage: + """Return the ``MEASUrement:MEAS:LVOLtage`` command. + + Description: + - This command sets or queries the measurement Torque Low Voltage value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:LVOLtage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:LVOLtage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:LVOLtage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:LVOLtage + - MEASUrement:MEAS:LVOLtage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the Low Voltage value of the measurement in the range of -100 to + 100. + """ + return self._lvoltage + + @property + def maxcurrent(self) -> MeasurementMeasItemMaxcurrent: + """Return the ``MEASUrement:MEAS:MAXCUrrent`` command. + + Description: + - This command sets or returns the maximum current. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXCUrrent?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXCUrrent?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MAXCUrrent value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXCUrrent + - MEASUrement:MEAS:MAXCUrrent? + ``` + + Info: + - ```` specifies the maximum current. + """ + return self._maxcurrent + + @property + def maxcycle(self) -> MeasurementMeasItemMaxcycle: + """Return the ``MEASUrement:MEAS:MAXCycle`` command. + + Description: + - This command sets or queries the maximum cycle value for the DDRTERRN and DDRTERRMN + measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXCycle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXCycle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MAXCycle value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXCycle + - MEASUrement:MEAS:MAXCycle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the maximum cycle range limit value in the range or 2 to 50. + """ + return self._maxcycle + + @property + def maxgvoltage(self) -> MeasurementMeasItemMaxgvoltage: + """Return the ``MEASUrement:MEAS:MAXGVoltage`` command. + + Description: + - This command sets or returns the maximum gate voltage. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXGVoltage?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXGVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MAXGVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXGVoltage + - MEASUrement:MEAS:MAXGVoltage? + ``` + + Info: + - ```` specifies the maximum gate voltage. + """ + return self._maxgvoltage + + @property + def maxvoltage(self) -> MeasurementMeasItemMaxvoltage: + """Return the ``MEASUrement:MEAS:MAXVoltage`` command. + + Description: + - Sets or queries the maximum input voltage. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MAXVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MAXVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MAXVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MAXVoltage + - MEASUrement:MEAS:MAXVoltage? + ``` + + Info: + - ```` is the maximum input voltage, in the range of -61 V to +61 V. + """ + return self._maxvoltage + + @property + def measrange(self) -> MeasurementMeasItemMeasrange: + """Return the ``MEASUrement:MEAS:MEASRange`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MEASRange?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MEASRange?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.global``: The ``MEASUrement:MEAS:MEASRange:GLOBal`` command. + - ``.max``: The ``MEASUrement:MEAS:MEASRange:MAX`` command. + - ``.min``: The ``MEASUrement:MEAS:MEASRange:MIN`` command. + - ``.state``: The ``MEASUrement:MEAS:MEASRange:STATE`` command. + """ + return self._measrange + + @property + def mech(self) -> MeasurementMeasItemMech: + """Return the ``MEASUrement:MEAS:MECH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MECH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MECH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eindexz``: The ``MEASUrement:MEAS:MECH:EINDexz`` command. + - ``.gratio``: The ``MEASUrement:MEAS:MECH:GRATio`` command. + - ``.munits``: The ``MEASUrement:MEAS:MECH:MUNits`` command. + - ``.ppairs``: The ``MEASUrement:MEAS:MECH:PPAirs`` command. + - ``.pprotation``: The ``MEASUrement:MEAS:MECH:PPRotation`` command. + - ``.stype``: The ``MEASUrement:MEAS:MECH:STYPe`` command. + """ + return self._mech + + @property + def mincycle(self) -> MeasurementMeasItemMincycle: + """Return the ``MEASUrement:MEAS:MINCycle`` command. + + Description: + - This command sets or queries the minimum cycle value for the DDRTERRN and DDRTERRMN + measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:MINCycle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:MINCycle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:MINCycle value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:MINCycle + - MEASUrement:MEAS:MINCycle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the minimum cycle range limit value in the range or 2 to 50. + """ + return self._mincycle + + @property + def oddeven(self) -> MeasurementMeasItemOddeven: + """Return the ``MEASUrement:MEAS:ODDEVen`` command. + + Description: + - This command sets or queries harmonics oddeven. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:ODDEVen?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:ODDEVen?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:ODDEVen value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:ODDEVen {ALL|EVEN|ODD} + - MEASUrement:MEAS:ODDEVen? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ALL`` displays all the results. + - ``EVEN`` displays the even results. + - ``ODD`` displays the odd results. + """ + return self._oddeven + + @property + def ofilters(self) -> MeasurementMeasItemOfilters: + """Return the ``MEASUrement:MEAS:OFILters`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OFILters?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:OFILters?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.lowpass``: The ``MEASUrement:MEAS:OFILters:LOWPass`` command tree. + """ + return self._ofilters + + @property + def osangle(self) -> MeasurementMeasItemOsangle: + """Return the ``MEASUrement:MEAS:OSANgle`` command. + + Description: + - This command sets or queries the specified measurement Offset angle. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OSANgle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:OSANgle?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:OSANgle value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OSANgle + - MEASUrement:MEAS:OSANgle? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the offset angle of the measurement in the range or -360 to 360. + """ + return self._osangle + + @property + def outedgequalifier(self) -> MeasurementMeasItemOutedgequalifier: + """Return the ``MEASUrement:MEAS:OUTEDGEQUALifier`` command. + + Description: + - This command sets or queries local output edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTEDGEQUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTEDGEQUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTEDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTEDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:OUTEDGEQUALifier? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._outedgequalifier + + @property + def outfilters(self) -> MeasurementMeasItemOutfilters: + """Return the ``MEASUrement:MEAS:OUTFILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTFILTers?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:OUTFILTers?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.lowpass``: The ``MEASUrement:MEAS:OUTFILTers:LOWPass`` command tree. + """ + return self._outfilters + + @property + def outputvoltage(self) -> Dict[int, MeasurementMeasItemOutputvoltageItem]: + """Return the ``MEASUrement:MEAS:OUTPUTVOLTage`` command. + + Description: + - Sets or queries the voltage level for the specified output voltage source n. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:OUTPUTVOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:OUTPUTVOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:OUTPUTVOLTage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:OUTPUTVOLTage + - MEASUrement:MEAS:OUTPUTVOLTage? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the output voltage for source n, in the range of -61 V to +61 V. + """ + return self._outputvoltage + + @property + def passfailenabled(self) -> MeasurementMeasItemPassfailenabled: + """Return the ``MEASUrement:MEAS:PASSFAILENabled`` command. + + Description: + - This command returns or sets the pass/fail test enable status. If enabled, this will + turn on pass fail testing for the specified measurement. Measurements are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILENabled?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILENabled?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILENabled value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILENabled + - MEASUrement:MEAS:PASSFAILENabled? + ``` + + Info: + - ```` enables or disables pass fail testing for the specified measurement. A value + of 1 enables and a value of 0 disables. + """ + return self._passfailenabled + + @property + def passfailhighlimit(self) -> MeasurementMeasItemPassfailhighlimit: + """Return the ``MEASUrement:MEAS:PASSFAILHIGHlimit`` command. + + Description: + - This command returns or sets the high limit for a measurement test. Used as the test + value when the 'fail when' criteria is set to 'less than' or 'greater than'. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILHIGHlimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILHIGHlimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILHIGHlimit value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILHIGHlimit + - MEASUrement:MEAS:PASSFAILHIGHlimit? + ``` + + Info: + - ```` sets the high limit for a measurement test. The high limit is a number which + a measurement result will be tested against. + """ + return self._passfailhighlimit + + @property + def passfaillimit(self) -> MeasurementMeasItemPassfaillimit: + """Return the ``MEASUrement:MEAS:PASSFAILLIMit`` command. + + Description: + - This command returns or sets the limit for a measurement test. Used as the test value + when the 'fail when' criteria is set to 'less than' or 'greater than'. Measurements + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILLIMit?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLIMit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLIMit value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILLIMit + - MEASUrement:MEAS:PASSFAILLIMit? + ``` + + Info: + - ```` sets the limit for a measurement test. The limit is a number which a + measurement result will be tested against. + """ + return self._passfaillimit + + @property + def passfaillowlimit(self) -> MeasurementMeasItemPassfaillowlimit: + """Return the ``MEASUrement:MEAS:PASSFAILLOWlimit`` command. + + Description: + - This command returns or sets the low limit for a measurement test. Used as the test + value when the 'fail when' criteria is set to 'less than' or 'greater than'. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILLOWlimit?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLOWlimit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILLOWlimit value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILLOWlimit + - MEASUrement:MEAS:PASSFAILLOWlimit? + ``` + + Info: + - ```` sets the low limit for a measurement test. The limit is a number which a + measurement result will be tested against. + """ + return self._passfaillowlimit + + @property + def passfailmargin(self) -> MeasurementMeasItemPassfailmargin: + """Return the ``MEASUrement:MEAS:PASSFAILMARgin`` command. + + Description: + - This command returns or sets the allowed margin for limit comparisons for all + pass/fail checks. This is given as a percentage with a default value of 0.05 + representing 5%. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILMARgin?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILMARgin?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILMARgin value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILMARgin + - MEASUrement:MEAS:PASSFAILMARgin? + ``` + + Info: + - ```` sets the allowed margin for limit comparisons for all pass/fail checks. The + margin as a percentage of the limit. + """ + return self._passfailmargin + + @property + def passfailwhen(self) -> MeasurementMeasItemPassfailwhen: + """Return the ``MEASUrement:MEAS:PASSFAILWHEN`` command. + + Description: + - This command sets or returns the condition on which a measurement test fails. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PASSFAILWHEN?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILWHEN?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PASSFAILWHEN value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PASSFAILWHEN {LESSthan|GREATERthan|Equals|NOTEQuals|INSIDErange|OUTSIDErange} + - MEASUrement:MEAS:PASSFAILWHEN? + ``` + + Info: + - ``LESSthan`` sets the condition for measurement test failure as less than the given + limit. This is the default value. + - ``GREATERthan`` sets the condition for measurement test failure as greater than the + given limit. + - ``Equals`` sets the condition for measurement test failure as equals the given limit. + - ``NOTEQuals`` sets the condition for measurement test failure as not equal to the + given limit. + - ``INSIDErange`` sets the condition for measurement test failure as inside the limit + range. + - ``OUTSIDErange`` sets the condition for measurement test failure as outside the limit + range. + """ # noqa: E501 + return self._passfailwhen + + @property + def patterndetection(self) -> MeasurementMeasItemPatterndetection: + """Return the ``MEASUrement:MEAS:PATTERNDETECTION`` command. + + Description: + - This command sets or queries the pattern detection type for the measurement. + Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PATTERNDETECTION?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PATTERNDETECTION?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PATTERNDETECTION value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PATTERNDETECTION {AUTO|MANUAL} + - MEASUrement:MEAS:PATTERNDETECTION? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` automatically detects the pattern. + - ``MANUAL`` requires manually detecting the pattern. + """ + return self._patterndetection + + @property + def patternlength(self) -> MeasurementMeasItemPatternlength: + """Return the ``MEASUrement:MEAS:PATTERNLENgth`` command. + + Description: + - This command sets or queries the pattern length for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PATTERNLENgth?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:PATTERNLENgth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PATTERNLENgth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PATTERNLENgth + - MEASUrement:MEAS:PATTERNLENgth? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the pattern length. + """ + return self._patternlength + + @property + def patterntype(self) -> MeasurementMeasItemPatterntype: + """Return the ``MEASUrement:MEAS:PATTERNTYPe`` command. + + Description: + - This command sets or queries the pattern type for the measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PATTERNTYPe?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PATTERNTYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:PATTERNTYPe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PATTERNTYPe {REPeating|ARBitrary} + - MEASUrement:MEAS:PATTERNTYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``REPeating`` specifies a repeating pattern. + - ``ARBitrary`` specifies an arbitrary pattern. + """ + return self._patterntype + + @property + def pcount(self) -> MeasurementMeasItemPcount: + """Return the ``MEASUrement:MEAS:PCOUNt`` command. + + Description: + - This command sets or returns number of pulses. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PCOUNt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PCOUNt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PCOUNt value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PCOUNt + - MEASUrement:MEAS:PCOUNt? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` is the number of pulses. + """ + return self._pcount + + @property + def perfreq(self) -> MeasurementMeasItemPerfreq: + """Return the ``MEASUrement:MEAS:PERFREQ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PERFREQ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PERFREQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.edge``: The ``MEASUrement:MEAS:PERFREQ:EDGE`` command. + """ + return self._perfreq + + @property + def polarity(self) -> MeasurementMeasItemPolarity: + """Return the ``MEASUrement:MEAS:POLarity`` command. + + Description: + - This command sets or queries the polarity for the measurement when the measurement + type is burst width. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POLarity?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:POLarity?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POLarity value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POLarity {NORMal|INVerted} + - MEASUrement:MEAS:POLarity? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NORMal`` specifies normal polarity. + - ``INVerted`` specifies inverted polarity. + """ + return self._polarity + + @property + def population(self) -> MeasurementMeasItemPopulation: + """Return the ``MEASUrement:MEAS:POPUlation`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:POPUlation?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.global``: The ``MEASUrement:MEAS:POPUlation:GLOBal`` command. + - ``.limit``: The ``MEASUrement:MEAS:POPUlation:LIMIT`` command tree. + """ + return self._population + + @property + def powerfactor(self) -> MeasurementMeasItemPowerfactor: + """Return the ``MEASUrement:MEAS:POWERFACtor`` command. + + Description: + - This command sets or queries the power factor value for IEC-Class C type harmonics + standard. The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:POWERFACtor?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:POWERFACtor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:POWERFACtor value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:POWERFACtor + - MEASUrement:MEAS:POWERFACtor? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the power factor value for class C harmonics standard. + """ + return self._powerfactor + + @property + def pregion(self) -> MeasurementMeasItemPregion: + """Return the ``MEASUrement:MEAS:PREGion`` command. + + Description: + - This command sets or returns pulse region for a measurement. Measurements are + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PREGion?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PREGion?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PREGion value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PREGion {FPULse|SPULse|MPULse} + - MEASUrement:MEAS:PREGion? + ``` + + Info: + - ``FPULse`` is the pulse region as Fpulse. + - ``SPULse`` is the pulse region as Spulse. + - ``MPULse`` is the pulse region as Mpulse. + """ + return self._pregion + + @property + def pwidth(self) -> MeasurementMeasItemPwidth: + """Return the ``MEASUrement:MEAS:PWIDth`` command. + + Description: + - This command sets or returns pulse width. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:PWIDth?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:PWIDth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:PWIDth value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:PWIDth + - MEASUrement:MEAS:PWIDth? + ``` + + Info: + - ```` specifies the pulse width. + """ + return self._pwidth + + @property + def redge(self) -> MeasurementMeasItemRedge: + """Return the ``MEASUrement:MEAS:REDGe`` command. + + Description: + - This command turns on or off the Refine edge on qualifier. Measurements are specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REDGe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REDGe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:REDGe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REDGe {ON|OFF} + - MEASUrement:MEAS:REDGe? + ``` + + Info: + - ``ON`` specifies the Refine edge settings has been turned on. + - ``OFF`` specifies the Refine edge settings has been turned off. + """ + return self._redge + + @property + def reflevels(self) -> MeasurementMeasItemReflevels: + """Return the ``MEASUrement:MEAS:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFLevels?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.absolute``: The ``MEASUrement:MEAS:REFLevels:ABSolute`` command tree. + """ + return self._reflevels + + @property + def reflevels1(self) -> MeasurementMeasItemReflevels1: + """Return the ``MEASUrement:MEAS:REFLevels1`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFLevels1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFLevels1?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.absolute``: The ``MEASUrement:MEAS:REFLevels1:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:MEAS:REFLevels1:BASETop`` command. + - ``.method``: The ``MEASUrement:MEAS:REFLevels1:METHod`` command. + - ``.percent``: The ``MEASUrement:MEAS:REFLevels1:PERCent`` command tree. + """ + return self._reflevels1 + + @property + def refmode(self) -> MeasurementMeasItemRefmode: + """Return the ``MEASUrement:MEAS:REFMode`` command. + + Description: + - This command sets or queries the reference level mode for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:REFMode value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFMode {AUTO|MANual} + - MEASUrement:MEAS:REFMode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` sets the reference level for the measurement automatically. + - ``MANual`` allows the user to set the reference level for the measurement. + """ + return self._refmode + + @property + def refvoltageval(self) -> Dict[int, MeasurementMeasItemRefvoltagevalItem]: + """Return the ``MEASUrement:MEAS:REFVOLTAGEVal`` command. + + Description: + - Sets or queries the reference voltage per rail of Overshoot and Undershoot + measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFVOLTAGEVal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:REFVOLTAGEVal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFVOLTAGEVal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFVOLTAGEVal + - MEASUrement:MEAS:REFVOLTAGEVal? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the rail number. + - ```` is the reference voltage, in the range of -500 V to +500 V. + """ + return self._refvoltageval + + @property + def refvoltage(self) -> MeasurementMeasItemRefvoltage: + """Return the ``MEASUrement:MEAS:REFVoltage`` command. + + Description: + - This command sets or queries the reference voltage value for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:REFVoltage?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:REFVoltage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:REFVoltage value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:REFVoltage + - MEASUrement:MEAS:REFVoltage? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the reference voltage value for the selected configuration. + """ + return self._refvoltage + + @property + def results(self) -> MeasurementMeasItemResults: + """Return the ``MEASUrement:MEAS:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:RESUlts?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.allacqs``: The ``MEASUrement:MEAS:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``MEASUrement:MEAS:RESUlts:CURRentacq`` command tree. + - ``.history``: The ``MEASUrement:MEAS:RESUlts:HISTory`` command tree. + """ + return self._results + + @property + def ripplefreqval(self) -> Dict[int, MeasurementMeasItemRipplefreqvalItem]: + """Return the ``MEASUrement:MEAS:RIPPLEFREQVal`` command. + + Description: + - Sets or queries the ripple frequency per specified rail for Ripple measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:RIPPLEFREQVal?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:RIPPLEFREQVal?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:RIPPLEFREQVal value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:RIPPLEFREQVal + - MEASUrement:MEAS:RIPPLEFREQVal? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the rail number. + - ```` is the frequency, in the range of 1 Hz to 4 GHz. + """ + return self._ripplefreqval + + @property + def sequence(self) -> MeasurementMeasItemSequence: + """Return the ``MEASUrement:MEAS:SEQuence`` command. + + Description: + - This command sets or queries the sequence of hall edges. The measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SEQuence?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SEQuence value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SEQuence {ABC|ACB} + - MEASUrement:MEAS:SEQuence? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ABC`` specifies the motor Hall edges sequence as ABC. + - ``ACB`` specifies the motor Hall edges sequence as ACB. + """ + return self._sequence + + @property + def signalfrequency(self) -> MeasurementMeasItemSignalfrequency: + """Return the ``MEASUrement:MEAS:SIGNALFREQUEncy`` command. + + Description: + - This command sets or queries line frequency for Harmonics and Ripple line frequency. + The measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SIGNALFREQUEncy?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:SIGNALFREQUEncy?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SIGNALFREQUEncy value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SIGNALFREQUEncy {AUTO|FIFTYHZ|SIXTYHZ|FOURHUNDREDHZ|CUSTOM} + - MEASUrement:MEAS:SIGNALFREQUEncy? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``AUTO`` specifies the line frequency as auto. Only available for Harmonics line + frequency. + - ``FIFTYHZ`` specifies the line frequency as 50 Hz. + - ``SIXTYHZ`` specifies the line frequency as 60 Hz. + - ``FOURHUNDREDHZ`` specifies the line frequency as 400 Hz. . + - ``CUSTOM`` specifies the line frequency as custom. + """ + return self._signalfrequency + + @property + def signaltype(self) -> MeasurementMeasItemSignaltype: + """Return the ``MEASUrement:MEAS:SIGNALType`` command. + + Description: + - This command sets or queries the signal type of source 1 for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SIGNALType?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SIGNALType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SIGNALType value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SIGNALType {CLOCK|DATA|AUTO} + - MEASUrement:MEAS:SIGNALType? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``CLOCK`` specifies a clock signal type. + - ``DATA`` specifies a data signal type. + - ``AUTO`` automatically selects the signal type. + """ + return self._signaltype + + @property + def slabs(self) -> MeasurementMeasItemSlabs: + """Return the ``MEASUrement:MEAS:SLABs`` command. + + Description: + - This command sets or returns the value for the start level in absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SLABs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SLABs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SLABs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SLABs + - MEASUrement:MEAS:SLABs? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the start level in absolute. + """ + return self._slabs + + @property + def slpct(self) -> MeasurementMeasItemSlpct: + """Return the ``MEASUrement:MEAS:SLPCt`` command. + + Description: + - This command sets or returns the value for the start level in percentage. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SLPCt?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SLPCt?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SLPCt value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SLPCt + - MEASUrement:MEAS:SLPCt? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the start level in percentage. + """ + return self._slpct + + @property + def sltype(self) -> MeasurementMeasItemSltype: + """Return the ``MEASUrement:MEAS:SLTYpe`` command. + + Description: + - This command sets or returns the start level source type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SLTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SLTYpe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SLTYpe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SLTYpe {VDS|ID|VGE|VCE|IC} + - MEASUrement:MEAS:SLTYpe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``VDS`` specifies the start level source type as VDS. + - ``ID`` specifies the start level source type as ID. + - ``VGE`` specifies the start level source type as VGE. + - ``VCE`` specifies the start level source type as VCE. + - ``IC`` specifies the start level source type as IC. + """ + return self._sltype + + @property + def smoothingfilter(self) -> MeasurementMeasItemSmoothingfilter: + """Return the ``MEASUrement:MEAS:SMOOTHINGFILTER`` command. + + Description: + - This command sets or queries the status of smoothing filter. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:SMOOTHINGFILTER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SMOOTHINGFILTER + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` sets the value to 1 or 0. 1 enables smoothing filter and 0 disables it. + """ + return self._smoothingfilter + + @property + def source(self) -> MeasurementMeasItemSource: + """Return the ``MEASUrement:MEAS:SOURCE`` command. + + Description: + - This command sets or queries local input source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SOURCE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:SOURCE? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def source1(self) -> MeasurementMeasItemSource1: + """Return the ``MEASUrement:MEAS:SOUrce1`` command. + + Description: + - This command sets or queries the measurement source. The measurement number and source + are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SOUrce1?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SOUrce1?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SOUrce1 value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SOUrce1 {S_Ch|CH|MATH|REF} + - MEASUrement:MEAS:SOUrce1? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``1`` specifies the source number. + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source1 + + @property + def ssc(self) -> MeasurementMeasItemSsc: + """Return the ``MEASUrement:MEAS:SSC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SSC?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SSC?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.nominalfreq``: The ``MEASUrement:MEAS:SSC:NOMinalfreq`` command. + """ + return self._ssc + + @property + def status(self) -> MeasurementMeasItemStatus: + """Return the ``MEASUrement:MEAS:STATUS`` command. + + Description: + - This command returns the pass fail status, if applicable, for the selected + measurement. Measurements are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STATUS?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STATUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STATUS? + ``` + + Info: + - ``PASS`` specifies that the user specified measurement limit has not been violated. + - ``FAIL`` specifies that the user specified measurement limit has been violated. + """ + return self._status + + @property + def stlabs(self) -> MeasurementMeasItemStlabs: + """Return the ``MEASUrement:MEAS:STLABs`` command. + + Description: + - This command sets or returns the value for the stop level in absolute. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STLABs?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STLABs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STLABs value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STLABs + - MEASUrement:MEAS:STLABs? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the stop level in absolute. + """ + return self._stlabs + + @property + def stlpct(self) -> MeasurementMeasItemStlpct: + """Return the ``MEASUrement:MEAS:STLPct`` command. + + Description: + - This command sets or returns the value for the stop level in percentage. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STLPct?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STLPct?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STLPct value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STLPct + - MEASUrement:MEAS:STLPct? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ```` specifies the value for the stop level in percentage. + """ + return self._stlpct + + @property + def stype(self) -> MeasurementMeasItemStype: + """Return the ``MEASUrement:MEAS:STYPe`` command. + + Description: + - This command sets or queries the source type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STYPe {VOLTage|CURRent} + - MEASUrement:MEAS:STYPe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``VOLTage`` sets source type as Voltage. + - ``CURRent`` sets source type as Current. + """ + return self._stype + + @property + def sunits(self) -> MeasurementMeasItemSunits: + """Return the ``MEASUrement:MEAS:SUNits`` command. + + Description: + - This command sets or queries the speed units for the specific measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:SUNits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:SUNits?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:SUNits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:SUNits {RPM|HZ} + - MEASUrement:MEAS:SUNits? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``RPM`` defines the speed measurement units as RPM. + - ``HZ`` defines the speed measurement units as HZ. + """ + return self._sunits + + @property + def tckavg(self) -> MeasurementMeasItemTckavg: + """Return the ``MEASUrement:MEAS:TCKAVG`` command. + + Description: + - This command sets or queries the average clock period value used in DDR measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCKAVG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCKAVG?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TCKAVG value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TCKAVG + - MEASUrement:MEAS:TCKAVG? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NR3`` is a floating point number that represents the DDR average clock period in + seconds. + """ + return self._tckavg + + @property + def tconstant(self) -> MeasurementMeasItemTconstant: + """Return the ``MEASUrement:MEAS:TCONstant`` command. + + Description: + - This command sets or queries the measurement Torque Constant. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TCONstant?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TCONstant?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TCONstant value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TCONstant + - MEASUrement:MEAS:TCONstant? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``NR1`` specifies the current multiplier value of the measurement in the range of 0 to + 100. + """ + return self._tconstant + + @property + def timingmode(self) -> MeasurementMeasItemTimingmode: + """Return the ``MEASUrement:MEAS:TIMINGMode`` command. + + Description: + - This command sets or queries the Timing mode for the specified DDR measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TIMINGMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TIMINGMode value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TIMINGMode {EACHCLOCKCYCLE|TWOCLOCKCYCLES} + - MEASUrement:MEAS:TIMINGMode? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``EACHCLOCKCYCLE`` sets the DDR Timing Mode to use each clock cycle at a time. + - ``TWOCLOCKCYCLES`` sets the DDR Timing Mode to use two cycles at a time. + """ + return self._timingmode + + @property + def tmethod(self) -> MeasurementMeasItemTmethod: + """Return the ``MEASUrement:MEAS:TMEThod`` command. + + Description: + - This command sets or queries the measurement torque method. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TMEThod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TMEThod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TMEThod value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TMEThod {SENSOR|CURRENT} + - MEASUrement:MEAS:TMEThod? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``SENSOR`` specifies the Torque Method as SENSOR. + - ``CURRENT`` specifies the Torque Method as CURRENT. + """ + return self._tmethod + + @property + def toedgesearchdirect(self) -> MeasurementMeasItemToedgesearchdirect: + """Return the ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. + + Description: + - This command sets or queries the to edge search direction for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TOEDGESEARCHDIRect value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOEDGESEARCHDIRect {FORWard|BACKWard} + - MEASUrement:MEAS:TOEDGESEARCHDIRect? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FORWard`` specifies a forward search to the edge. + - ``BACKWard`` specifies a backward search to the edge. + """ + return self._toedgesearchdirect + + @property + def toedge(self) -> MeasurementMeasItemToedge: + """Return the ``MEASUrement:MEAS:TOEdge`` command. + + Description: + - This command sets or queries the 'to edge' type for the measurement. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOEdge?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOEdge?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TOEdge value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TOEdge {SAMEas|OPPositeas|RISe|FALL|BOTH} + - MEASUrement:MEAS:TOEdge? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + - ``SAMEas`` specifies that both edges of the waveform are the same. + - ``OPPositeas`` specifies that the edges of the waveform are not the same. + """ + return self._toedge + + @property + def tosymbol(self) -> MeasurementMeasItemTosymbol: + """Return the ``MEASUrement:MEAS:TOSYmbol`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TOSYmbol?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.logic2source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC2SOUrce`` command. + - ``.logic3source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC3SOUrce`` command. + - ``.logic4source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC4SOUrce`` command. + - ``.logic5source``: The ``MEASUrement:MEAS:TOSYmbol:LOGIC5SOUrce`` command. + - ``.measureat``: The ``MEASUrement:MEAS:TOSYmbol:MEASUREAT`` command. + """ + return self._tosymbol + + @property + def transition(self) -> MeasurementMeasItemTransition: + """Return the ``MEASUrement:MEAS:TRANSition`` command. + + Description: + - This command sets or queries the transition edges flag for the measurement. The + measurement number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:TRANSition value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TRANSition {ON|OFF|} + ``` + + Info: + - ```` = 1, the measurement is computed on rising (if measurement type is rise + time) or falling edges (if measurement type is fall time) following a double + transition only. If it is set to 0, the measurement is computed on all rising (if + measurement type is rise time) or falling (if measurement type is fall time) edges. + - ``OFF`` computes the measurement on all rising (if measurement type is rise time) or + falling (if measurement type is fall time) edges. + - ``ON`` computes the measurement on rising (if measurement type is rise time) or + falling edges (if measurement type is fall time) following a double transition only. + """ + return self._transition + + @property + def type(self) -> MeasurementMeasItemType: + r"""Return the ``MEASUrement:MEAS:TYPe`` command. + + Description: + - This command sets or queries the measurement type for the measurement specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:TYPe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:TYPe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:TYPe {ACCOMMONMODE|ACRMS|AMPlITUDE|AREA|BASE|BITAMPLITUDE|BITHIGH|BITLOW|BURSTWIDTH|COMMONMODE|DATARATE|DCD|DDJ|DDRAOS|DDRAOSPERTCK|DDRAOSPERUI|DDRAUS|DDRAUSPERTCK|DDRAUSPERUI|DDRHOLDDIFF|DDRSETUPDIFF|DDRTCHABS|DDRTCHAVERAGE|DDRTCKAVERAGE|DDRTCLABS|DDRTCLAVERAGE|DDRTERRMN|DDRTERRN|DDRTJITCC|DDRTJITDUTY|DDRTJITPER|DDRTPST|DDRTRPRE|DDRTWPRE|DDRVIXAC|DDRTDQSCK|DELAY|DJ|DJDIRAC|DPMOVERSHOOT|DPMUNDERSHOOT|DPMRIPPLE|DPMTURNOFFTIME|DPMTURNONTIME|EYEHIGH|EYELOW|FALLSLEWRATE|FALLTIME|FREQUENCY|F2|F4|F8|HIGH|HEIGHT|HEIGHTBER|HIGHTIME|HOLD|IMDAPOWERQUALITY|IMDAHARMONICS|IMDAINPUTVOLTAGE|IMDAINPUTCURRENT|IMDAINPUTPOWER|IMDAPHASORDIAGRAM|IMDAEFFICIENCY|IMDALINERIPPLE|IMDASWITCHRIPPLE|IMDADQ0|JITTERSUMMARY|J2|J9|LOW|LOWTIME|MAXIMUM|MEAN|MINIMUM|NDUtY|NPERIOD|NPJ|NOVERSHOOT|NWIDTH|PDUTTY|PERIOD|PHASE|PHASENOISE|PJ|PK2Pk|POVERSHOOT|PWIDTH|QFACTOR|RISESLEWRATE|RISETIME|RJ|RJDIRAC|RMS|SRJ|SSCFREQDEV|SSCMODRATE|SETUP|SKEW|TIE|TIMEOUTSIDELEVEL|TJBER|TNTRATIO|TOP|UNITINTERVAL|VDIFFXOVR|WIDTH|WIDTHBER} + - MEASUrement:MEAS:TYPe? + ``` + + Info: + - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage + of two sources. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``ACRMS`` (AC RMS) is the true Root Mean Square of the data points, about the Mean. + This measurement can be made across the entire record, or on each cycle in the record. + - ``AMPLITUDE`` is the difference between the Top value and the Base value. This + measurement can be made across the entire record, or on each cycle in the record. + - ``Amplitude = High - Low`` + - ``AREA`` is the area under the curve, calculated by integrating the data points. The + area measured above ground is positive. The area measured below ground is negative. + This measurement can be made across the entire record, or on each cycle in the record. + - ``BASE`` is the most common data value below the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BITAMPLITUDE`` (Bit Amplitude) is the difference between the amplitudes of the 1 bit + and the 0 bit surrounding a transition. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is + made on each transition bit in the record (Mean) or across the entire record (Mode). + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``BITHIGH`` (Bit High) is the amplitude of a 1 bit. The amplitude is measured over a + user specified portion at the center of the recovered unit interval. This measurement + is made on each high bit in the record (Mean) or across the entire record (Mode). This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITLOW`` (Bit Low) is the amplitude of a 0 bit. The amplitude is measured over a + user specified portion at the center of the recovered unit interval. This measurement + is made on each high bit in the record (Mean) or across the entire record (Mode). This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BURSTWIDTH`` (Burst Width) is the duration of a series of adjacent crossings of the + Mid reference level (RM). Bursts are separated by a user-defined idle time (tI). This + measurement is made on each burst in the record. + - ``COMMONMODE`` (DC Common Mode) is the arithmetic mean of the common mode voltage of + two sources. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``DATARATE`` (Data Rate) is the reciprocal of Unit Interval. This measurement is made + on each bit in the record. + - ``DCD`` (duty cycle distortion) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the signal polarity. This measurement is made + across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``DDJ`` (data dependent jitter) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the data pattern in the waveform. This + measurement is made across the entire record. This measurement requires the DJA option + and is not available on a 4 Series MSO instrument. + - ``DDRAOS`` (area above signal) is the total area of the signal above a specified + reference level. This measurement is made across the entire record. + - ``DDRAOSPERTCK`` (area over signal for tCK events) is the total area of the signal + above a specified reference level calculated over consecutive tCK intervals. It is + applicable to clock and address/command waveforms. + - ``DDRAOSPERUI`` (area over signal for UI events) is the total area of the signal above + a specified reference level calculated over consecutive unit intervals. It is + applicable to data and data strobe waveforms. + - ``DDRAUS`` (area under signal) is the total area of the signal below a specified + reference level. This measurement is made across the entire record. + - ``DDRAUSPERTCK`` (area under signal for tCK events) is the total area of the signal + below a specified reference level calculated over consecutive tCK intervals. It is + applicable to clock and address/command waveforms. + - ``DDRAUSPERUI`` (area under signal for UI events) is the total area of the signal + below a specified reference level calculated over consecutive unit intervals. It is + applicable to data and data strobe waveforms. + - ``DDRHOLDDIFF`` (hold difference) is the elapsed time between the specified edge of a + single-ended clock waveform and the specified edge of a differential data waveform. + The measurement uses the closest respective waveform edges that fall within the range + limits.This measurement is made across the entire record. + - ``DDRSETUPDIFF`` (setup difference) is the elapsed time between the specified edge of + a single-ended clock waveform and when the specified edge of a differential data + waveform crosses a specified level. The measurement uses the closest respective + waveform edges that fall within the range limits. This measurement is made across the + entire record. + - ``DDRTCHABS`` (absolute high pulse width) is the absolute value of the high pulse + width as measured from one rising edge to the next falling edge. + - ``DDRTCHAVERAGE`` (average high pulse width) is the average value of the high pulse + width as measured from one rising edge to the next falling edge, across 200 + consecutive cycles.This measurement is made across the entire record. + - ``DDRTCKAVERAGE`` (average clock period) is the average clock period calculated from + rising edge to rising edge, across 200 consecutive cycles.This measurement is made + across the entire record. + - ``DDRTCLABS`` (absolute low pulse width) is the absolute value of the low pulse width + as measured from a falling edge to the next rising edge. This measurement is made + across the entire record. + - ``DDRTCLAVERAGE`` (average low pulse width) is the average value of the low pulse + width as measured from one falling edge to the next rising edge, across 200 + consecutive cycles. + - ``DDRTERRMN`` (cumulative error) is the cumulative error across multiple consecutive + defined cycles from tCK(avg). + - ``DDRTERRN`` (cumulative error) is the cumulative error across specified consecutive + cycles from tCK(avg). In other words, this measures the time difference between the + sum of the clock period from a 200 cycle window and n times tCK(avg). + - ``DDRTJITCC`` (cycle to cycle jitter period) is the absolute difference in clock + period between two consecutive clock cycles. This measurement is made across the + entire record. + - ``DDRTJITDUTY`` (half period jitter) is the largest elapsed time between tCH and + tCH(avg), and tCL and tCL(avg), over 200 consecutive cycles. + - ``DDRTJITPER`` (clock period jitter) is the largest deviation of any tCK signal from + tCK(avg). This measurement is made across the entire record. + - ``DDRTPST`` (read/write burst postamble) is the width of the Read or Write burst + postamble, measured from the last falling edge of the mid reference level to the start + of an undriven state. This measurement is made across the entire record. + - ``DDRTRPRE`` (read burst preamble) is the width of the Read burst preamble, measured + from exiting tristate levels to the first driving edge of the differential strobe. + This measurement is made across the entire record. + - ``DDRTWPRE`` is the width of the Write burst preamble, measured from exiting tristate + levels to the first driving edge of the differential strobe. This measurement is made + across the entire record. + - ``DDRVIXAC`` is the differential input cross-point voltage measured from the true + state transition (and it's compliment) to a specified reference level, measured on a + single-ended signal. + - ``DDRTDQSCK`` is the strobe output access time, measured between the rising edge of + the clock and before or after the differential strobe Read preamble time. Signal edges + are determined by the mid-ref threshold level settings. + - ``DELay`` is the time between the specified Mid reference level (RM) crossing on one + source to a specified Mid reference level (RM) crossing on a second source. This + measurement is made on the first occurrence in the record. + - ``DJ`` (deterministic jitter) is the peak-to-peak amplitude of all timing errors that + exhibit deterministic behavior. This measurement is made across the entire record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``DJDIRAC`` (dual-dirac deterministic jitter) is deterministic jitter based on a + simplifying assumption that the histogram of all deterministic jitter can be modeled + as a pair of equal-magnitude Dirac functions. This measurement is made across the + entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``DPMOVERSHOOT`` is the difference between Maximum and Top, divided by the amplitude. + This measurement can be made across the entire record or on each cycle in the record + at the specified reference voltage. + - ``DPMUNDERSHOOT`` is the difference between Minimum and Base, divided by the + amplitude. This measurement can be made across the entire record or on each cycle in + the record at the specified reference voltage. + - ``DPMRIPPLE`` is the RMS and peak-to-peak values of the output signal on the DC Rail. + - ``DPMTURNOFFTIME`` is the time delay between load current going low to other rail + outputs going low during power down. + - ``DPMTURNONTIME`` is the time delay between load current going high to other rail + outputs going high during power on. + - ``EYEHIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit + in the record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``EYELOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each low bit + in the record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``FALLSLEWRATE`` (Falling Slew Rate) is the rate of change in voltage as an edge + transitions from the Top reference level (RT) to the Bottom reference level (RB). This + measurement is made on each cycle in the record. + - ``FALLTIME`` (Fall Time) is the time required for an edge to fall from the Top + reference level (RT) to the Base reference level (RB). This measurement is made on + each cycle in the record. + - ``FREQuency`` is the reciprocal of Period. This measurement is made on each cycle in + the record. + - ``F2`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 2. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F4`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 4. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F8`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 8. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit + in the record. + - ``HEIGHT`` (Eye Height) is the minimum vertical eye opening at the center of the + recovered unit interval. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HEIGHTBER`` (Eye Height@BER) is the predicted vertical eye opening that will be + violated with a probability equal to the bit error rate. This measurement is made + across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``HIGHTIME`` (High Time) is the time the signal remains above the Top reference level + (RT). This measurement is made on each cycle in the record. + - ``HOLD`` (Hold Time) is the time between the specified Mid reference level crossing + (RM) on the Clock source to the closest specified Mid reference level (RM) crossing on + the Data source. This measurement is made on each specified Clock edge in the record. + - ``IMDAPOWERQUALITY`` (Power Quality) measures the Frequency and RMS values of the + voltage and current, Crest Factors of the voltage and current, True Power (PTRUE), + Reactive Power (PRE), Apparent Power (PAPP), Power Factor, and Phase Angle (θ) of the + AC signal. + - ``IMDAHARMONICS`` (Harmonics) plots the signal amplitude at the fundamental line + frequency and its harmonics and measures the RMS amplitude and Total Harmonic + Distortion of the signal. + - ``IMDAINPUTVOLTAGE`` (Input Voltage) measures the RMS value of the Input Voltages. The + number of voltages can vary with wiring configuration. + - ``IMDAINPUTCURRENT`` (Input Current) measures the RMS value of the Input Currents. The + number of currents can vary with wiring configuration. + - ``IMDAINPUTPOWER`` (Input Power) measures the RMS value of the Input Power. The power + waveforms are shown as derived MATH waveforms, which are respective pairs of Input + Voltage \\* Current waveforms. + - ``IMDAPHASORDIAGRAM`` (Phasor Diagram) represents magnitudes and phase angles between + voltage(s) and current(s) per winding pair. + - ``IMDAEFFICIENCY`` (Efficiency) measures the ratio of sum of output power(s) to input + power for respective input and output Voltage and Current pairs. Note: the current + release cannot support 3V and 3I pairs, since this requires 12 channels. We restrict + to 2V and 2I which needs 8 scope channels. + - ``IMDALINERIPPLE`` (Line Ripple) provides the RMS and peak-to-peak measurements of the + line frequency portion of the respective AC Voltage or Current signals. + - ``IMDASWITCHINGRIPPLE`` (Switching Ripple) provides the RMS and peak-to-peak + measurements of the respective Voltage or Current signals. + - ``IMDADQ0`` measures the DQ0 values of the phasor plot. This measurement requires + options IMDA and IMDA-DQ0. + - ``JITTERSUMMARY`` (Jitter Summary) is a group consisting of the following + measurements: TIE, TJ@BER, Eye Width@BER, Eye Height@BER, RJ-δδ, DJ-δδ, PJ, DDJ, DcD, + F/2, F/4, F/8. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``J2`` is the total jitter at a bit error rate of 2.5e-3 (TJ@2.5e-3). This measurement + is made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``J9`` is the total jitter at a bit error rate of 2.5e-10 (TJ@2.5e-10). This + measurement is made across the entire record. This measurement requires the DJA option + and is not available on a 4 Series MSO instrument. + - ``LOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each low bit + in the record. + - ``LOWTIME`` (Low Time) is the time the signal remains below the Base reference level + (RB). This measurement is made on each cycle in the record. + - ``MAXimum`` is the maximum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``MEAN`` is the arithmetic mean of the data points. This measurement can be made + across the entire record, or on each cycle in the record. + - ``MINImum`` is the minimum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``NDUty`` (Negative Duty Cycle) is the ratio of the Negative Pulse Width to the + Period. This measurement is made on each cycle in the record. + - ``Negative Duty Cycle = (Negative Width) / Period × 100%`` + - ``NPERIOD`` (Duration N-Periods) is the time required to complete N cycles. A cycle is + the time between two adjacent (same direction) crossings of the Mid reference level + (RM). This measurement is made on each cycle in the record. + - ``NPJ`` (non-periodic jitter) is the portion of the BUJ (bounded uncorrelated jitter) + that is random. BUJ excludes DDJ, DCD and RJ. This measurement is made across the + entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``NOVershoot`` (Negative Overshoot) is the difference between Minimum and Base, + divided by the Amplitude. This measurement can be made across the entire record, or on + each cycle in the record. + - ``Negative Overshoot = (Base - Minimum) / Amplitude × 100%)`` + - ``NWIdth`` (Negative Pulse Width) is the time the signal remains below the Mid + reference level (RM). This measurement is made on each cycle in the record. + - ``PDUTY`` (Positive Duty Cycle) is the ratio of the Positive Pulse Width to the + Period. This measurement is made on each cycle in the record. + - ``Positive Duty Cycle = (Positive Width)/Period × 100%`` + - ``PERIOD`` is the time required to complete a cycle. A cycle is the time between two + adjacent (same direction) crossings of the Mid reference level (RM). This measurement + is made on each cycle in the record. + - ``PHASE`` is the ratio of the Skew between two sources to the Period of the first + source. This measurement is made on each cycle in the record. + - ``PHASENOISE`` (Phase Noise) is the RMS magnitude of all integrated jitter falling + within a user specified offset range of the fundamental clock frequency. This + measurement is made across the entire record. This measurement is not available on a 4 + Series MSO instrument. + - ``PJ`` (periodic jitter) is the peak-to-peak amplitude of the uncorrelated sinusoidal + components of the deterministic jitter. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``PK2Pk`` (Peak-to-peak) is the difference between Maximum and Minimum. This + measurement can be made across the entire record, or on each cycle in the record. + - ``POVERSHOOT`` (Positive Overshoot) is the difference between Maximum and Top, divided + by the Amplitude. This measurement can be made across the entire record, or on each + cycle in the record. + - ``Positive Overshoot = (Maximum - Top) / Amplitude ×100%`` + - ``PWIDTH`` (Positive Pulse Width) is the time the signal remains above the Mid + reference level (RM). This measurement is made on each cycle in the record. + - ``QFACTOR`` (Q-Factor) is the ratio of the vertical eye opening to RMS vertical noise + measured at a user specified location within the recovered unit interval. This + measurement is made across the entire record. This measurement requires the DJA option + and is not available on a 4 Series MSO instrument. + - ``RISESLEWRATE`` (Rising Slew Rate) is the rate of change in voltage as an edge + transitions from the Base reference level (RB) to the Top reference level (RT). This + measurement is made on each cycle in the record. + - ``RISETIME`` Rise Time is the time required for an edge to rise from the Base + reference level (RB) to the Top reference level (RT). This measurement is made on each + cycle in the record. + - ``RJ`` (random jitter) is the RMS magnitude of all random timing errors following a + Gaussian distribution. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``RJDIRAC`` (dual-dirac random jitter) is random jitter based on a simplifying + assumption that the histogram of all deterministic jitter can be modeled as a pair of + equal-magnitude Dirac functions. This measurement is made across the entire record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``RMS`` is the true Root Mean Square of the data points. This measurement can be made + across the entire record, or on each cycle in the record. + - ``SRJ`` (sub-rate jitter) is the composite jitter due to periodic components at 1/2, + 1/4 and 1/8 of the data rate. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCFREQDEV`` (SSC Frequency Deviation) is the spread spectrum clock frequency + deviation. This measurement enables a time trend plot of the spread spectrum clock + modulation profile. This measurement is made on each cycle in the record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCMODRATE`` (SSC Modulation Rate) is the modulating frequency of a spread spectrum + clock. This measurement is made on each cycle in the record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``SETUP`` (Setup Time) is the time between the specified Mid reference level (RM) + crossing on the Data source to the closest specified Mid reference level (RM) crossing + on the Clock source. This measurement is made on each specified Clock edge in the + record. + - ``SKEW`` Skew is the time between the specified Mid reference level (RM) crossing on + one source to the following specified Mid reference level (RM) crossing on a second + source. This measurement is made on each cycle in the record. + - ``TIE`` (time interval error) is the difference, in time, between an edge in the + source waveform and the corresponding edge in a recovered reference clock. This + measurement is made on each edge in the waveform. This measurement is not available on + a 4 Series MSO instrument. + - ``TIMEOUTSIDELEVEL`` Time Outside Level is the time the signal remains above the Top + reference level (RT) and/or below the Base reference level (RB). This measurement is + made on each occurrence in the record. + - ``TJBER`` (total jitter at a specified bit error rate) is the predicted peak-to-peak + amplitude of jitter that will only be exceeded with a probability equal to the bit + error rate. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``TNTRATIO`` T/nT Ratio is the ratio of a non-transition bit voltage (2nd and + subsequent bit voltage after a transition) to its nearest preceding transition bit + voltage (1st bit voltage after the transition). Bit voltages are measured at the + interpolated midpoint of the recovered unit interval. This measurement is made on each + non-transition bit in the record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``TOP`` is the most common data value above the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``UNITINTERVAL`` (Unit Interval) is the time difference between two successive bits. + This measurement is made on each bit in the record. + - ``VDIFFXOVR`` (Differential Crossover) is the voltage level of a differential signal + pair at the crossover points. This measurement is made at each crossover point in the + record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``WIDTH`` (Eye Width) is the minimum horizontal eye opening at the user specified + reference level. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``WIDTHBER`` (Eye Width@BER) is the predicted horizontal eye opening that will be + violated with a probability equal to the bit error rate. This measurement is made + across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + """ # noqa: E501 + return self._type + + @property + def waittime(self) -> MeasurementMeasItemWaittime: + """Return the ``MEASUrement:MEAS:WAITTime`` command. + + Description: + - Sets or queries the wait time. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WAITTime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:WAITTime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WAITTime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:WAITTime + - MEASUrement:MEAS:WAITTime? + ``` + + Info: + - ``MEAS`` is the measurement number. + - ```` is the wait time, in the range of 1 s to 500 s. + """ + return self._waittime + + @property + def windowlength(self) -> MeasurementMeasItemWindowlength: + """Return the ``MEASUrement:MEAS:WINDOWLENgth`` command. + + Description: + - This command sets or queries the window length for the measurement. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:WINDOWLENgth?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MEAS:WINDOWLENgth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MEAS:WINDOWLENgth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:WINDOWLENgth + - MEASUrement:MEAS:WINDOWLENgth? + ``` + + Info: + - ```` is the value for the window length. + """ + return self._windowlength + + @property + def xunit(self) -> MeasurementMeasItemXunit: + """Return the ``MEASUrement:MEAS:XUNIT`` command. + + Description: + - Returns the horizontal scale units of the specified measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:XUNIT?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:XUNIT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:XUNIT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + return self._xunit + + @property + def yunit(self) -> MeasurementMeasItemYunit: + """Return the ``MEASUrement:MEAS:YUNIT`` command. + + Description: + - Returns the vertical scale units of the specified measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:YUNIT?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:YUNIT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:YUNIT? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + """ + return self._yunit + + @property + def stltype(self) -> MeasurementMeasItemStltype: + """Return the ``MEASUrement:MEAS:STLTYpe`` command. + + Description: + - This command sets or returns the stop level source type. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS:STLTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS:STLTYpe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MEAS:STLTYpe value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:MEAS:STLTYpe {VDS|ID|VGE|VCE|IC} + - MEASUrement:MEAS:STLTYpe? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``VDS`` specifies the stop level source type as VDS. + - ``ID`` specifies the stop level source type as ID. + - ``VGE`` specifies the stop level source type as VGE. + - ``VCE`` specifies the stop level source type as VCE. + - ``IC`` specifies the stop level source type as IC. + """ + return self._stltype + + +class MeasurementMathItemReflevelsPercentType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:TYPE`` command. + + Description: + - This command specifies or queries the reference level percent type for the measurement. + The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:MATH:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + + +class MeasurementMathItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the rising edge when the measurement + ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:RISEMid + - MEASUrement:MATH:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + + +class MeasurementMathItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the rising edge when the measurement + ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:RISELow + - MEASUrement:MATH:REFLevels:PERCent:RISELow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + + +class MeasurementMathItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the rising edge when the measurement + ref level method is set to percent. The math number is specified by x. The measurement + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:RISEHigh + - MEASUrement:MATH:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementMathItemReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + MIN) used to calculate the hysteresis of the reference level when the measurement ref + level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:HYSTeresis + - MEASUrement:MATH:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the hysteresis value used for the autoset. + """ + + +class MeasurementMathItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the falling edge when the measurement + ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:FALLMid + - MEASUrement:MATH:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + + +class MeasurementMathItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the falling edge when the measurement + ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:FALLLow + - MEASUrement:MATH:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementMathItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the falling edge when the measurement + ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:FALLHigh + - MEASUrement:MATH:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the high + reference level when the measurement Ref level method is set to Percent. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMathItemReflevelsPercent(SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Properties: + - ``.fallhigh``: The ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:MATH:REFLevels:PERCent:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementMathItemReflevelsPercentFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementMathItemReflevelsPercentFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementMathItemReflevelsPercentFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementMathItemReflevelsPercentHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementMathItemReflevelsPercentRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementMathItemReflevelsPercentRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementMathItemReflevelsPercentRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementMathItemReflevelsPercentType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementMathItemReflevelsPercentFallhigh: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the + measurement ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:FALLHigh + - MEASUrement:MATH:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the high + reference level when the measurement Ref level method is set to Percent. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementMathItemReflevelsPercentFalllow: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the + measurement ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:FALLLow + - MEASUrement:MATH:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to HIGH) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementMathItemReflevelsPercentFallmid: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the + measurement ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:FALLMid + - MEASUrement:MATH:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementMathItemReflevelsPercentHysteresis: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 100% is equal to MAX and 0% is + equal to MIN) used to calculate the hysteresis of the reference level when the + measurement ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:HYSTeresis + - MEASUrement:MATH:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the hysteresis value used for the autoset. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementMathItemReflevelsPercentRisehigh: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the + measurement ref level method is set to percent. The math number is specified by x. The + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:RISEHigh + - MEASUrement:MATH:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementMathItemReflevelsPercentRiselow: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the + measurement ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISELow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:RISELow + - MEASUrement:MATH:REFLevels:PERCent:RISELow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementMathItemReflevelsPercentRisemid: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the + measurement ref level method is set to percent. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:RISEMid + - MEASUrement:MATH:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement Ref level method is set to Percent. + """ + return self._risemid + + @property + def type(self) -> MeasurementMathItemReflevelsPercentType: + """Return the ``MEASUrement:MATH:REFLevels:PERCent:TYPE`` command. + + Description: + - This command specifies or queries the reference level percent type for the + measurement. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:MATH:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``TENNinety`` sets the values for Low, Mid and High Ref to 10%, 50% and 90% + respectively. + - ``TWENtyeighty`` sets the values for Low, Mid and High Ref are set to 20%, 50% and 80% + respectively. + - ``CUSTom`` allows setting other reference level percents. + """ + return self._type + + +class MeasurementMathItemReflevelsMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:MATH:REFLevels:METHod? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``PERCent`` specifies that the reference levels are calculated as a percent relative to + HIGH and LOW. The percentages are defined using the + ``MEASUrement:MATH:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:MATH:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + + +class MeasurementMathItemReflevelsBasetop(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE used to + calculate reference levels for the measurement. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:BASETop?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:BASETop?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:MATH:REFLevels:BASETop? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean BASE + and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode BASE + and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram BASE + and TOP. + """ # noqa: E501 + + +class MeasurementMathItemReflevelsAbsoluteType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. The math number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:MATH:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + + +class MeasurementMathItemReflevelsAbsoluteRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising edge + when the measurement ref level method is set to absolute. The math number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:RISEMid + - MEASUrement:MATH:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the mid reference level (where 50% is equal to MID) used to calculate the mid + reference level when the measurement Ref level method is set to Absolute. + """ + + +class MeasurementMathItemReflevelsAbsoluteRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising edge + when the measurement ref level method is set to absolute. The math number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:RISELow + - MEASUrement:MATH:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + + +class MeasurementMathItemReflevelsAbsoluteRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising edge + when the measurement ref level method is set to absolute. The math number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:RISEHigh + - MEASUrement:MATH:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + + +class MeasurementMathItemReflevelsAbsoluteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when the + measurement ref level method is set to absolute. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis + - MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the hysteresis value used for the autoset. + """ + + +class MeasurementMathItemReflevelsAbsoluteFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling edge + when the measurement ref level method is set to absolute. The math number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:FALLMid + - MEASUrement:MATH:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the mid reference level (where 50% is equal to MID) used to calculate the mid + reference level when the measurement's Ref level method is set to Absolute. + """ + + +class MeasurementMathItemReflevelsAbsoluteFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling edge + when the measuement ref level method is set to absolute. The math number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:FALLLow + - MEASUrement:MATH:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + + +class MeasurementMathItemReflevelsAbsoluteFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:FALLHigh + - MEASUrement:MATH:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementMathItemReflevelsAbsolute(SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Properties: + - ``.fallhigh``: The ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MATH:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:MATH:REFLevels:ABSolute:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementMathItemReflevelsAbsoluteFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementMathItemReflevelsAbsoluteFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementMathItemReflevelsAbsoluteFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementMathItemReflevelsAbsoluteHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementMathItemReflevelsAbsoluteRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementMathItemReflevelsAbsoluteRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementMathItemReflevelsAbsoluteRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementMathItemReflevelsAbsoluteType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementMathItemReflevelsAbsoluteFallhigh: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the measurement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:FALLHigh + - MEASUrement:MATH:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementMathItemReflevelsAbsoluteFalllow: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling + edge when the measuement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:FALLLow + - MEASUrement:MATH:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementMathItemReflevelsAbsoluteFallmid: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling + edge when the measurement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:FALLMid + - MEASUrement:MATH:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the mid reference level (where 50% is equal to MID) used to calculate the + mid reference level when the measurement's Ref level method is set to Absolute. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementMathItemReflevelsAbsoluteHysteresis: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when + the measurement ref level method is set to absolute. The math number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis + - MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the hysteresis value used for the autoset. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementMathItemReflevelsAbsoluteRisehigh: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising + edge when the measurement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:RISEHigh + - MEASUrement:MATH:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementMathItemReflevelsAbsoluteRiselow: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising + edge when the measurement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:RISELow + - MEASUrement:MATH:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementMathItemReflevelsAbsoluteRisemid: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising + edge when the measurement ref level method is set to absolute. The math number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:RISEMid + - MEASUrement:MATH:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ``MATH`` specifies the math number. + - ```` is the mid reference level (where 50% is equal to MID) used to calculate the + mid reference level when the measurement Ref level method is set to Absolute. + """ + return self._risemid + + @property + def type(self) -> MeasurementMathItemReflevelsAbsoluteType: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the measurement. The math + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:MATH:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``SAME`` specifies that the absolute levels are set the same. + - ``UNIQue`` specifies that the absolute levels can be set independently. + """ + return self._type + + +class MeasurementMathItemReflevels(SCPICmdRead): + """The ``MEASUrement:MATH:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MATH:REFLevels?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Properties: + - ``.absolute``: The ``MEASUrement:MATH:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:MATH:REFLevels:BASETop`` command. + - ``.method``: The ``MEASUrement:MATH:REFLevels:METHod`` command. + - ``.percent``: The ``MEASUrement:MATH:REFLevels:PERCent`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = MeasurementMathItemReflevelsAbsolute( + device, f"{self._cmd_syntax}:ABSolute" + ) + self._basetop = MeasurementMathItemReflevelsBasetop(device, f"{self._cmd_syntax}:BASETop") + self._method = MeasurementMathItemReflevelsMethod(device, f"{self._cmd_syntax}:METHod") + self._percent = MeasurementMathItemReflevelsPercent(device, f"{self._cmd_syntax}:PERCent") + + @property + def absolute(self) -> MeasurementMathItemReflevelsAbsolute: + """Return the ``MEASUrement:MATH:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:MATH:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:MATH:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MATH:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MATH:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MATH:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MATH:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MATH:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:MATH:REFLevels:ABSolute:TYPE`` command. + """ + return self._absolute + + @property + def basetop(self) -> MeasurementMathItemReflevelsBasetop: + """Return the ``MEASUrement:MATH:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE used to + calculate reference levels for the measurement. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:BASETop?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:BASETop?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:MATH:REFLevels:BASETop? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and + MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean + BASE and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode + BASE and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram + BASE and TOP. + """ # noqa: E501 + return self._basetop + + @property + def method(self) -> MeasurementMathItemReflevelsMethod: + """Return the ``MEASUrement:MATH:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. The math number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:MATH:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MATH:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:MATH:REFLevels:METHod? + ``` + + Info: + - ``MATH`` specifies the math number. + - ``PERCent`` specifies that the reference levels are calculated as a percent relative + to HIGH and LOW. The percentages are defined using the + ``MEASUrement:MATH:REFLevel:PERCent`` commands. + - ``ABSolute`` specifies that the reference levels are set explicitly using the + ``MEASUrement:MATH:REFLevel:ABSolute`` commands. This method is useful when precise + values are required. + """ + return self._method + + @property + def percent(self) -> MeasurementMathItemReflevelsPercent: + """Return the ``MEASUrement:MATH:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:MATH:REFLevels:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:MATH:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:MATH:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:MATH:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:MATH:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:MATH:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:MATH:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:MATH:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:MATH:REFLevels:PERCent:TYPE`` command. + """ + return self._percent + + +class MeasurementMathItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``MEASUrement:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MATH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Properties: + - ``.reflevels``: The ``MEASUrement:MATH:REFLevels`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reflevels = MeasurementMathItemReflevels(device, f"{self._cmd_syntax}:REFLevels") + + @property + def reflevels(self) -> MeasurementMathItemReflevels: + """Return the ``MEASUrement:MATH:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MATH:REFLevels?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Sub-properties: + - ``.absolute``: The ``MEASUrement:MATH:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:MATH:REFLevels:BASETop`` command. + - ``.method``: The ``MEASUrement:MATH:REFLevels:METHod`` command. + - ``.percent``: The ``MEASUrement:MATH:REFLevels:PERCent`` command tree. + """ + return self._reflevels + + +class MeasurementLockrjvalue(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:LOCKRJValue`` command. + + Description: + - This command sets or queries the RJ lock value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:LOCKRJValue?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:LOCKRJValue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:LOCKRJValue value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:LOCKRJValue + - MEASUrement:LOCKRJValue? + ``` + + Info: + - ```` default value = 1e-12; minimum value = 1e-15; maximum value = 1. + """ + + +class MeasurementLockrj(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:LOCKRJ`` command. + + Description: + - This command sets or queries the state of RJ locking. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:LOCKRJ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:LOCKRJ?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:LOCKRJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:LOCKRJ {ON|OFF|} + - MEASUrement:LOCKRJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ON`` indicates that RJ locking is active. + - ``OFF`` indicates that RJ locking is off. + - ```` a 0 turns off RJ locking; any other value activates RJ locking. + """ + + +class MeasurementList(SCPICmdRead): + """The ``MEASUrement:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:LIST? + ``` + """ + + +class MeasurementJittermodel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:JITTermodel`` command. + + Description: + - This command sets or queries the model used to separate random from deterministic jitter + for jitter measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:JITTermodel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:JITTermodel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:JITTermodel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:JITTermodel {SPECTRAL|SPECTRALBUJ} + - MEASUrement:JITTermodel? + ``` + + Info: + - ``SPECTRAL`` sets the jitter separation model to spectral only. + - ``SPECTRALBUJ`` sets the jitter separation model to spectral plus BUJ. + """ + + +class MeasurementInterp(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:INTERp`` command. + + Description: + - This command sets or queries the interpolation mode used to locate edge crossings. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:INTERp?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:INTERp?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:INTERp value`` command. + + SCPI Syntax: + ``` + - MEASUrement:INTERp {AUTO|SINX|LINear} + - MEASUrement:INTERp? + ``` + + Info: + - ``AUTO`` automatically selects the interpolation mode. + - ``SINX`` specifies sin(x)/x interpolation, where acquired points are fit to a curve. + - ``LINear`` specifies linear interpolation, where acquired points are connected with + straight lines. + """ + + +class MeasurementHighlevelWiring(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:WIRing`` command. + + Description: + - This command sets or queries the wiring configuration for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:WIRing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:WIRing?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:HIGHLEVel:WIRing value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:WIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W3|DCP1W2} + - MEASUrement:HIGHLEVel:WIRing? + ``` + + Info: + - ``P1W2V1I1`` specifies 1 phase- 2 wire (with 1 voltage and 1 current sources) wiring + configuration. + - ``P1W3V2I2`` specifies 1 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V2I2`` specifies 3 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V3I3`` specifies 3 phase- 3 wire (with 3 voltage and 3 current sources) wiring + configuration. + - ``P3W3`` specifies 3 phase and 3 wire, the 3rd wire being Neutral. + - ``DCP1W2`` specifies DC 1 phase and 2 wire, the 2nd wire being Neutral. + """ + + +class MeasurementHighlevelSource(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:SOURCE`` command. + + Description: + - This command sets or queries global input source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:SOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:SOURCE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:HIGHLEVel:SOURCE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:SOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:SOURCE? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementHighlevelOutwiring(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTWIRing`` command. + + Description: + - This command sets or queries the global output wiring. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTWIRing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTWIRing?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTWIRing value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:HIGHLEVel:OUTWIRing? + ``` + + Info: + - ``P1W2V1I1`` specifies 1 phase- 2 wire (with 1 voltage and 1 current sources) wiring + configuration. + - ``P1W3V2I2`` specifies 1 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V2I2`` specifies 3 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V3I3`` specifies 3 phase- 3 wire (with 3 voltage and 3 current sources) wiring + configuration. + - ``P3W3`` specifies 3 phase and 3 wire, the 3rd wire being Neutral. + - ``DCP1W2`` specifies DC 1 phase and 2 wire, the 2nd wire being Neutral. + """ + + +class MeasurementHighlevelOutsource(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTSOURCE`` command. + + Description: + - This command sets or queries global output source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTSOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTSOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTSOURCE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTSOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:OUTSOURCE? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementHighlevelOutlowpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC`` command. + + Description: + - This command sets or queries global output low pass filter order. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC? + ``` + + Info: + - ``NONE`` specifies the global output low pass filter order as none. + - ``FIRST`` specifies the global output low pass filter order as first. + - ``SECOND`` specifies the global output low pass filter order as second. + - ``THIRD`` specifies the global output low pass filter order as third. + """ + + +class MeasurementHighlevelOutlowpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ`` command. + + Description: + - This command sets or queries global output low pass filter frequency. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTLOWPass:FREQ + - MEASUrement:HIGHLEVel:OUTLOWPass:FREQ? + ``` + + Info: + - ```` specifies the global output low pass filter frequency. The argument range is 20 + Hz to 10e6 Hz. + """ + + +class MeasurementHighlevelOutlowpass(SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTLOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.freq``: The ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementHighlevelOutlowpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementHighlevelOutlowpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementHighlevelOutlowpassFreq: + """Return the ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ`` command. + + Description: + - This command sets or queries global output low pass filter frequency. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTLOWPass:FREQ + - MEASUrement:HIGHLEVel:OUTLOWPass:FREQ? + ``` + + Info: + - ```` specifies the global output low pass filter frequency. The argument range is + 20 Hz to 10e6 Hz. + """ + return self._freq + + @property + def spec(self) -> MeasurementHighlevelOutlowpassSpec: + """Return the ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC`` command. + + Description: + - This command sets or queries global output low pass filter order. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:HIGHLEVel:OUTLOWPass:SPEC? + ``` + + Info: + - ``NONE`` specifies the global output low pass filter order as none. + - ``FIRST`` specifies the global output low pass filter order as first. + - ``SECOND`` specifies the global output low pass filter order as second. + - ``THIRD`` specifies the global output low pass filter order as third. + """ + return self._spec + + +class MeasurementHighlevelOutlineselected(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTLINESelected`` command. + + Description: + - This command sets or queries global output select lines. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLINESelected?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLINESelected?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTLINESelected {XYZY|XZYZ|YXZX|XN|YN|ZN} + - MEASUrement:HIGHLEVel:OUTLINESelected? + ``` + + Info: + - ``XYZY`` specifies the global output select lines as XYZY. + - ``XZYZ`` specifies the global output select lines as XZYZ. + - ``YXZX`` specifies the global output select lines as YXZX. + - ``XN`` specifies the global output select lines as XN. + - ``YN`` specifies the global output select lines as YN. + - ``ZN`` specifies the global output select lines as ZN. + """ + + +class MeasurementHighlevelOutl2ltol2n(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTL2LTOL2N`` command. + + Description: + - This command sets or queries global output Line-to-Line to Line-to-Neutral Conversion. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTL2LTOL2N?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTL2LTOL2N?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTL2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTL2LTOL2N {0|1} + - MEASUrement:HIGHLEVel:OUTL2LTOL2N? + ``` + """ + + +class MeasurementHighlevelOutedgequalifier(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier`` command. + + Description: + - This command sets or queries global output edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTEDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:OUTEDGEQUALifier? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementHighlevelLineselected(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:LINESelected`` command. + + Description: + - This command sets or queries global input select lines. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:LINESelected?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:LINESelected?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:LINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:LINESelected {ABCB|ACBC|BACA|AN|BN|CN} + - MEASUrement:HIGHLEVel:LINESelected? + ``` + + Info: + - ``ABCB`` specifies the global input select lines as ABCB. + - ``ACBC`` specifies the global input select lines as ACBC. + - ``BACA`` specifies the global input select lines as BACA. + - ``AN`` specifies the global input select lines as AN. + - ``BN`` specifies the global input select lines as BN. + - ``CN`` specifies the global input select lines as CN. + """ + + +class MeasurementHighlevelL2ltol2n(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:L2LTOL2N`` command. + + Description: + - This command enables the Line-to-Line to Line-to-Neutral Conversion. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:L2LTOL2N?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:L2LTOL2N?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:HIGHLEVel:L2LTOL2N value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:L2LTOL2N {0|1} + - MEASUrement:HIGHLEVel:L2LTOL2N? + ``` + """ + + +class MeasurementHighlevelInlowpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:INLOWPass:SPEC`` command. + + Description: + - This command sets or queries global input low pass filter order. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:INLOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:HIGHLEVel:INLOWPass:SPEC? + ``` + + Info: + - ``NONE`` specifies the global input low pass filter order as none. + - ``FIRST`` specifies the global input low pass filter order as first. + - ``SECOND`` specifies the global input low pass filter order as second. + - ``THIRD`` specifies the global input low pass filter order as third. + """ + + +class MeasurementHighlevelInlowpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:INLOWPass:FREQ`` command. + + Description: + - This command sets or queries global input low pass filter frequency. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:INLOWPass:FREQ + - MEASUrement:HIGHLEVel:INLOWPass:FREQ? + ``` + + Info: + - ```` specifies the global input low pass filter frequency. The argument range is 20 + Hz to 10e6 Hz. + """ + + +class MeasurementHighlevelInlowpass(SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:INLOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.freq``: The ``MEASUrement:HIGHLEVel:INLOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:HIGHLEVel:INLOWPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementHighlevelInlowpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementHighlevelInlowpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementHighlevelInlowpassFreq: + """Return the ``MEASUrement:HIGHLEVel:INLOWPass:FREQ`` command. + + Description: + - This command sets or queries global input low pass filter frequency. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:INLOWPass:FREQ + - MEASUrement:HIGHLEVel:INLOWPass:FREQ? + ``` + + Info: + - ```` specifies the global input low pass filter frequency. The argument range is + 20 Hz to 10e6 Hz. + """ + return self._freq + + @property + def spec(self) -> MeasurementHighlevelInlowpassSpec: + """Return the ``MEASUrement:HIGHLEVel:INLOWPass:SPEC`` command. + + Description: + - This command sets or queries global input low pass filter order. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:INLOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:INLOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:HIGHLEVel:INLOWPass:SPEC? + ``` + + Info: + - ``NONE`` specifies the global input low pass filter order as none. + - ``FIRST`` specifies the global input low pass filter order as first. + - ``SECOND`` specifies the global input low pass filter order as second. + - ``THIRD`` specifies the global input low pass filter order as third. + """ + return self._spec + + +class MeasurementHighlevelEdgequalifier(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:EDGEQUALifier`` command. + + Description: + - This command sets or queries global input edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:EDGEQUALifier?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:EDGEQUALifier?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:EDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:EDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:EDGEQUALifier? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementHighlevelConfiguration(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:HIGHLEVel:CONFIGuration`` command. + + Description: + - This command sets or queries the global input and output configuration. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:CONFIGuration?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:CONFIGuration?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:CONFIGuration value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:CONFIGuration {INPUT|OUTPUT} + - MEASUrement:HIGHLEVel:CONFIGuration? + ``` + + Info: + - ``INPUT`` specifies the source settings configuration as input. + - ``OUTPUT`` specifies the source settings configuration as output. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementHighlevel(SCPICmdRead): + """The ``MEASUrement:HIGHLEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.configuration``: The ``MEASUrement:HIGHLEVel:CONFIGuration`` command. + - ``.edgequalifier``: The ``MEASUrement:HIGHLEVel:EDGEQUALifier`` command. + - ``.inlowpass``: The ``MEASUrement:HIGHLEVel:INLOWPass`` command tree. + - ``.l2ltol2n``: The ``MEASUrement:HIGHLEVel:L2LTOL2N`` command. + - ``.lineselected``: The ``MEASUrement:HIGHLEVel:LINESelected`` command. + - ``.outedgequalifier``: The ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier`` command. + - ``.outl2ltol2n``: The ``MEASUrement:HIGHLEVel:OUTL2LTOL2N`` command. + - ``.outlineselected``: The ``MEASUrement:HIGHLEVel:OUTLINESelected`` command. + - ``.outlowpass``: The ``MEASUrement:HIGHLEVel:OUTLOWPass`` command tree. + - ``.outsource``: The ``MEASUrement:HIGHLEVel:OUTSOURCE`` command. + - ``.outwiring``: The ``MEASUrement:HIGHLEVel:OUTWIRing`` command. + - ``.source``: The ``MEASUrement:HIGHLEVel:SOURCE`` command. + - ``.wiring``: The ``MEASUrement:HIGHLEVel:WIRing`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._configuration = MeasurementHighlevelConfiguration( + device, f"{self._cmd_syntax}:CONFIGuration" + ) + self._edgequalifier = MeasurementHighlevelEdgequalifier( + device, f"{self._cmd_syntax}:EDGEQUALifier" + ) + self._inlowpass = MeasurementHighlevelInlowpass(device, f"{self._cmd_syntax}:INLOWPass") + self._l2ltol2n = MeasurementHighlevelL2ltol2n(device, f"{self._cmd_syntax}:L2LTOL2N") + self._lineselected = MeasurementHighlevelLineselected( + device, f"{self._cmd_syntax}:LINESelected" + ) + self._outedgequalifier = MeasurementHighlevelOutedgequalifier( + device, f"{self._cmd_syntax}:OUTEDGEQUALifier" + ) + self._outl2ltol2n = MeasurementHighlevelOutl2ltol2n( + device, f"{self._cmd_syntax}:OUTL2LTOL2N" + ) + self._outlineselected = MeasurementHighlevelOutlineselected( + device, f"{self._cmd_syntax}:OUTLINESelected" + ) + self._outlowpass = MeasurementHighlevelOutlowpass(device, f"{self._cmd_syntax}:OUTLOWPass") + self._outsource = MeasurementHighlevelOutsource(device, f"{self._cmd_syntax}:OUTSOURCE") + self._outwiring = MeasurementHighlevelOutwiring(device, f"{self._cmd_syntax}:OUTWIRing") + self._source = MeasurementHighlevelSource(device, f"{self._cmd_syntax}:SOURCE") + self._wiring = MeasurementHighlevelWiring(device, f"{self._cmd_syntax}:WIRing") + + @property + def configuration(self) -> MeasurementHighlevelConfiguration: + """Return the ``MEASUrement:HIGHLEVel:CONFIGuration`` command. + + Description: + - This command sets or queries the global input and output configuration. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:CONFIGuration?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:CONFIGuration?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:CONFIGuration value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:CONFIGuration {INPUT|OUTPUT} + - MEASUrement:HIGHLEVel:CONFIGuration? + ``` + + Info: + - ``INPUT`` specifies the source settings configuration as input. + - ``OUTPUT`` specifies the source settings configuration as output. + """ + return self._configuration + + @property + def edgequalifier(self) -> MeasurementHighlevelEdgequalifier: + """Return the ``MEASUrement:HIGHLEVel:EDGEQUALifier`` command. + + Description: + - This command sets or queries global input edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:EDGEQUALifier?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:EDGEQUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:EDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:EDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:EDGEQUALifier? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._edgequalifier + + @property + def inlowpass(self) -> MeasurementHighlevelInlowpass: + """Return the ``MEASUrement:HIGHLEVel:INLOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:INLOWPass?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.freq``: The ``MEASUrement:HIGHLEVel:INLOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:HIGHLEVel:INLOWPass:SPEC`` command. + """ + return self._inlowpass + + @property + def l2ltol2n(self) -> MeasurementHighlevelL2ltol2n: + """Return the ``MEASUrement:HIGHLEVel:L2LTOL2N`` command. + + Description: + - This command enables the Line-to-Line to Line-to-Neutral Conversion. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:L2LTOL2N?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:L2LTOL2N?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:L2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:L2LTOL2N {0|1} + - MEASUrement:HIGHLEVel:L2LTOL2N? + ``` + """ + return self._l2ltol2n + + @property + def lineselected(self) -> MeasurementHighlevelLineselected: + """Return the ``MEASUrement:HIGHLEVel:LINESelected`` command. + + Description: + - This command sets or queries global input select lines. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:LINESelected?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:LINESelected?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:LINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:LINESelected {ABCB|ACBC|BACA|AN|BN|CN} + - MEASUrement:HIGHLEVel:LINESelected? + ``` + + Info: + - ``ABCB`` specifies the global input select lines as ABCB. + - ``ACBC`` specifies the global input select lines as ACBC. + - ``BACA`` specifies the global input select lines as BACA. + - ``AN`` specifies the global input select lines as AN. + - ``BN`` specifies the global input select lines as BN. + - ``CN`` specifies the global input select lines as CN. + """ + return self._lineselected + + @property + def outedgequalifier(self) -> MeasurementHighlevelOutedgequalifier: + """Return the ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier`` command. + + Description: + - This command sets or queries global output edge qualifier source. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTEDGEQUALifier {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:OUTEDGEQUALifier? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._outedgequalifier + + @property + def outl2ltol2n(self) -> MeasurementHighlevelOutl2ltol2n: + """Return the ``MEASUrement:HIGHLEVel:OUTL2LTOL2N`` command. + + Description: + - This command sets or queries global output Line-to-Line to Line-to-Neutral Conversion. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTL2LTOL2N?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTL2LTOL2N?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTL2LTOL2N value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTL2LTOL2N {0|1} + - MEASUrement:HIGHLEVel:OUTL2LTOL2N? + ``` + """ + return self._outl2ltol2n + + @property + def outlineselected(self) -> MeasurementHighlevelOutlineselected: + """Return the ``MEASUrement:HIGHLEVel:OUTLINESelected`` command. + + Description: + - This command sets or queries global output select lines. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLINESelected?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLINESelected?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLINESelected value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTLINESelected {XYZY|XZYZ|YXZX|XN|YN|ZN} + - MEASUrement:HIGHLEVel:OUTLINESelected? + ``` + + Info: + - ``XYZY`` specifies the global output select lines as XYZY. + - ``XZYZ`` specifies the global output select lines as XZYZ. + - ``YXZX`` specifies the global output select lines as YXZX. + - ``XN`` specifies the global output select lines as XN. + - ``YN`` specifies the global output select lines as YN. + - ``ZN`` specifies the global output select lines as ZN. + """ + return self._outlineselected + + @property + def outlowpass(self) -> MeasurementHighlevelOutlowpass: + """Return the ``MEASUrement:HIGHLEVel:OUTLOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTLOWPass?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTLOWPass?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.freq``: The ``MEASUrement:HIGHLEVel:OUTLOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:HIGHLEVel:OUTLOWPass:SPEC`` command. + """ + return self._outlowpass + + @property + def outsource(self) -> MeasurementHighlevelOutsource: + """Return the ``MEASUrement:HIGHLEVel:OUTSOURCE`` command. + + Description: + - This command sets or queries global output source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTSOURCE?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTSOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTSOURCE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTSOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:OUTSOURCE? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._outsource + + @property + def outwiring(self) -> MeasurementHighlevelOutwiring: + """Return the ``MEASUrement:HIGHLEVel:OUTWIRing`` command. + + Description: + - This command sets or queries the global output wiring. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:OUTWIRing?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:OUTWIRing?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:OUTWIRing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:OUTWIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W4|DCP1W2} + - MEASUrement:HIGHLEVel:OUTWIRing? + ``` + + Info: + - ``P1W2V1I1`` specifies 1 phase- 2 wire (with 1 voltage and 1 current sources) wiring + configuration. + - ``P1W3V2I2`` specifies 1 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V2I2`` specifies 3 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V3I3`` specifies 3 phase- 3 wire (with 3 voltage and 3 current sources) wiring + configuration. + - ``P3W3`` specifies 3 phase and 3 wire, the 3rd wire being Neutral. + - ``DCP1W2`` specifies DC 1 phase and 2 wire, the 2nd wire being Neutral. + """ + return self._outwiring + + @property + def source(self) -> MeasurementHighlevelSource: + """Return the ``MEASUrement:HIGHLEVel:SOURCE`` command. + + Description: + - This command sets or queries global input source. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:SOURCE?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:SOURCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:SOURCE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:SOURCE {S_Ch|CH|MATH|REF} + - MEASUrement:HIGHLEVel:SOURCE? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._source + + @property + def wiring(self) -> MeasurementHighlevelWiring: + """Return the ``MEASUrement:HIGHLEVel:WIRing`` command. + + Description: + - This command sets or queries the wiring configuration for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel:WIRing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel:WIRing?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:HIGHLEVel:WIRing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:HIGHLEVel:WIRing {P1W2V1I1|P1W3V2I2|P3W3V2I2|P3W3V3I3|P3W3|DCP1W2} + - MEASUrement:HIGHLEVel:WIRing? + ``` + + Info: + - ``P1W2V1I1`` specifies 1 phase- 2 wire (with 1 voltage and 1 current sources) wiring + configuration. + - ``P1W3V2I2`` specifies 1 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V2I2`` specifies 3 phase- 3 wire (with 2 voltage and 2 current sources) wiring + configuration. + - ``P3W3V3I3`` specifies 3 phase- 3 wire (with 3 voltage and 3 current sources) wiring + configuration. + - ``P3W3`` specifies 3 phase and 3 wire, the 3rd wire being Neutral. + - ``DCP1W2`` specifies DC 1 phase and 2 wire, the 2nd wire being Neutral. + """ + return self._wiring + + +class MeasurementGatingStarttime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:STARTtime`` command. + + Description: + - Sets or queries the start gate time for all measurements that use Global gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:STARTtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:STARTtime?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:STARTtime value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:STARTtime + - MEASUrement:GATing:STARTtime? + ``` + + Info: + - ```` is the time gating start gate time in seconds. The valid range is -10000 s to + 10000 s. + """ + + +class MeasurementGatingSearchsource(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:SEARCHSource`` command. + + Description: + - This command sets or queries the global gating search source when the gating type is + search. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:SEARCHSource?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:SEARCHSource?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:SEARCHSource value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:SEARCHSource SEARCH1 + - MEASUrement:GATing:SEARCHSource? + ``` + """ + + +class MeasurementGatingMidref(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:MIDRef`` command. + + Description: + - This command sets or queries the global gating mid ref value used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:MIDRef?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:MIDRef?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:MIDRef value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:MIDRef + - MEASUrement:GATing:MIDRef? + ``` + + Info: + - ```` is the mid ref value for gating. + """ + + +class MeasurementGatingLogicsource(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:LOGICSource`` command. + + Description: + - This command sets or queries the gating data source used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:LOGICSource?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:LOGICSource?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:LOGICSource value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:LOGICSource {S_Ch|CH|MATH|REF} + - MEASUrement:GATing:LOGICSource? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class MeasurementGatingHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:HYSTeresis`` command. + + Description: + - This command sets or queries the global gating hysteresis value used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:HYSTeresis?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:HYSTeresis value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:HYSTeresis + - MEASUrement:GATing:HYSTeresis? + ``` + + Info: + - ```` is the gating hysteresis. + """ + + +class MeasurementGatingEndtime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:ENDtime`` command. + + Description: + - Sets or queries the end gate time for all measurements that use Global gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:ENDtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:ENDtime?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:ENDtime value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:ENDtime + - MEASUrement:GATing:ENDtime? + ``` + + Info: + - ```` is the time gating end gate time in seconds. The valid range is -10000 s to + 10000 s. + """ + + +class MeasurementGatingActive(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing:ACTive`` command. + + Description: + - This command sets or queries the global gating active level used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:ACTive?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:ACTive?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:ACTive value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:ACTive {HIGH|LOW} + - MEASUrement:GATing:ACTive? + ``` + + Info: + - ``HIGH`` specifies the gate is HIGH. + - ``LOW`` specifies the gate is LOW. + """ + + +class MeasurementGating(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:GATing`` command. + + Description: + - This command sets or queries the global gating type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:GATing {NONE|SCREEN|CURSor|LOGic|SEARch|TIMe} + - MEASUrement:GATing? + ``` + + Info: + - ``NONE`` turns off measurement gating. + - ``SCREen`` turns on gating, using the left and right edges of the screen. + - ``CURSor`` limits measurements to the portion of the waveform between the vertical bar + cursors, even if they are off screen. + - ``LOGic`` specifies that measurements are taken only on the portion of the waveform where + the logic source is in the active state. + - ``SEARCH`` specifies that measurements are taken based on search criteria. + - ``TIMe`` limits measurements to the portion of the waveform between the Start and End gate + times. + + Properties: + - ``.active``: The ``MEASUrement:GATing:ACTive`` command. + - ``.endtime``: The ``MEASUrement:GATing:ENDtime`` command. + - ``.hysteresis``: The ``MEASUrement:GATing:HYSTeresis`` command. + - ``.logicsource``: The ``MEASUrement:GATing:LOGICSource`` command. + - ``.midref``: The ``MEASUrement:GATing:MIDRef`` command. + - ``.searchsource``: The ``MEASUrement:GATing:SEARCHSource`` command. + - ``.starttime``: The ``MEASUrement:GATing:STARTtime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._active = MeasurementGatingActive(device, f"{self._cmd_syntax}:ACTive") + self._endtime = MeasurementGatingEndtime(device, f"{self._cmd_syntax}:ENDtime") + self._hysteresis = MeasurementGatingHysteresis(device, f"{self._cmd_syntax}:HYSTeresis") + self._logicsource = MeasurementGatingLogicsource(device, f"{self._cmd_syntax}:LOGICSource") + self._midref = MeasurementGatingMidref(device, f"{self._cmd_syntax}:MIDRef") + self._searchsource = MeasurementGatingSearchsource( + device, f"{self._cmd_syntax}:SEARCHSource" + ) + self._starttime = MeasurementGatingStarttime(device, f"{self._cmd_syntax}:STARTtime") + + @property + def active(self) -> MeasurementGatingActive: + """Return the ``MEASUrement:GATing:ACTive`` command. + + Description: + - This command sets or queries the global gating active level used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:ACTive?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:ACTive?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:ACTive value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:ACTive {HIGH|LOW} + - MEASUrement:GATing:ACTive? + ``` + + Info: + - ``HIGH`` specifies the gate is HIGH. + - ``LOW`` specifies the gate is LOW. + """ + return self._active + + @property + def endtime(self) -> MeasurementGatingEndtime: + """Return the ``MEASUrement:GATing:ENDtime`` command. + + Description: + - Sets or queries the end gate time for all measurements that use Global gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:ENDtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:ENDtime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:ENDtime value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:ENDtime + - MEASUrement:GATing:ENDtime? + ``` + + Info: + - ```` is the time gating end gate time in seconds. The valid range is -10000 s to + 10000 s. + """ + return self._endtime + + @property + def hysteresis(self) -> MeasurementGatingHysteresis: + """Return the ``MEASUrement:GATing:HYSTeresis`` command. + + Description: + - This command sets or queries the global gating hysteresis value used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:HYSTeresis?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:GATing:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:HYSTeresis + - MEASUrement:GATing:HYSTeresis? + ``` + + Info: + - ```` is the gating hysteresis. + """ + return self._hysteresis + + @property + def logicsource(self) -> MeasurementGatingLogicsource: + """Return the ``MEASUrement:GATing:LOGICSource`` command. + + Description: + - This command sets or queries the gating data source used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:LOGICSource?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:LOGICSource?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:GATing:LOGICSource value`` command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:LOGICSource {S_Ch|CH|MATH|REF} + - MEASUrement:GATing:LOGICSource? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._logicsource + + @property + def midref(self) -> MeasurementGatingMidref: + """Return the ``MEASUrement:GATing:MIDRef`` command. + + Description: + - This command sets or queries the global gating mid ref value used for logic gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:MIDRef?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:MIDRef?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing:MIDRef value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:MIDRef + - MEASUrement:GATing:MIDRef? + ``` + + Info: + - ```` is the mid ref value for gating. + """ + return self._midref + + @property + def searchsource(self) -> MeasurementGatingSearchsource: + """Return the ``MEASUrement:GATing:SEARCHSource`` command. + + Description: + - This command sets or queries the global gating search source when the gating type is + search. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:SEARCHSource?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:SEARCHSource?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:GATing:SEARCHSource value`` command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:SEARCHSource SEARCH1 + - MEASUrement:GATing:SEARCHSource? + ``` + """ + return self._searchsource + + @property + def starttime(self) -> MeasurementGatingStarttime: + """Return the ``MEASUrement:GATing:STARTtime`` command. + + Description: + - Sets or queries the start gate time for all measurements that use Global gating. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing:STARTtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing:STARTtime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:GATing:STARTtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:GATing:STARTtime + - MEASUrement:GATing:STARTtime? + ``` + + Info: + - ```` is the time gating start gate time in seconds. The valid range is -10000 s + to 10000 s. + """ + return self._starttime + + +class MeasurementFiltersRamptime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:FILTers:RAMPtime`` command. + + Description: + - This command sets or queries the global filter ramp time for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:RAMPtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:RAMPtime?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:FILTers:RAMPtime value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:RAMPtime + - MEASUrement:FILTers:RAMPtime? + ``` + + Info: + - ```` is the current filter ramp time. + """ + + +class MeasurementFiltersLowpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:FILTers:LOWPass:SPEC`` command. + + Description: + - This command sets or queries the global low pass filter order for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:LOWPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:LOWPass:SPEC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:FILTers:LOWPass:SPEC? + ``` + + Info: + - ``NONE`` specifies no low pass filter. + - ``FIRST`` specifies a first order low pass filter. + - ``SECOND`` specifies a second order low pass filter. + - ``THIRD`` specifies a third order low pass filter. + """ + + +class MeasurementFiltersLowpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:FILTers:LOWPass:FREQ`` command. + + Description: + - This command sets or queries the global low pass filter cutoff frequency for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:LOWPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:LOWPass:FREQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:LOWPass:FREQ + - MEASUrement:FILTers:LOWPass:FREQ? + ``` + + Info: + - ```` is the current low pass filter frequency. + """ + + +class MeasurementFiltersLowpass(SCPICmdRead): + """The ``MEASUrement:FILTers:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:LOWPass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:LOWPass?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.freq``: The ``MEASUrement:FILTers:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:FILTers:LOWPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementFiltersLowpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementFiltersLowpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementFiltersLowpassFreq: + """Return the ``MEASUrement:FILTers:LOWPass:FREQ`` command. + + Description: + - This command sets or queries the global low pass filter cutoff frequency for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:LOWPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:FILTers:LOWPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:LOWPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:LOWPass:FREQ + - MEASUrement:FILTers:LOWPass:FREQ? + ``` + + Info: + - ```` is the current low pass filter frequency. + """ + return self._freq + + @property + def spec(self) -> MeasurementFiltersLowpassSpec: + """Return the ``MEASUrement:FILTers:LOWPass:SPEC`` command. + + Description: + - This command sets or queries the global low pass filter order for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:LOWPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:FILTers:LOWPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:LOWPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:LOWPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:FILTers:LOWPass:SPEC? + ``` + + Info: + - ``NONE`` specifies no low pass filter. + - ``FIRST`` specifies a first order low pass filter. + - ``SECOND`` specifies a second order low pass filter. + - ``THIRD`` specifies a third order low pass filter. + """ + return self._spec + + +class MeasurementFiltersHighpassSpec(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:FILTers:HIGHPass:SPEC`` command. + + Description: + - This command sets or queries the global high pass filter order for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:HIGHPass:SPEC?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:HIGHPass:SPEC?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:HIGHPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:HIGHPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:FILTers:HIGHPass:SPEC? + ``` + + Info: + - ``NONE`` specifies no high pass filter. + - ``FIRST`` specifies a first order high pass filter. + - ``SECOND`` specifies a second order high pass filter. + - ``THIRD`` specifies a third order high pass filter. + """ + + +class MeasurementFiltersHighpassFreq(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:FILTers:HIGHPass:FREQ`` command. + + Description: + - This command sets or queries the global high pass filter frequency for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:HIGHPass:FREQ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:HIGHPass:FREQ?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:HIGHPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:HIGHPass:FREQ + - MEASUrement:FILTers:HIGHPass:FREQ? + ``` + + Info: + - ```` is the current high pass filter frequency. + """ + + +class MeasurementFiltersHighpass(SCPICmdRead): + """The ``MEASUrement:FILTers:HIGHPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:HIGHPass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:HIGHPass?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.freq``: The ``MEASUrement:FILTers:HIGHPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:FILTers:HIGHPass:SPEC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._freq = MeasurementFiltersHighpassFreq(device, f"{self._cmd_syntax}:FREQ") + self._spec = MeasurementFiltersHighpassSpec(device, f"{self._cmd_syntax}:SPEC") + + @property + def freq(self) -> MeasurementFiltersHighpassFreq: + """Return the ``MEASUrement:FILTers:HIGHPass:FREQ`` command. + + Description: + - This command sets or queries the global high pass filter frequency for the + measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:HIGHPass:FREQ?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:FILTers:HIGHPass:FREQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:HIGHPass:FREQ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:HIGHPass:FREQ + - MEASUrement:FILTers:HIGHPass:FREQ? + ``` + + Info: + - ```` is the current high pass filter frequency. + """ + return self._freq + + @property + def spec(self) -> MeasurementFiltersHighpassSpec: + """Return the ``MEASUrement:FILTers:HIGHPass:SPEC`` command. + + Description: + - This command sets or queries the global high pass filter order for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:HIGHPass:SPEC?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:FILTers:HIGHPass:SPEC?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:HIGHPass:SPEC value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:HIGHPass:SPEC {NONE|FIRST|SECOND|THIRD} + - MEASUrement:FILTers:HIGHPass:SPEC? + ``` + + Info: + - ``NONE`` specifies no high pass filter. + - ``FIRST`` specifies a first order high pass filter. + - ``SECOND`` specifies a second order high pass filter. + - ``THIRD`` specifies a third order high pass filter. + """ + return self._spec + + +class MeasurementFiltersBlankingtime(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:FILTers:BLANKingtime`` command. + + Description: + - This command sets or queries the global filter blanking time. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:BLANKingtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:BLANKingtime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:BLANKingtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:BLANKingtime + - MEASUrement:FILTers:BLANKingtime? + ``` + + Info: + - ```` is the current filter blanking time. + """ + + +class MeasurementFilters(SCPICmdRead): + """The ``MEASUrement:FILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.blankingtime``: The ``MEASUrement:FILTers:BLANKingtime`` command. + - ``.highpass``: The ``MEASUrement:FILTers:HIGHPass`` command tree. + - ``.lowpass``: The ``MEASUrement:FILTers:LOWPass`` command tree. + - ``.ramptime``: The ``MEASUrement:FILTers:RAMPtime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blankingtime = MeasurementFiltersBlankingtime( + device, f"{self._cmd_syntax}:BLANKingtime" + ) + self._highpass = MeasurementFiltersHighpass(device, f"{self._cmd_syntax}:HIGHPass") + self._lowpass = MeasurementFiltersLowpass(device, f"{self._cmd_syntax}:LOWPass") + self._ramptime = MeasurementFiltersRamptime(device, f"{self._cmd_syntax}:RAMPtime") + + @property + def blankingtime(self) -> MeasurementFiltersBlankingtime: + """Return the ``MEASUrement:FILTers:BLANKingtime`` command. + + Description: + - This command sets or queries the global filter blanking time. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:BLANKingtime?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:FILTers:BLANKingtime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:BLANKingtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:BLANKingtime + - MEASUrement:FILTers:BLANKingtime? + ``` + + Info: + - ```` is the current filter blanking time. + """ + return self._blankingtime + + @property + def highpass(self) -> MeasurementFiltersHighpass: + """Return the ``MEASUrement:FILTers:HIGHPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:HIGHPass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:HIGHPass?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.freq``: The ``MEASUrement:FILTers:HIGHPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:FILTers:HIGHPass:SPEC`` command. + """ + return self._highpass + + @property + def lowpass(self) -> MeasurementFiltersLowpass: + """Return the ``MEASUrement:FILTers:LOWPass`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:LOWPass?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:LOWPass?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.freq``: The ``MEASUrement:FILTers:LOWPass:FREQ`` command. + - ``.spec``: The ``MEASUrement:FILTers:LOWPass:SPEC`` command. + """ + return self._lowpass + + @property + def ramptime(self) -> MeasurementFiltersRamptime: + """Return the ``MEASUrement:FILTers:RAMPtime`` command. + + Description: + - This command sets or queries the global filter ramp time for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers:RAMPtime?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers:RAMPtime?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:FILTers:RAMPtime value`` command. + + SCPI Syntax: + ``` + - MEASUrement:FILTers:RAMPtime + - MEASUrement:FILTers:RAMPtime? + ``` + + Info: + - ```` is the current filter ramp time. + """ + return self._ramptime + + +class MeasurementEyerender(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:EYERENDER`` command. + + Description: + - This command sets or queries the state of high-performance eye rendering for an eye + diagram. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:EYERENDER?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:EYERENDER?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:EYERENDER value`` command. + + SCPI Syntax: + ``` + - MEASUrement:EYERENDER {ON|OFF|} + - MEASUrement:EYERENDER? + ``` + + Info: + - ```` = 0 disables high-performance eye rendering for an eye diagram; any other value + turns this feature on. + - ``OFF`` disables high-performance eye rendering for an eye diagram. + - ``ON`` enables high-performance eye rendering for an eye diagram. + """ + + +class MeasurementEdgeItem(ValidatedDynamicNumberCmd, SCPICmdWrite): + """The ``MEASUrement:EDGE`` command. + + Description: + - This command sets or queries the type of the edge for the measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:EDGE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:EDGE {RISE|FALL|BOTH} + ``` + + Info: + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + """ + + +class MeasurementDisplayunits(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:DISPLAYUnits`` command. + + Description: + - This command sets or queries the display units used for jitter summary measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:DISPLAYUnits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:DISPLAYUnits?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:DISPLAYUnits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:DISPLAYUnits {SEConds|UNITINtervals} + - MEASUrement:DISPLAYUnits? + ``` + + Info: + - ``SEConds`` set the display units to seconds. + - ``UNITINtervals`` set the display units to unit intervals. + """ + + +class MeasurementDiracmodel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:DIRacmodel`` command. + + Description: + - This command sets or queries the dirac model used to separate random from deterministic + jitter for jitter measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:DIRacmodel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:DIRacmodel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:DIRacmodel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:DIRacmodel {PCIExpress|FIBREchannel} + - MEASUrement:DIRacmodel? + ``` + + Info: + - ``PCIExpress`` specifies the PCIExpress dirac model. + - ``FIBREchannel`` specifies the FIBREchannel dirac model. + """ + + +class MeasurementDelete(SCPICmdWrite): + """The ``MEASUrement:DELete`` command. + + Description: + - The command deletes the specified measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:DELete value`` command. + + SCPI Syntax: + ``` + - MEASUrement:DELete + ``` + + Info: + - ```` is the measurement to delete. Argument is of the form 'MEAS' where + is ≥1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MeasurementDeleteall(SCPICmdWriteNoArguments): + """The ``MEASUrement:DELETEALL`` command. + + Description: + - This command deletes all the active instances of measurements defined in the scope + application. + + Usage: + - Using the ``.write()`` method will send the ``MEASUrement:DELETEALL`` command. + + SCPI Syntax: + ``` + - MEASUrement:DELETEALL + ``` + """ + + +class MeasurementClockrecoveryStandard(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:STAndard`` command. + + Description: + - This command sets or queries the global communications standard used when PLL clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:STAndard?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:STAndard?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:STAndard value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:STAndard {CUSTom|ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1|FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250|FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48|PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125|SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC|SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2|SATA_GEN3|USB3|XAUI|XAUI_GEN2} + - MEASUrement:CLOCKRecovery:STAndard? + ``` + + Info: + - ``CUSTom`` sets a custom standard. + - ``ENET100`` sets the standard to ENET100. + - ``FW1394BS400B`` sets the standard to FW1394BS400B. + - ``FW1394BS800B`` sets the standard to FW1394BS800B. + - ``FW1394BS1600B`` sets the standard to FW1394BS1600B. + - ``FBD1`` sets the standard to FBD1. + - ``FBD2`` sets the standard to FBD2. + - ``FBD3`` sets the standard to FBD3. + - ``FC133`` sets the standard to FC133. + - ``FC266`` sets the standard to FC266. + - ``FC531`` sets the standard to FC531. + - ``FC1063`` sets the standard to FC1063. + - ``FC2125`` sets the standard to FC2125. + - ``FC4250`` sets the standard to FC4250. + - ``FC8500`` sets the standard to FC8500. + - ``ENET1000`` sets the standard to ENET1000. + - ``IBA2500`` sets the standard to IBA2500. + - ``IBA_GEN2`` sets the standard to ``IBA_GEN2``. + - ``OC1`` sets the standard to OC1. + - ``OC3`` sets the standard to OC3. + - ``OC12`` sets the standard to OC12. + - ``OC48`` sets the standard to OC48. + - ``PCIE_GEN1`` sets the standard to ``PCIE_GEN1``. + - ``PCIE_GEN2`` sets the standard to ``PCIE_GEN2``. + - ``PCIE_GEN3`` sets the standard to ``PCIE_GEN3``. + - ``RIO125`` sets the standard to RIO125. + - ``RIO250`` sets the standard to RIO250. + - ``RIO3125`` sets the standard to RIO3125. + - ``SAS15_NOSSC`` sets the standard to ``SAS15_NOSSC``. + - ``SAS3_NOSSC`` sets the standard to ``SAS3_NOSSC``. + - ``SAS6_NOSSC`` sets the standard to ``SAS6_NOSSC``. + - ``SAS12_NOSSC`` sets the standard to ``SAS12_NOSSC``. + - ``SAS15_SSC`` sets the standard to ``SAS15_SSC``. + - ``SAS3_SSC`` sets the standard to ``SAS3_SSC``. + - ``SAS6_SSC`` sets the standard to ``SAS6_SSC``. + - ``SAS12_SSC`` sets the standard to ``SAS12_SSC``. + - ``SATA_GEN1`` sets the standard to ``SATA_GEN1``. + - ``SATA_GEN2`` sets the standard to ``SATA_GEN2``. + - ``SATA_GEN3`` sets the standard to ``SATA_GEN3``. + - ``USB3`` sets the standard to USB3. + - ``XAUI`` sets the standard to XAUI. + - ``XAUI_GEN2`` sets the standard to ``XAUI_GEN2``. + """ # noqa: E501 + + +class MeasurementClockrecoveryNominaloffsetSelectiontype(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` command. + + Description: + - This command sets or queries the global offset type used when explicit clock recovery is + used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype {AUTO|MANUAL} + - MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? + ``` + + Info: + - ``AUTO`` sets the selection type to AUTO. + - ``MANUAL`` sets the selection type to MANUAL. + """ + + +class MeasurementClockrecoveryNominaloffset(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:NOMINALOFFset`` command. + + Description: + - This command sets or queries the global offset value used when explicit clock recovery is + used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:NOMINALOFFset?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:NOMINALOFFset + - MEASUrement:CLOCKRecovery:NOMINALOFFset? + ``` + + Info: + - ```` is the global clock offset. + + Properties: + - ``.selectiontype``: The ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._selectiontype = MeasurementClockrecoveryNominaloffsetSelectiontype( + device, f"{self._cmd_syntax}:SELECTIONtype" + ) + + @property + def selectiontype(self) -> MeasurementClockrecoveryNominaloffsetSelectiontype: + """Return the ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` command. + + Description: + - This command sets or queries the global offset type used when explicit clock recovery + is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype {AUTO|MANUAL} + - MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype? + ``` + + Info: + - ``AUTO`` sets the selection type to AUTO. + - ``MANUAL`` sets the selection type to MANUAL. + """ + return self._selectiontype + + +class MeasurementClockrecoveryModel(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:MODel`` command. + + Description: + - This command sets or queries the global phase locked loop (PLL) clock recovery model used + when PLL clock recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:MODel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:MODel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:CLOCKRecovery:MODel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:MODel {TYPE} + - MEASUrement:CLOCKRecovery:MODel? + ``` + + Info: + - ``TYPE1`` PLL clock recovery uses PLL model type I. + - ``TYPE2`` PLL clock recovery uses PLL model type II. + """ + + +class MeasurementClockrecoveryMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:METHod`` command. + + Description: + - This command sets or queries the global clock recovery method for the measurement. This + will affect measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set + to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:METHod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:METHod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:METHod {PLL|CONSTANTCLOCK|EXPLICITCLOCK} + - MEASUrement:CLOCKRecovery:METHod? + ``` + + Info: + - ``PLL`` specifies using the phase locked loop. + - ``CONSTANTCLOCK`` specifies using a constant clock. + - ``EXPLICITCLOCK`` specifies using an explicit clock. + """ + + +class MeasurementClockrecoveryMeanautocalculate(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate`` command. + + Description: + - This command sets or queries how often the clock is calculated when constant clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:MEANAUTOCalculate {FIRST|EVERY} + - MEASUrement:CLOCKRecovery:MEANAUTOCalculate? + ``` + + Info: + - ``FIRST`` calculates the clock on the first acquisition. + - ``EVERY`` calculates the clock on every acquisition. + """ + + +class MeasurementClockrecoveryLoopbandwidth(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:LOOPBandwidth`` command. + + Description: + - This command sets or queries the global loop bandwidth used when PLL clock recovery is + used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:LOOPBandwidth?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:LOOPBandwidth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:LOOPBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:LOOPBandwidth + - MEASUrement:CLOCKRecovery:LOOPBandwidth? + ``` + + Info: + - ```` is the global loop bandwidth. + """ + + +class MeasurementClockrecoveryJtfbandwidth(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:JTFBandwidth`` command. + + Description: + - This command sets or queries the global JTF bandwidth used when PLL clock recovery is used + for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:JTFBandwidth?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:JTFBandwidth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:JTFBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:JTFBandwidth + - MEASUrement:CLOCKRecovery:JTFBandwidth? + ``` + + Info: + - ```` is the global clock recovery JTF bandwidth. + """ + + +class MeasurementClockrecoveryExplicitclockmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe`` command. + + Description: + - This command sets or queries the global explicit clock mode used when explicit clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe {EDGE|PLL} + - MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe? + ``` + + Info: + - ``EDGE`` sets the clock mode to clock edge. + - ``PLL`` sets the clock mode to phase locked loop. + """ + + +class MeasurementClockrecoveryDatarate(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:DATARate`` command. + + Description: + - This command sets or queries the global nominal data bit rate used when nominal data rate + clock recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:DATARate?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:DATARate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DATARate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:DATARate + - MEASUrement:CLOCKRecovery:DATARate? + ``` + + Info: + - ```` is the global value for the Nominal data rate. + """ + + +class MeasurementClockrecoveryDatapath(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:DATAPath`` command. + + Description: + - This command sets or queries the global file containing the data pattern used when known + data pattern clock recovery is used for the measurement. This will affect measurements + whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:DATAPath?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:DATAPath?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DATAPath value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:DATAPath + - MEASUrement:CLOCKRecovery:DATAPath? + ``` + + Info: + - ```` is the path and filename, in quotes, of the file containing the data + pattern. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class MeasurementClockrecoveryDamping(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:DAMPing`` command. + + Description: + - This command sets or queries the global damping value used when PLL clock recovery is used + for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:DAMPing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:DAMPing?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DAMPing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:DAMPing + - MEASUrement:CLOCKRecovery:DAMPing? + ``` + + Info: + - ```` is the global clock recovery damping value. + """ + + +class MeasurementClockrecoveryConstclockmode(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe`` command. + + Description: + - This command sets or queries the global constant clock mode used when constant clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:CONSTCLOCKMODe {MEAN|MEDian|FIXed} + - MEASUrement:CLOCKRecovery:CONSTCLOCKMODe? + ``` + + Info: + - ``MEAN`` sets the constant clock mode to MEAN. + - ``MEDian`` sets the constant clock mode to MEDian. + - ``FIXed`` sets the constant clock mode to FIXed. + """ + + +class MeasurementClockrecoveryClockmultiplier(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:CLOCKMultiplier`` command. + + Description: + - This command sets or queries the global clock multiplier used when explicit clock recovery + is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:CLOCKMultiplier?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKMultiplier?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKMultiplier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:CLOCKMultiplier + - MEASUrement:CLOCKRecovery:CLOCKMultiplier? + ``` + + Info: + - ```` is the global clock multiplier. + """ + + +class MeasurementClockrecoveryClockfrequency(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:CLOCKFrequency`` command. + + Description: + - This command sets or queries the global clock frequency used when fixed constant clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:CLOCKFrequency?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKFrequency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKFrequency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:CLOCKFrequency + - MEASUrement:CLOCKRecovery:CLOCKFrequency? + ``` + + Info: + - ```` is the global clock frequency used with Constant Clock - Fixed clock recovery + method. + """ + + +class MeasurementClockrecoveryAdvancedMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:ADVanced:METHod`` command. + + Description: + - This command sets or queries the global advanced clock recovery method. This will affect + measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:ADVanced:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:ADVanced:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:ADVanced:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:ADVanced:METHod {NONE|NOMinal|PATTern} + - MEASUrement:CLOCKRecovery:ADVanced:METHod? + ``` + + Info: + - ``NONE`` sets to use no advanced CRD method. + - ``NOMinal`` sets the advanced CRD method to Nominal Data Rate. + - ``PATTern`` sets the advanced CDR method to use a Known Data Pattern. + """ + + +class MeasurementClockrecoveryAdvanced(SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery:ADVanced`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:ADVanced?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:ADVanced?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.method``: The ``MEASUrement:CLOCKRecovery:ADVanced:METHod`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._method = MeasurementClockrecoveryAdvancedMethod(device, f"{self._cmd_syntax}:METHod") + + @property + def method(self) -> MeasurementClockrecoveryAdvancedMethod: + """Return the ``MEASUrement:CLOCKRecovery:ADVanced:METHod`` command. + + Description: + - This command sets or queries the global advanced clock recovery method. This will + affect measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to + 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:ADVanced:METHod?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:ADVanced:METHod?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:ADVanced:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:ADVanced:METHod {NONE|NOMinal|PATTern} + - MEASUrement:CLOCKRecovery:ADVanced:METHod? + ``` + + Info: + - ``NONE`` sets to use no advanced CRD method. + - ``NOMinal`` sets the advanced CRD method to Nominal Data Rate. + - ``PATTern`` sets the advanced CDR method to use a Known Data Pattern. + """ + return self._method + + +# pylint: disable=too-many-instance-attributes +class MeasurementClockrecovery(SCPICmdRead): + """The ``MEASUrement:CLOCKRecovery`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.advanced``: The ``MEASUrement:CLOCKRecovery:ADVanced`` command tree. + - ``.clockfrequency``: The ``MEASUrement:CLOCKRecovery:CLOCKFrequency`` command. + - ``.clockmultiplier``: The ``MEASUrement:CLOCKRecovery:CLOCKMultiplier`` command. + - ``.constclockmode``: The ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe`` command. + - ``.damping``: The ``MEASUrement:CLOCKRecovery:DAMPing`` command. + - ``.datapath``: The ``MEASUrement:CLOCKRecovery:DATAPath`` command. + - ``.datarate``: The ``MEASUrement:CLOCKRecovery:DATARate`` command. + - ``.explicitclockmode``: The ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe`` command. + - ``.jtfbandwidth``: The ``MEASUrement:CLOCKRecovery:JTFBandwidth`` command. + - ``.loopbandwidth``: The ``MEASUrement:CLOCKRecovery:LOOPBandwidth`` command. + - ``.meanautocalculate``: The ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate`` command. + - ``.method``: The ``MEASUrement:CLOCKRecovery:METHod`` command. + - ``.model``: The ``MEASUrement:CLOCKRecovery:MODel`` command. + - ``.nominaloffset``: The ``MEASUrement:CLOCKRecovery:NOMINALOFFset`` command. + - ``.standard``: The ``MEASUrement:CLOCKRecovery:STAndard`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._advanced = MeasurementClockrecoveryAdvanced(device, f"{self._cmd_syntax}:ADVanced") + self._clockfrequency = MeasurementClockrecoveryClockfrequency( + device, f"{self._cmd_syntax}:CLOCKFrequency" + ) + self._clockmultiplier = MeasurementClockrecoveryClockmultiplier( + device, f"{self._cmd_syntax}:CLOCKMultiplier" + ) + self._constclockmode = MeasurementClockrecoveryConstclockmode( + device, f"{self._cmd_syntax}:CONSTCLOCKMODe" + ) + self._damping = MeasurementClockrecoveryDamping(device, f"{self._cmd_syntax}:DAMPing") + self._datapath = MeasurementClockrecoveryDatapath(device, f"{self._cmd_syntax}:DATAPath") + self._datarate = MeasurementClockrecoveryDatarate(device, f"{self._cmd_syntax}:DATARate") + self._explicitclockmode = MeasurementClockrecoveryExplicitclockmode( + device, f"{self._cmd_syntax}:EXPLICITCLOCKMODe" + ) + self._jtfbandwidth = MeasurementClockrecoveryJtfbandwidth( + device, f"{self._cmd_syntax}:JTFBandwidth" + ) + self._loopbandwidth = MeasurementClockrecoveryLoopbandwidth( + device, f"{self._cmd_syntax}:LOOPBandwidth" + ) + self._meanautocalculate = MeasurementClockrecoveryMeanautocalculate( + device, f"{self._cmd_syntax}:MEANAUTOCalculate" + ) + self._method = MeasurementClockrecoveryMethod(device, f"{self._cmd_syntax}:METHod") + self._model = MeasurementClockrecoveryModel(device, f"{self._cmd_syntax}:MODel") + self._nominaloffset = MeasurementClockrecoveryNominaloffset( + device, f"{self._cmd_syntax}:NOMINALOFFset" + ) + self._standard = MeasurementClockrecoveryStandard(device, f"{self._cmd_syntax}:STAndard") + + @property + def advanced(self) -> MeasurementClockrecoveryAdvanced: + """Return the ``MEASUrement:CLOCKRecovery:ADVanced`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:ADVanced?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:ADVanced?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.method``: The ``MEASUrement:CLOCKRecovery:ADVanced:METHod`` command. + """ + return self._advanced + + @property + def clockfrequency(self) -> MeasurementClockrecoveryClockfrequency: + """Return the ``MEASUrement:CLOCKRecovery:CLOCKFrequency`` command. + + Description: + - This command sets or queries the global clock frequency used when fixed constant clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKFrequency?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKFrequency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKFrequency value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:CLOCKFrequency + - MEASUrement:CLOCKRecovery:CLOCKFrequency? + ``` + + Info: + - ```` is the global clock frequency used with Constant Clock - Fixed clock + recovery method. + """ + return self._clockfrequency + + @property + def clockmultiplier(self) -> MeasurementClockrecoveryClockmultiplier: + """Return the ``MEASUrement:CLOCKRecovery:CLOCKMultiplier`` command. + + Description: + - This command sets or queries the global clock multiplier used when explicit clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKMultiplier?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKMultiplier?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CLOCKMultiplier value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:CLOCKMultiplier + - MEASUrement:CLOCKRecovery:CLOCKMultiplier? + ``` + + Info: + - ```` is the global clock multiplier. + """ + return self._clockmultiplier + + @property + def constclockmode(self) -> MeasurementClockrecoveryConstclockmode: + """Return the ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe`` command. + + Description: + - This command sets or queries the global constant clock mode used when constant clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:CONSTCLOCKMODe {MEAN|MEDian|FIXed} + - MEASUrement:CLOCKRecovery:CONSTCLOCKMODe? + ``` + + Info: + - ``MEAN`` sets the constant clock mode to MEAN. + - ``MEDian`` sets the constant clock mode to MEDian. + - ``FIXed`` sets the constant clock mode to FIXed. + """ + return self._constclockmode + + @property + def damping(self) -> MeasurementClockrecoveryDamping: + """Return the ``MEASUrement:CLOCKRecovery:DAMPing`` command. + + Description: + - This command sets or queries the global damping value used when PLL clock recovery is + used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:DAMPing?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DAMPing?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DAMPing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:DAMPing + - MEASUrement:CLOCKRecovery:DAMPing? + ``` + + Info: + - ```` is the global clock recovery damping value. + """ + return self._damping + + @property + def datapath(self) -> MeasurementClockrecoveryDatapath: + """Return the ``MEASUrement:CLOCKRecovery:DATAPath`` command. + + Description: + - This command sets or queries the global file containing the data pattern used when + known data pattern clock recovery is used for the measurement. This will affect + measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:DATAPath?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DATAPath?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DATAPath value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:DATAPath + - MEASUrement:CLOCKRecovery:DATAPath? + ``` + + Info: + - ```` is the path and filename, in quotes, of the file containing the data + pattern. + """ + return self._datapath + + @property + def datarate(self) -> MeasurementClockrecoveryDatarate: + """Return the ``MEASUrement:CLOCKRecovery:DATARate`` command. + + Description: + - This command sets or queries the global nominal data bit rate used when nominal data + rate clock recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:DATARate?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DATARate?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:DATARate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:DATARate + - MEASUrement:CLOCKRecovery:DATARate? + ``` + + Info: + - ```` is the global value for the Nominal data rate. + """ + return self._datarate + + @property + def explicitclockmode(self) -> MeasurementClockrecoveryExplicitclockmode: + """Return the ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe`` command. + + Description: + - This command sets or queries the global explicit clock mode used when explicit clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe {EDGE|PLL} + - MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe? + ``` + + Info: + - ``EDGE`` sets the clock mode to clock edge. + - ``PLL`` sets the clock mode to phase locked loop. + """ + return self._explicitclockmode + + @property + def jtfbandwidth(self) -> MeasurementClockrecoveryJtfbandwidth: + """Return the ``MEASUrement:CLOCKRecovery:JTFBandwidth`` command. + + Description: + - This command sets or queries the global JTF bandwidth used when PLL clock recovery is + used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:JTFBandwidth?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:JTFBandwidth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:JTFBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:JTFBandwidth + - MEASUrement:CLOCKRecovery:JTFBandwidth? + ``` + + Info: + - ```` is the global clock recovery JTF bandwidth. + """ + return self._jtfbandwidth + + @property + def loopbandwidth(self) -> MeasurementClockrecoveryLoopbandwidth: + """Return the ``MEASUrement:CLOCKRecovery:LOOPBandwidth`` command. + + Description: + - This command sets or queries the global loop bandwidth used when PLL clock recovery is + used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:LOOPBandwidth?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:LOOPBandwidth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:LOOPBandwidth value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:LOOPBandwidth + - MEASUrement:CLOCKRecovery:LOOPBandwidth? + ``` + + Info: + - ```` is the global loop bandwidth. + """ + return self._loopbandwidth + + @property + def meanautocalculate(self) -> MeasurementClockrecoveryMeanautocalculate: + """Return the ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate`` command. + + Description: + - This command sets or queries how often the clock is calculated when constant clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:MEANAUTOCalculate {FIRST|EVERY} + - MEASUrement:CLOCKRecovery:MEANAUTOCalculate? + ``` + + Info: + - ``FIRST`` calculates the clock on the first acquisition. + - ``EVERY`` calculates the clock on every acquisition. + """ + return self._meanautocalculate + + @property + def method(self) -> MeasurementClockrecoveryMethod: + """Return the ``MEASUrement:CLOCKRecovery:METHod`` command. + + Description: + - This command sets or queries the global clock recovery method for the measurement. + This will affect measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag + is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:METHod {PLL|CONSTANTCLOCK|EXPLICITCLOCK} + - MEASUrement:CLOCKRecovery:METHod? + ``` + + Info: + - ``PLL`` specifies using the phase locked loop. + - ``CONSTANTCLOCK`` specifies using a constant clock. + - ``EXPLICITCLOCK`` specifies using an explicit clock. + """ + return self._method + + @property + def model(self) -> MeasurementClockrecoveryModel: + """Return the ``MEASUrement:CLOCKRecovery:MODel`` command. + + Description: + - This command sets or queries the global phase locked loop (PLL) clock recovery model + used when PLL clock recovery is used for the measurement. This will affect + measurements whose ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:MODel?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery:MODel?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:MODel value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:MODel {TYPE} + - MEASUrement:CLOCKRecovery:MODel? + ``` + + Info: + - ``TYPE1`` PLL clock recovery uses PLL model type I. + - ``TYPE2`` PLL clock recovery uses PLL model type II. + """ + return self._model + + @property + def nominaloffset(self) -> MeasurementClockrecoveryNominaloffset: + """Return the ``MEASUrement:CLOCKRecovery:NOMINALOFFset`` command. + + Description: + - This command sets or queries the global offset value used when explicit clock recovery + is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:NOMINALOFFset value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:NOMINALOFFset + - MEASUrement:CLOCKRecovery:NOMINALOFFset? + ``` + + Info: + - ```` is the global clock offset. + + Sub-properties: + - ``.selectiontype``: The ``MEASUrement:CLOCKRecovery:NOMINALOFFset:SELECTIONtype`` + command. + """ + return self._nominaloffset + + @property + def standard(self) -> MeasurementClockrecoveryStandard: + """Return the ``MEASUrement:CLOCKRecovery:STAndard`` command. + + Description: + - This command sets or queries the global communications standard used when PLL clock + recovery is used for the measurement. This will affect measurements whose + ``:MEASUrement:MEAS:CLOCKRecovery:GLOBal`` flag is set to 1. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery:STAndard?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CLOCKRecovery:STAndard?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CLOCKRecovery:STAndard value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CLOCKRecovery:STAndard {CUSTom|ENET100|FW1394BS400B|FW1394BS800B|FW1394BS1600B|FBD1|FBD2|FBD3|FC133|FC266|FC531|FC1063|FC2125|FC4250|FC8500|ENET1000|IBA2500|IBA_GEN2|OC1|OC3|OC12|OC48|PCIE_GEN1|PCIE_GEN2|PCIE_GEN3|RIO125|RIO250|RIO3125|SAS15_NOSSC|SAS3_NOSSC|SAS6_NOSSC|SAS12_NOSSC|SAS15_SSC|SAS3_SSC|SAS6_SSC|SAS12_SSC|SATA_GEN1|SATA_GEN2|SATA_GEN3|USB3|XAUI|XAUI_GEN2} + - MEASUrement:CLOCKRecovery:STAndard? + ``` + + Info: + - ``CUSTom`` sets a custom standard. + - ``ENET100`` sets the standard to ENET100. + - ``FW1394BS400B`` sets the standard to FW1394BS400B. + - ``FW1394BS800B`` sets the standard to FW1394BS800B. + - ``FW1394BS1600B`` sets the standard to FW1394BS1600B. + - ``FBD1`` sets the standard to FBD1. + - ``FBD2`` sets the standard to FBD2. + - ``FBD3`` sets the standard to FBD3. + - ``FC133`` sets the standard to FC133. + - ``FC266`` sets the standard to FC266. + - ``FC531`` sets the standard to FC531. + - ``FC1063`` sets the standard to FC1063. + - ``FC2125`` sets the standard to FC2125. + - ``FC4250`` sets the standard to FC4250. + - ``FC8500`` sets the standard to FC8500. + - ``ENET1000`` sets the standard to ENET1000. + - ``IBA2500`` sets the standard to IBA2500. + - ``IBA_GEN2`` sets the standard to ``IBA_GEN2``. + - ``OC1`` sets the standard to OC1. + - ``OC3`` sets the standard to OC3. + - ``OC12`` sets the standard to OC12. + - ``OC48`` sets the standard to OC48. + - ``PCIE_GEN1`` sets the standard to ``PCIE_GEN1``. + - ``PCIE_GEN2`` sets the standard to ``PCIE_GEN2``. + - ``PCIE_GEN3`` sets the standard to ``PCIE_GEN3``. + - ``RIO125`` sets the standard to RIO125. + - ``RIO250`` sets the standard to RIO250. + - ``RIO3125`` sets the standard to RIO3125. + - ``SAS15_NOSSC`` sets the standard to ``SAS15_NOSSC``. + - ``SAS3_NOSSC`` sets the standard to ``SAS3_NOSSC``. + - ``SAS6_NOSSC`` sets the standard to ``SAS6_NOSSC``. + - ``SAS12_NOSSC`` sets the standard to ``SAS12_NOSSC``. + - ``SAS15_SSC`` sets the standard to ``SAS15_SSC``. + - ``SAS3_SSC`` sets the standard to ``SAS3_SSC``. + - ``SAS6_SSC`` sets the standard to ``SAS6_SSC``. + - ``SAS12_SSC`` sets the standard to ``SAS12_SSC``. + - ``SATA_GEN1`` sets the standard to ``SATA_GEN1``. + - ``SATA_GEN2`` sets the standard to ``SATA_GEN2``. + - ``SATA_GEN3`` sets the standard to ``SATA_GEN3``. + - ``USB3`` sets the standard to USB3. + - ``XAUI`` sets the standard to XAUI. + - ``XAUI_GEN2`` sets the standard to ``XAUI_GEN2``. + """ # noqa: E501 + return self._standard + + +class MeasurementChannelReflevelsPercentType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:TYPE`` command. + + Description: + - This command specifies or queries the reference level percent type for the measurement. + The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:PERCent:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:CH:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``TENNinety`` specifies reference levels at the 10 and 90% levels. + - ``TWENtyeighty`` specifies reference levels at the 20 and 80% levels. + - ``CUSTom`` specifies custom reference levels. + """ + + +class MeasurementChannelReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the rising edge when the measurement + ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:RISEMid + - MEASUrement:CH:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementChannelReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the rising edge when the measurement + ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:RISELow + - MEASUrement:CH:REFLevels:PERCent:RISELow? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementChannelReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the rising edge when the measurement + ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:RISEHigh + - MEASUrement:CH:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementChannelReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 100% is equal to MAX and 0% is equal to + MIN) used to calculate the hysteresis of the reference level when the measurement ref + level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:HYSTeresis + - MEASUrement:CH:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ```` is the hysteresis value used for the autoset. + """ + + +class MeasurementChannelReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the mid reference level of the falling edge when the source ref + level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:FALLMid + - MEASUrement:CH:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + + +class MeasurementChannelReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the low reference level of the falling edge when the source ref + level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:FALLLow + - MEASUrement:CH:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the low + reference level when the measurement Ref level method is set to Percent. + """ + + +class MeasurementChannelReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal to + BASE) used to calculate the high reference level of the falling edge when the source ref + level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:FALLHigh + - MEASUrement:CH:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementChannelReflevelsPercent(SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH:REFLevels:PERCent?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:CH:REFLevels:PERCent:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementChannelReflevelsPercentFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementChannelReflevelsPercentFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementChannelReflevelsPercentFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementChannelReflevelsPercentHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementChannelReflevelsPercentRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementChannelReflevelsPercentRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementChannelReflevelsPercentRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementChannelReflevelsPercentType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementChannelReflevelsPercentFallhigh: + """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the falling edge when the + source ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:FALLHigh + - MEASUrement:CH:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementChannelReflevelsPercentFalllow: + """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the falling edge when the source + ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:FALLLow + - MEASUrement:CH:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the low + reference level when the measurement Ref level method is set to Percent. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementChannelReflevelsPercentFallmid: + """Return the ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the falling edge when the source + ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:FALLMid + - MEASUrement:CH:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementChannelReflevelsPercentHysteresis: + """Return the ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the percentage (where 100% is equal to MAX and 0% is + equal to MIN) used to calculate the hysteresis of the reference level when the + measurement ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:HYSTeresis + - MEASUrement:CH:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ```` is the hysteresis value used for the autoset. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementChannelReflevelsPercentRisehigh: + """Return the ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the high reference level of the rising edge when the + measurement ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:RISEHigh + - MEASUrement:CH:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the high + reference level when the measurement's Ref level method is set to Percent. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementChannelReflevelsPercentRiselow: + """Return the ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the low reference level of the rising edge when the + measurement ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:RISELow + - MEASUrement:CH:REFLevels:PERCent:RISELow? + ``` + + Info: + - ```` is the percentage (where 100% is equal to TOP) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementChannelReflevelsPercentRisemid: + """Return the ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the percentage (where 99% is equal to TOP and 1% is equal + to BASE) used to calculate the mid reference level of the rising edge when the + measurement ref level method is set to percent. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:RISEMid + - MEASUrement:CH:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ```` is the percentage (where 50% is equal to MID) used to calculate the mid + reference level when the measurement's Ref level method is set to Percent. + """ + return self._risemid + + @property + def type(self) -> MeasurementChannelReflevelsPercentType: + """Return the ``MEASUrement:CH:REFLevels:PERCent:TYPE`` command. + + Description: + - This command specifies or queries the reference level percent type for the + measurement. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - MEASUrement:CH:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``TENNinety`` specifies reference levels at the 10 and 90% levels. + - ``TWENtyeighty`` specifies reference levels at the 20 and 80% levels. + - ``CUSTom`` specifies custom reference levels. + """ + return self._type + + +class MeasurementChannelReflevelsMethod(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:METHod?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH:REFLevels:METHod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:CH:REFLevels:METHod? + ``` + + Info: + - ``PERCent`` specifies percent reference level units. + - ``ABSolute`` specifies absolute reference level units. + """ + + +class MeasurementChannelReflevelsBasetop(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE, used to + calculate reference levels for the measurement. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:BASETop?`` + query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH:REFLevels:BASETop?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:CH:REFLevels:BASETop? + ``` + + Info: + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean BASE + and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode BASE + and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram BASE + and TOP. + """ + + +class MeasurementChannelReflevelsAbsoluteType(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the source. The channel number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:ABSolute:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:CH:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``SAME`` specifies that the absolute reference levels for the specified measurement + channel are the same. + - ``UNIQue`` specifies that the absolute reference levels for the specified measurement + channel are not the same. + """ + + +class MeasurementChannelReflevelsAbsoluteRisemid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising edge + when the source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:RISEMid + - MEASUrement:CH:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ```` is the mid reference level of the rising edge when the source ref level method + is set to absolute. + """ + + +class MeasurementChannelReflevelsAbsoluteRiselow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising edge + when the source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:RISELow + - MEASUrement:CH:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ```` is the low reference level of the rising edge when the source ref level method + is set to absolute. + """ + + +class MeasurementChannelReflevelsAbsoluteRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising edge + when the source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:RISEHigh + - MEASUrement:CH:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ```` is the high reference level of the rising edge when the source ref level method + is set to absolute. + """ + + +class MeasurementChannelReflevelsAbsoluteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when the + source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:HYSTeresis + - MEASUrement:CH:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ```` is the hysteresis value used for autoset. + """ + + +class MeasurementChannelReflevelsAbsoluteFallmid(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling edge + when the source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:FALLMid + - MEASUrement:CH:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ```` is the mid reference level used to calculate the mid reference level when the + measurement's Ref level method is set to Absolute. + """ + + +class MeasurementChannelReflevelsAbsoluteFalllow(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling edge + when the source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:FALLLow + - MEASUrement:CH:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + + +class MeasurementChannelReflevelsAbsoluteFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the source ref level method is set to absolute. The channel number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:FALLHigh + - MEASUrement:CH:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + + +# pylint: disable=too-many-instance-attributes +class MeasurementChannelReflevelsAbsolute(SCPICmdRead): + """The ``MEASUrement:CH:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:CH:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:CH:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:CH:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:CH:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:CH:REFLevels:ABSolute:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = MeasurementChannelReflevelsAbsoluteFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = MeasurementChannelReflevelsAbsoluteFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = MeasurementChannelReflevelsAbsoluteFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = MeasurementChannelReflevelsAbsoluteHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = MeasurementChannelReflevelsAbsoluteRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = MeasurementChannelReflevelsAbsoluteRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = MeasurementChannelReflevelsAbsoluteRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = MeasurementChannelReflevelsAbsoluteType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> MeasurementChannelReflevelsAbsoluteFallhigh: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the falling + edge when the source ref level method is set to absolute. The channel number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:FALLHigh + - MEASUrement:CH:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + return self._fallhigh + + @property + def falllow(self) -> MeasurementChannelReflevelsAbsoluteFalllow: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the falling + edge when the source ref level method is set to absolute. The channel number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:FALLLow + - MEASUrement:CH:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ```` is the high reference level, and is the zero percent level when + ``MEASUrement:IMMed:REFLevel:METHod`` is set to Absolute. + """ + return self._falllow + + @property + def fallmid(self) -> MeasurementChannelReflevelsAbsoluteFallmid: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the falling + edge when the source ref level method is set to absolute. The channel number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:FALLMid + - MEASUrement:CH:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ```` is the mid reference level used to calculate the mid reference level when + the measurement's Ref level method is set to Absolute. + """ + return self._fallmid + + @property + def hysteresis(self) -> MeasurementChannelReflevelsAbsoluteHysteresis: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the value of the hysteresis of the reference level when + the source ref level method is set to absolute. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:HYSTeresis + - MEASUrement:CH:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ```` is the hysteresis value used for autoset. + """ + return self._hysteresis + + @property + def risehigh(self) -> MeasurementChannelReflevelsAbsoluteRisehigh: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the value used as the high reference level of the rising + edge when the source ref level method is set to absolute. The channel number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:RISEHigh + - MEASUrement:CH:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ```` is the high reference level of the rising edge when the source ref level + method is set to absolute. + """ + return self._risehigh + + @property + def riselow(self) -> MeasurementChannelReflevelsAbsoluteRiselow: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the value used as the low reference level of the rising + edge when the source ref level method is set to absolute. The channel number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:RISELow + - MEASUrement:CH:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ```` is the low reference level of the rising edge when the source ref level + method is set to absolute. + """ + return self._riselow + + @property + def risemid(self) -> MeasurementChannelReflevelsAbsoluteRisemid: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the value used as the mid reference level of the rising + edge when the source ref level method is set to absolute. The channel number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:RISEMid + - MEASUrement:CH:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ```` is the mid reference level of the rising edge when the source ref level + method is set to absolute. + """ + return self._risemid + + @property + def type(self) -> MeasurementChannelReflevelsAbsoluteType: + """Return the ``MEASUrement:CH:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the reference level type for the source. The channel + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - MEASUrement:CH:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``SAME`` specifies that the absolute reference levels for the specified measurement + channel are the same. + - ``UNIQue`` specifies that the absolute reference levels for the specified measurement + channel are not the same. + """ + return self._type + + +class MeasurementChannelReflevels(SCPICmdRead): + """The ``MEASUrement:CH:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH:REFLevels?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.absolute``: The ``MEASUrement:CH:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:CH:REFLevels:BASETop`` command. + - ``.method``: The ``MEASUrement:CH:REFLevels:METHod`` command. + - ``.percent``: The ``MEASUrement:CH:REFLevels:PERCent`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = MeasurementChannelReflevelsAbsolute(device, f"{self._cmd_syntax}:ABSolute") + self._basetop = MeasurementChannelReflevelsBasetop(device, f"{self._cmd_syntax}:BASETop") + self._method = MeasurementChannelReflevelsMethod(device, f"{self._cmd_syntax}:METHod") + self._percent = MeasurementChannelReflevelsPercent(device, f"{self._cmd_syntax}:PERCent") + + @property + def absolute(self) -> MeasurementChannelReflevelsAbsolute: + """Return the ``MEASUrement:CH:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:CH:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:CH:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:CH:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:CH:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:CH:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:CH:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``MEASUrement:CH:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``MEASUrement:CH:REFLevels:ABSolute:TYPE`` command. + """ + return self._absolute + + @property + def basetop(self) -> MeasurementChannelReflevelsBasetop: + """Return the ``MEASUrement:CH:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the method used to calculate the TOP and BASE, used to + calculate reference levels for the measurement. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:BASETop?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:BASETop?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - MEASUrement:CH:REFLevels:BASETop? + ``` + + Info: + - ``AUTO`` automatically chooses a reference level method. + - ``MINMax`` specifies that reference levels are relative to the measurement MIN and + MAX. + - ``MEANhistogram`` specifies that reference levels are relative to the histogram mean + BASE and TOP. + - ``MODEhistogram`` specifies that reference levels are relative to the histogram mode + BASE and TOP. + - ``EYEhistogram`` specifies that reverence levels are relative to the eye histogram + BASE and TOP. + """ # noqa: E501 + return self._basetop + + @property + def method(self) -> MeasurementChannelReflevelsMethod: + """Return the ``MEASUrement:CH:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method used to calculate reference levels for the + measurement. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:METHod?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:METHod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``MEASUrement:CH:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - MEASUrement:CH:REFLevels:METHod {PERCent|ABSolute} + - MEASUrement:CH:REFLevels:METHod? + ``` + + Info: + - ``PERCent`` specifies percent reference level units. + - ``ABSolute`` specifies absolute reference level units. + """ + return self._method + + @property + def percent(self) -> MeasurementChannelReflevelsPercent: + """Return the ``MEASUrement:CH:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``MEASUrement:CH:REFLevels:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``MEASUrement:CH:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``MEASUrement:CH:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``MEASUrement:CH:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``MEASUrement:CH:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``MEASUrement:CH:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``MEASUrement:CH:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``MEASUrement:CH:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``MEASUrement:CH:REFLevels:PERCent:TYPE`` command. + """ + return self._percent + + +class MeasurementChannel(ValidatedChannel, SCPICmdRead): + """The ``MEASUrement:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.reflevels``: The ``MEASUrement:CH:REFLevels`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reflevels = MeasurementChannelReflevels(device, f"{self._cmd_syntax}:REFLevels") + + @property + def reflevels(self) -> MeasurementChannelReflevels: + """Return the ``MEASUrement:CH:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH:REFLevels?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.absolute``: The ``MEASUrement:CH:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:CH:REFLevels:BASETop`` command. + - ``.method``: The ``MEASUrement:CH:REFLevels:METHod`` command. + - ``.percent``: The ``MEASUrement:CH:REFLevels:PERCent`` command tree. + """ + return self._reflevels + + +class MeasurementAutoset(SCPICmdWrite): + """The ``MEASUrement:AUTOset`` command. + + Description: + - This command performs an analysis jitter autoset. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:AUTOset value`` command. + + SCPI Syntax: + ``` + - MEASUrement:AUTOset {EXECute|THREEPHASEAUTOset|WBGPREset|DPMAutoset|DPMPReset} + ``` + + Info: + - ``EXECute`` performs an analysis jitter autoset. + - ``THREEPHASEAUTOset`` performs an IMDA 3 phase autoset. + - ``WBGPREset`` performs a measurement specific preset. Requires a WBG-DPT license. + - ``DPMAutoset`` performs a power rail autoset. Requires option 5-DPM (5 Series MSO + instruments) or 6-DPM (6 Series MSO instrument). + - ``DPMPReset`` performs a power rail preset. Requires option 5-DPM (5 Series MSO + instruments) or 6-DPM (6 Series MSO instrument). + """ + + +class MeasurementAnnotate(SCPICmdWrite, SCPICmdRead): + """The ``MEASUrement:ANNOTate`` command. + + Description: + - This command sets or queries the annotation state for measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:ANNOTate?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:ANNOTate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:ANNOTate value`` command. + + SCPI Syntax: + ``` + - MEASUrement:ANNOTate {OFF|AUTO} + - MEASUrement:ANNOTate? + ``` + + Info: + - ``OFF`` turns off measurement annotations. + - ``AUTO`` turns on visible measurement annotations. + """ + + +class MeasurementAddnew(SCPICmdWrite): + """The ``MEASUrement:ADDNew`` command. + + Description: + - This command adds the specified measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:ADDNew value`` command. + + SCPI Syntax: + ``` + - MEASUrement:ADDNew 'QString' + ``` + + Info: + - ``'QString'`` is the measurement to add. The argument is of the form 'MEAS' where NR1 + ≥ 1. + """ + + +class MeasurementAddmeas(SCPICmdWrite): + """The ``MEASUrement:ADDMEAS`` command. + + Description: + - This command adds a measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:ADDMEAS value`` command. + + SCPI Syntax: + ``` + - MEASUrement:ADDMEAS {ACCOMMONMODE|ACRMS|AMPlITUDE|AREA|BASE|BITAMPLITUDE|BITHIGH|BITLOW|BURSTWIDTH|COMMONMODE|CCJITTER|DATARATE|DCD|DDJ|DDRAOS|DDRAOSPERTCK|DDRAOSPERUI|DDRAUS|DDRAUSPERTCK|DDRAUSPERUI|DDRHOLDDIFF|DDRSETUPDIFF|DDRTCHABS|DDRTCHAVERAGE|DDRTCKAVERAGE|DDRTCLABS|DDRTCLAVERAGE|DDRTERRMN|DDRTERRN|DDRTJITCC|DDRTJITDUTY|DDRTJITPER|DDRTPST|DDRTRPRE|DDRTWPRE|DDRVIXAC|DDRTDQSCK|DELAY|DJ|DJDIRAC|EYEHIGH|EYELOW|FALLSLEWRATE|FALLTIME|FREQUENCY|F2|F4|F8|HEIGHT|HEIGHTBER|HIGH|HIGHTIME|HOLD|IMDAPOWERQUALITY|IMDAHARMONICS|IMDAINPUTVOLTAGE|IMDAINPUTCURRENT|IMDAINPUTPOWER|IMDAPHASORDIAGRAM|IMDAEFFICIENCY|IMDALINERIPPLE|IMDASWITCHRIPPLE|IMDADQ0|JITTERSUMMARY|J2|J9|LOW|LOWTIME|MAXIMUM|MEAN|MINIMUM|NDUty|NOVERSHOOT|NPERIOD|NPJ|NWIDTTH|PDUTY|PERIOD|PHASE|PHASENOISE|PJ|PK2Pk|POVERSHOOT|PWIDTH|QFACTOR|RISESLEWRATE|RISETIME|RJ|RJDIRAC|RMS|SETUP|SKEW|SRJ|SSCFREQDEV|SSCMODRATE|TIE|TIMEOUTSIDELEVEL|TIMETOMAX|TIMETOMIN|TJBER|TNTRATIO|TOP|UNITINTERVAL|VDIFFXOVR|WIDTH|WIDTHBER} + ``` + + Info: + - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage of + two sources. This measurement is made across the entire record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``ACRMS`` (AC RMS) is the true Root Mean Square of the data points, about the Mean. This + measurement can be made across the entire record, or on each cycle in the record. + - ``AMPLITUDE`` is the difference between the Top value and the Base value. This measurement + can be made across the entire record, or on each cycle in the record. + - ``Amplitude = High - Low`` + - ``AREA`` is the area under the curve, calculated by integrating the data points. The area + measured above ground is positive. The area measured below ground is negative. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BASE`` is the most common data value below the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BITAMPLITUDE`` (Bit Amplitude) is the difference between the amplitudes of the 1 bit and + the 0 bit surrounding a transition. The amplitude is measured over a user specified + portion at the center of the recovered unit interval. This measurement is made on each + transition bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITHIGH`` (Bit High) is the amplitude of a 1 bit. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is made + on each high bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITLOW`` (Bit Low) is the amplitude of a 0 bit. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is made + on each high bit in the record (Mean) or across the entire record (Mode). This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BURSTWIDTH`` (Burst Width) is the duration of a series of adjacent crossings of the Mid + reference level (RM). Bursts are separated by a user-defined idle time (tI). This + measurement is made on each burst in the record. + - ``COMMONMODE`` (DC Common Mode) is the arithmetic mean of the common mode voltage of two + sources. This measurement is made across the entire record. This measurement requires the + DJA option and is not available on a 4 Series MSO instrument. + - ``CCJITTER`` (Cycle-to-Cycle jitter) measures how much the clock period changes between + any two adjacent cycles. Cycle-to-Cycle jitter is measured by applying a first order + difference operation to the period jitter. + - ``DATARATE`` (Data Rate) is the reciprocal of Unit Interval. This measurement is made on + each bit in the record. + - ``DCD`` (duty cycle distortion) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the signal polarity. This measurement is made across + the entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``DDJ`` (data dependent jitter) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the data pattern in the waveform. This measurement is + made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``DDRAOS`` (area above signal) is the total area of the signal above a specified reference + level. This measurement is made across the entire record. + - ``DDRAOSPERTCK`` (area over signal for tCK events) is the total area of the signal above a + specified reference level calculated over consecutive tCK intervals. It is applicable to + clock and address/command waveforms. + - ``DDRAOSPERUI`` (area over signal for UI events) is the total area of the signal above a + specified reference level calculated over consecutive unit intervals. It is applicable to + data and data strobe waveforms. + - ``DDRAUS`` (area under signal) is the total area of the signal below a specified reference + level. This measurement is made across the entire record. + - ``DDRAUSPERTCK`` (area under signal for tCK events) is the total area of the signal below + a specified reference level calculated over consecutive tCK intervals. It is applicable to + clock and address/command waveforms. + - ``DDRAUSPERUI`` (area under signal for UI events) is the total area of the signal below a + specified reference level calculated over consecutive unit intervals. It is applicable to + data and data strobe waveforms. + - ``DDRHOLDDIFF`` (hold difference) is the elapsed time between the specified edge of a + single-ended clock waveform and the specified edge of a differential data waveform. The + measurement uses the closest respective waveform edges that fall within the range + limits.This measurement is made across the entire record. + - ``DDRSETUPDIFF`` (setup difference) is the elapsed time between the specified edge of a + single-ended clock waveform and when the specified edge of a differential data waveform + crosses a specified level. The measurement uses the closest respective waveform edges that + fall within the range limits. This measurement is made across the entire record. + - ``DDRTCHABS`` (absolute high pulse width) is the absolute value of the high pulse width as + measured from one rising edge to the next falling edge. + - ``DDRTCHAVERAGE`` (average high pulse width) is the average value of the high pulse width + as measured from one rising edge to the next falling edge, across 200 consecutive cycles. + This measurement is made across the entire record. + - ``DDRTCKAVERAGE`` (average clock period) is the average clock period calculated from + rising edge to rising edge, across 200 consecutive cycles. This measurement is made across + the entire record. + - ``DDRTCLABS`` (absolute low pulse width) is the absolute value of the low pulse width as + measured from a falling edge to the next rising edge. This measurement is made across the + entire record. + - ``DDRTCLAVERAGE`` (average low pulse width) is the average value of the low pulse width as + measured from one falling edge to the next rising edge, across 200 consecutive cycles. + - ``DDRTERRMN`` (cumulative error) is the cumulative error across multiple consecutive + defined cycles from tCK(avg). + - ``DDRTERRN`` (cumulative error) is the cumulative error across specified consecutive + cycles from tCK(avg). In other words, this measures the time difference between the sum of + the clock period from a 200 cycle window and n times tCK(avg). + - ``DDRTJITCC`` (cycle to cycle jitter period) is the absolute difference in clock period + between two consecutive clock cycles. This measurement is made across the entire record. + - ``DDRTJITDUTY`` (half period jitter) is the largest elapsed time between tCH and tCH(avg), + and tCL and tCL(avg), over 200 consecutive cycles. + - ``DDRTJITPER`` (clock period jitter) is the largest deviation of any tCK signal from + tCK(avg). This measurement is made across the entire record. + - ``DDRTPST`` (read/write burst postamble) is the width of the Read or Write burst + postamble, measured from the last falling edge of the mid reference level to the start of + an undriven state. This measurement is made across the entire record. + - ``DDRTRPRE`` (read burst preamble) is the width of the Read burst preamble, measured from + exiting tristate levels to the first driving edge of the differential strobe. This + measurement is made across the entire record. + - ``DDRTWPRE`` is the width of the Write burst preamble, measured from exiting tristate + levels to the first driving edge of the differential strobe. This measurement is made + across the entire record. + - ``DDRVIXAC`` is the differential input cross-point voltage measured from the true state + transition (and it's compliment) to a specified reference level, measured on a + single-ended signal. + - ``DDRTDQSCK`` is the strobe output access time, measured between the rising edge of the + clock and before or after the differential strobe Read preamble time. Signal edges are + determined by the mid-ref threshold level settings. + - ``DELay`` is the time between the specified Mid reference level (RM) crossing on one + source to a specified Mid reference level (RM) crossing on a second source. This + measurement is made on the first occurrence in the record. + - ``DJ`` (deterministic jitter) is the peak-to-peak amplitude of all timing errors that + exhibit deterministic behavior. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``DJDIRAC`` (dual-dirac deterministic jitter) is deterministic jitter based on a + simplifying assumption that the histogram of all deterministic jitter can be modeled as a + pair of equal-magnitude Dirac functions. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``EYEHIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit in + the record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``EYELOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each low bit in + the record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``FALLSLEWRATE`` (Falling Slew Rate) is the rate of change in voltage as an edge + transitions from the Top reference level (RT) to the Bottom reference level (RB). This + measurement is made on each cycle in the record. + - ``FALLTIME`` (Fall Time) is the time required for an edge to fall from the Top reference + level (RT) to the Base reference level (RB). This measurement is made on each cycle in the + record. + - ``FREQuency`` is the reciprocal of Period. This measurement is made on each cycle in the + record. + - ``F2`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 2. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F4`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 4. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F8`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 8. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit in + the record. + - ``HEIGHT`` (Eye Height) is the minimum vertical eye opening at the center of the recovered + unit interval. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HEIGHTBER`` (Eye Height@BER) is the predicted vertical eye opening that will be violated + with a probability equal to the bit error rate. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``HIGHTIME`` (High Time) is the time the signal remains above the Top reference level + (RT). This measurement is made on each cycle in the record. + - ``HOLD`` (Hold Time) is the time between the specified Mid reference level crossing (RM) + on the Clock source to the closest specified Mid reference level (RM) crossing on the Data + source. This measurement is made on each specified Clock edge in the record. + - ``IMDAPOWERQUALITY`` measures the operating Frequency, RMS values of the voltage and + current, Crest Factors of the voltage and current, Real Power, Reactive Power, Apparent + Power, Power Factor, and Phase Angle of the AC signal. Plots the Phasor diagram. This + measurement requires the IMDA option. + - ``IMDAHARMONICS`` measures the signal amplitudes at the fundamental line frequency and its + harmonics. Measures the RMS amplitude and Total Harmonic Distortion of the signal. Plots + the Harmonics Bar Graph. This measurement requires the IMDA option. + - ``IMDAINPUTVOLTAGE`` measures the RMS value of the input voltage for all phases based on + the configured wiring. This measurement requires the IMDA option. + - ``IMDAINPUTCURRENT`` measures the RMS value of the input current for all phases based on + the configured wiring. This measurement requires the IMDA option. + - ``IMDAINPUTPOWER`` measures the RMS and peak-to-peak values of the AC signal. This + measurement requires the IMDA option. + - ``IMDAPHASORDIAGRAM`` plots Vrms and Irms and phase angles between voltage(s) and + current(s) per winding pair. This measurement requires the IMDA option. + - ``IMDAEFFICIENCY`` measures the ratio of output power to input power per phase for a AC + input and Drive output. Measures the total efficiency of the system. This measurement + requires the IMDA option. + - ``IMDALINERIPPLE`` measures the RMS value of the input power for all phases based on the + configured wiring. Measures the True / Apparent / Reactive Power for all the phases. This + measurement requires the IMDA option. + - ``IMDASWITCHRIPPLEJITTERSUMMARY`` measures the RMS and peak-to-peak values of the + switching signal. This measurement requires the IMDA option. + - ``IMDADQ0`` measures the DQ0 values of the phasor plot. This measurement requires options + IMDA and IMDA-DQ0. + - ``JITTERSUMMARY`` (Jitter Summary) is a group consisting of the following measurements: + TIE, TJ@BER, Eye Width@BER, Eye Height@BER, RJ-δδ, DJ-δδ, PJ, DDJ, DcD, F/2, F/4, F/8. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``J2`` is the total jitter at a bit error rate of 2.5e-3 (TJ@2.5e-3). This measurement is + made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``J9`` is the total jitter at a bit error rate of 2.5e-10 (TJ@2.5e-10). This measurement + is made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``LOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified location + within the recovered unit interval. This measurement is made on each low bit in the + record. + - ``LOWTIME`` (Low Time) is the time the signal remains below the Base reference level (RB). + This measurement is made on each cycle in the record. + - ``MAXimum`` is the maximum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``MEAN`` is the arithmetic mean of the data points. This measurement can be made across + the entire record, or on each cycle in the record. + - ``MINImum`` is the minimum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``NDUty`` (Negative Duty Cycle) is the ratio of the Negative Pulse Width to the Period. + This measurement is made on each cycle in the record. + - ``Negative Duty Cycle = (Negative Width) / Period × 100%`` + - ``NPERIOD`` (Duration N-Periods) is the time required to complete N cycles. A cycle is the + time between two adjacent (same direction) crossings of the Mid reference level (RM). This + measurement is made on each cycle in the record. + - ``NPJ`` (non-periodic jitter) is the portion of the BUJ (bounded uncorrelated jitter) that + is random. BUJ excludes DDJ, DCD and RJ. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``NOVershoot`` (Negative Overshoot) is the difference between Minimum and Base, divided by + the Amplitude. This measurement can be made across the entire record, or on each cycle in + the record. + - ``Negative Overshoot = (Base - Minimum) / Amplitude × 100%)`` + - ``NWIdth`` (Negative Pulse Width) is the time the signal remains below the Mid reference + level (RM). This measurement is made on each cycle in the record. + - ``PDUTY`` (Positive Duty Cycle) is the ratio of the Positive Pulse Width to the Period. + This measurement is made on each cycle in the record. + - ``Positive Duty Cycle = (Positive Width)/Period × 100%`` + - ``PERIOD`` is the time required to complete a cycle. A cycle is the time between two + adjacent (same direction) crossings of the Mid reference level (RM). This measurement is + made on each cycle in the record. + - ``PHASE`` is the ratio of the Skew between two sources to the Period of the first source. + This measurement is made on each cycle in the record. + - ``PHASENOISE`` (Phase Noise) is the RMS magnitude of all integrated jitter falling within + a user specified offset range of the fundamental clock frequency. This measurement is made + across the entire record. This measurement is not available on a 4 Series MSO instrument. + - ``PJ`` (periodic jitter) is the peak-to-peak amplitude of the uncorrelated sinusoidal + components of the deterministic jitter. This measurement is made across the entire record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``PK2Pk`` (Peak-to-peak) is the difference between Maximum and Minimum. This measurement + can be made across the entire record, or on each cycle in the record. + - ``POVERSHOOT`` (Positive Overshoot) is the difference between Maximum and Top, divided by + the Amplitude. This measurement can be made across the entire record, or on each cycle in + the record. + - ``Positive Overshoot = (Maximum - Top) / Amplitude ×100%`` + - ``PWIDTH`` (Positive Pulse Width) is the time the signal remains above the Mid reference + level (RM). This measurement is made on each cycle in the record. + - ``QFACTOR`` (Q-Factor) is the ratio of the vertical eye opening to RMS vertical noise + measured at a user specified location within the recovered unit interval. This measurement + is made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``RISESLEWRATE`` (Rising Slew Rate) is the rate of change in voltage as an edge + transitions from the Base reference level (RB) to the Top reference level (RT). This + measurement is made on each cycle in the record. + - ``RISETIME`` Rise Time is the time required for an edge to rise from the Base reference + level (RB) to the Top reference level (RT). This measurement is made on each cycle in the + record. + - ``RJ`` (random jitter) is the RMS magnitude of all random timing errors following a + Gaussian distribution. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``RJDIRAC`` (dual-dirac random jitter) is random jitter based on a simplifying assumption + that the histogram of all deterministic jitter can be modeled as a pair of equal-magnitude + Dirac functions. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``RMS`` is the true Root Mean Square of the data points. This measurement can be made + across the entire record, or on each cycle in the record. + - ``SRJ`` (sub-rate jitter) is the composite jitter due to periodic components at 1/2, 1/4 + and 1/8 of the data rate. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCFREQDEV`` (SSC Frequency Deviation) is the spread spectrum clock frequency deviation. + This measurement enables a time trend plot of the spread spectrum clock modulation + profile. This measurement is made on each cycle in the record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCMODRATE`` (SSC Modulation Rate) is the modulating frequency of a spread spectrum + clock. This measurement is made on each cycle in the record. This measurement requires the + DJA option and is not available on a 4 Series MSO instrument. + - ``SETUP`` (Setup Time) is the time between the specified Mid reference level (RM) crossing + on the Data source to the closest specified Mid reference level (RM) crossing on the Clock + source. This measurement is made on each specified Clock edge in the record. + - ``SKEW`` Skew is the time between the specified Mid reference level (RM) crossing on one + source to the following specified Mid reference level (RM) crossing on a second source. + This measurement is made on each cycle in the record. + - ``TIE`` (time interval error) is the difference, in time, between an edge in the source + waveform and the corresponding edge in a recovered reference clock. This measurement is + made on each edge in the waveform. This measurement is not available on a 4 Series MSO + instrument. + - ``TIMEOUTSIDELEVEL`` Time Outside Level is the time the signal remains above the Top + reference level (RT) and/or below the Base reference level (RB). This measurement is made + on each occurrence in the record. + - ``TIMETOMAX`` Time to Max is the amount of time from the trigger point to the maximum data + point. This measurement can be made across the entire record or on each cycle in the + record. + - ``TIMETOMIN`` Time to Min is the amount of time from the trigger point to the minimum data + point. This measurement can be made across the entire record or on each cycle in the + record. + - ``TJBER`` (total jitter at a specified bit error rate) is the predicted peak-to-peak + amplitude of jitter that will only be exceeded with a probability equal to the bit error + rate. This measurement is made across the entire record. This measurement requires the DJA + option and is not available on a 4 Series MSO instrument. + - ``TNTRATIO`` T/nT Ratio is the ratio of a non-transition bit voltage (2nd and subsequent + bit voltage after a transition) to its nearest preceding transition bit voltage (1st bit + voltage after the transition). Bit voltages are measured at the interpolated midpoint of + the recovered unit interval. This measurement is made on each non-transition bit in the + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``TOP`` is the most common data value above the midpoint of the waveform. This measurement + can be made across the entire record, or on each cycle in the record. + - ``UNITINTERVAL`` (Unit Interval) is the time difference between two successive bits. This + measurement is made on each bit in the record. + - ``VDIFFXOVR`` (Differential Crossover) is the voltage level of a differential signal pair + at the crossover points. This measurement is made at each crossover point in the record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``WIDTH`` (Eye Width) is the minimum horizontal eye opening at the user specified + reference level. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``WIDTHBER`` (Eye Width@BER) is the predicted horizontal eye opening that will be violated + with a probability equal to the bit error rate. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + """ # noqa: E501 + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class Measurement(SCPICmdRead): + """The ``MEASUrement`` command. + + Description: + - This query-only command returns all measurement parameters. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement? + ``` + + Properties: + - ``.addmeas``: The ``MEASUrement:ADDMEAS`` command. + - ``.addnew``: The ``MEASUrement:ADDNew`` command. + - ``.annotate``: The ``MEASUrement:ANNOTate`` command. + - ``.autoset``: The ``MEASUrement:AUTOset`` command. + - ``.ch``: The ``MEASUrement:CH`` command tree. + - ``.clockrecovery``: The ``MEASUrement:CLOCKRecovery`` command tree. + - ``.deleteall``: The ``MEASUrement:DELETEALL`` command. + - ``.delete``: The ``MEASUrement:DELete`` command. + - ``.diracmodel``: The ``MEASUrement:DIRacmodel`` command. + - ``.displayunits``: The ``MEASUrement:DISPLAYUnits`` command. + - ``.edge``: The ``MEASUrement:EDGE`` command. + - ``.eyerender``: The ``MEASUrement:EYERENDER`` command. + - ``.filters``: The ``MEASUrement:FILTers`` command tree. + - ``.gating``: The ``MEASUrement:GATing`` command. + - ``.highlevel``: The ``MEASUrement:HIGHLEVel`` command tree. + - ``.interp``: The ``MEASUrement:INTERp`` command. + - ``.jittermodel``: The ``MEASUrement:JITTermodel`` command. + - ``.list``: The ``MEASUrement:LIST`` command. + - ``.lockrj``: The ``MEASUrement:LOCKRJ`` command. + - ``.lockrjvalue``: The ``MEASUrement:LOCKRJValue`` command. + - ``.math``: The ``MEASUrement:MATH`` command tree. + - ``.meas``: The ``MEASUrement:MEAS`` command tree. + - ``.measrange``: The ``MEASUrement:MEASRange`` command tree. + - ``.mech``: The ``MEASUrement:MECH`` command tree. + - ``.minui``: The ``MEASUrement:MINUI`` command. + - ``.population``: The ``MEASUrement:POPUlation`` command tree. + - ``.ref``: The ``MEASUrement:REF`` command tree. + - ``.reflevels``: The ``MEASUrement:REFLevels`` command tree. + - ``.results``: The ``MEASUrement:RESUlts`` command tree. + - ``.statistics``: The ``MEASUrement:STATIstics`` command tree. + - ``.wbg``: The ``MEASUrement:WBG`` command tree. + """ + + def __init__( + self, device: Optional["PIDevice"] = None, cmd_syntax: str = "MEASUrement" + ) -> None: + super().__init__(device, cmd_syntax) + self._addmeas = MeasurementAddmeas(device, f"{self._cmd_syntax}:ADDMEAS") + self._addnew = MeasurementAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._annotate = MeasurementAnnotate(device, f"{self._cmd_syntax}:ANNOTate") + self._autoset = MeasurementAutoset(device, f"{self._cmd_syntax}:AUTOset") + self._ch: Dict[int, MeasurementChannel] = DefaultDictPassKeyToFactory( + lambda x: MeasurementChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._clockrecovery = MeasurementClockrecovery(device, f"{self._cmd_syntax}:CLOCKRecovery") + self._deleteall = MeasurementDeleteall(device, f"{self._cmd_syntax}:DELETEALL") + self._delete = MeasurementDelete(device, f"{self._cmd_syntax}:DELete") + self._diracmodel = MeasurementDiracmodel(device, f"{self._cmd_syntax}:DIRacmodel") + self._displayunits = MeasurementDisplayunits(device, f"{self._cmd_syntax}:DISPLAYUnits") + self._edge: Dict[int, MeasurementEdgeItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementEdgeItem(device, f"{self._cmd_syntax}:EDGE{x}") + ) + self._eyerender = MeasurementEyerender(device, f"{self._cmd_syntax}:EYERENDER") + self._filters = MeasurementFilters(device, f"{self._cmd_syntax}:FILTers") + self._gating = MeasurementGating(device, f"{self._cmd_syntax}:GATing") + self._highlevel = MeasurementHighlevel(device, f"{self._cmd_syntax}:HIGHLEVel") + self._interp = MeasurementInterp(device, f"{self._cmd_syntax}:INTERp") + self._jittermodel = MeasurementJittermodel(device, f"{self._cmd_syntax}:JITTermodel") + self._list = MeasurementList(device, f"{self._cmd_syntax}:LIST") + self._lockrj = MeasurementLockrj(device, f"{self._cmd_syntax}:LOCKRJ") + self._lockrjvalue = MeasurementLockrjvalue(device, f"{self._cmd_syntax}:LOCKRJValue") + self._math: Dict[int, MeasurementMathItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementMathItem(device, f"{self._cmd_syntax}:MATH{x}") + ) + self._meas: Dict[int, MeasurementMeasItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementMeasItem(device, f"{self._cmd_syntax}:MEAS{x}") + ) + self._measrange = MeasurementMeasrange(device, f"{self._cmd_syntax}:MEASRange") + self._mech = MeasurementMech(device, f"{self._cmd_syntax}:MECH") + self._minui = MeasurementMinui(device, f"{self._cmd_syntax}:MINUI") + self._population = MeasurementPopulation(device, f"{self._cmd_syntax}:POPUlation") + self._ref: Dict[int, MeasurementRefItem] = DefaultDictPassKeyToFactory( + lambda x: MeasurementRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + self._reflevels = MeasurementReflevels(device, f"{self._cmd_syntax}:REFLevels") + self._results = MeasurementResults(device, f"{self._cmd_syntax}:RESUlts") + self._statistics = MeasurementStatistics(device, f"{self._cmd_syntax}:STATIstics") + self._wbg = MeasurementWbg(device, f"{self._cmd_syntax}:WBG") + + @property + def addmeas(self) -> MeasurementAddmeas: + """Return the ``MEASUrement:ADDMEAS`` command. + + Description: + - This command adds a measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:ADDMEAS value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:ADDMEAS {ACCOMMONMODE|ACRMS|AMPlITUDE|AREA|BASE|BITAMPLITUDE|BITHIGH|BITLOW|BURSTWIDTH|COMMONMODE|CCJITTER|DATARATE|DCD|DDJ|DDRAOS|DDRAOSPERTCK|DDRAOSPERUI|DDRAUS|DDRAUSPERTCK|DDRAUSPERUI|DDRHOLDDIFF|DDRSETUPDIFF|DDRTCHABS|DDRTCHAVERAGE|DDRTCKAVERAGE|DDRTCLABS|DDRTCLAVERAGE|DDRTERRMN|DDRTERRN|DDRTJITCC|DDRTJITDUTY|DDRTJITPER|DDRTPST|DDRTRPRE|DDRTWPRE|DDRVIXAC|DDRTDQSCK|DELAY|DJ|DJDIRAC|EYEHIGH|EYELOW|FALLSLEWRATE|FALLTIME|FREQUENCY|F2|F4|F8|HEIGHT|HEIGHTBER|HIGH|HIGHTIME|HOLD|IMDAPOWERQUALITY|IMDAHARMONICS|IMDAINPUTVOLTAGE|IMDAINPUTCURRENT|IMDAINPUTPOWER|IMDAPHASORDIAGRAM|IMDAEFFICIENCY|IMDALINERIPPLE|IMDASWITCHRIPPLE|IMDADQ0|JITTERSUMMARY|J2|J9|LOW|LOWTIME|MAXIMUM|MEAN|MINIMUM|NDUty|NOVERSHOOT|NPERIOD|NPJ|NWIDTTH|PDUTY|PERIOD|PHASE|PHASENOISE|PJ|PK2Pk|POVERSHOOT|PWIDTH|QFACTOR|RISESLEWRATE|RISETIME|RJ|RJDIRAC|RMS|SETUP|SKEW|SRJ|SSCFREQDEV|SSCMODRATE|TIE|TIMEOUTSIDELEVEL|TIMETOMAX|TIMETOMIN|TJBER|TNTRATIO|TOP|UNITINTERVAL|VDIFFXOVR|WIDTH|WIDTHBER} + ``` + + Info: + - ``ACCOMMONMODE`` AC Common Mode (Pk-Pk) is the peak-to-peak of the common mode voltage + of two sources. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``ACRMS`` (AC RMS) is the true Root Mean Square of the data points, about the Mean. + This measurement can be made across the entire record, or on each cycle in the record. + - ``AMPLITUDE`` is the difference between the Top value and the Base value. This + measurement can be made across the entire record, or on each cycle in the record. + - ``Amplitude = High - Low`` + - ``AREA`` is the area under the curve, calculated by integrating the data points. The + area measured above ground is positive. The area measured below ground is negative. + This measurement can be made across the entire record, or on each cycle in the record. + - ``BASE`` is the most common data value below the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``BITAMPLITUDE`` (Bit Amplitude) is the difference between the amplitudes of the 1 bit + and the 0 bit surrounding a transition. The amplitude is measured over a user + specified portion at the center of the recovered unit interval. This measurement is + made on each transition bit in the record (Mean) or across the entire record (Mode). + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``BITHIGH`` (Bit High) is the amplitude of a 1 bit. The amplitude is measured over a + user specified portion at the center of the recovered unit interval. This measurement + is made on each high bit in the record (Mean) or across the entire record (Mode). This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BITLOW`` (Bit Low) is the amplitude of a 0 bit. The amplitude is measured over a + user specified portion at the center of the recovered unit interval. This measurement + is made on each high bit in the record (Mean) or across the entire record (Mode). This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``BURSTWIDTH`` (Burst Width) is the duration of a series of adjacent crossings of the + Mid reference level (RM). Bursts are separated by a user-defined idle time (tI). This + measurement is made on each burst in the record. + - ``COMMONMODE`` (DC Common Mode) is the arithmetic mean of the common mode voltage of + two sources. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``CCJITTER`` (Cycle-to-Cycle jitter) measures how much the clock period changes + between any two adjacent cycles. Cycle-to-Cycle jitter is measured by applying a first + order difference operation to the period jitter. + - ``DATARATE`` (Data Rate) is the reciprocal of Unit Interval. This measurement is made + on each bit in the record. + - ``DCD`` (duty cycle distortion) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the signal polarity. This measurement is made + across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``DDJ`` (data dependent jitter) is the peak-to-peak amplitude of the component of the + deterministic jitter correlated with the data pattern in the waveform. This + measurement is made across the entire record. This measurement requires the DJA option + and is not available on a 4 Series MSO instrument. + - ``DDRAOS`` (area above signal) is the total area of the signal above a specified + reference level. This measurement is made across the entire record. + - ``DDRAOSPERTCK`` (area over signal for tCK events) is the total area of the signal + above a specified reference level calculated over consecutive tCK intervals. It is + applicable to clock and address/command waveforms. + - ``DDRAOSPERUI`` (area over signal for UI events) is the total area of the signal above + a specified reference level calculated over consecutive unit intervals. It is + applicable to data and data strobe waveforms. + - ``DDRAUS`` (area under signal) is the total area of the signal below a specified + reference level. This measurement is made across the entire record. + - ``DDRAUSPERTCK`` (area under signal for tCK events) is the total area of the signal + below a specified reference level calculated over consecutive tCK intervals. It is + applicable to clock and address/command waveforms. + - ``DDRAUSPERUI`` (area under signal for UI events) is the total area of the signal + below a specified reference level calculated over consecutive unit intervals. It is + applicable to data and data strobe waveforms. + - ``DDRHOLDDIFF`` (hold difference) is the elapsed time between the specified edge of a + single-ended clock waveform and the specified edge of a differential data waveform. + The measurement uses the closest respective waveform edges that fall within the range + limits.This measurement is made across the entire record. + - ``DDRSETUPDIFF`` (setup difference) is the elapsed time between the specified edge of + a single-ended clock waveform and when the specified edge of a differential data + waveform crosses a specified level. The measurement uses the closest respective + waveform edges that fall within the range limits. This measurement is made across the + entire record. + - ``DDRTCHABS`` (absolute high pulse width) is the absolute value of the high pulse + width as measured from one rising edge to the next falling edge. + - ``DDRTCHAVERAGE`` (average high pulse width) is the average value of the high pulse + width as measured from one rising edge to the next falling edge, across 200 + consecutive cycles. This measurement is made across the entire record. + - ``DDRTCKAVERAGE`` (average clock period) is the average clock period calculated from + rising edge to rising edge, across 200 consecutive cycles. This measurement is made + across the entire record. + - ``DDRTCLABS`` (absolute low pulse width) is the absolute value of the low pulse width + as measured from a falling edge to the next rising edge. This measurement is made + across the entire record. + - ``DDRTCLAVERAGE`` (average low pulse width) is the average value of the low pulse + width as measured from one falling edge to the next rising edge, across 200 + consecutive cycles. + - ``DDRTERRMN`` (cumulative error) is the cumulative error across multiple consecutive + defined cycles from tCK(avg). + - ``DDRTERRN`` (cumulative error) is the cumulative error across specified consecutive + cycles from tCK(avg). In other words, this measures the time difference between the + sum of the clock period from a 200 cycle window and n times tCK(avg). + - ``DDRTJITCC`` (cycle to cycle jitter period) is the absolute difference in clock + period between two consecutive clock cycles. This measurement is made across the + entire record. + - ``DDRTJITDUTY`` (half period jitter) is the largest elapsed time between tCH and + tCH(avg), and tCL and tCL(avg), over 200 consecutive cycles. + - ``DDRTJITPER`` (clock period jitter) is the largest deviation of any tCK signal from + tCK(avg). This measurement is made across the entire record. + - ``DDRTPST`` (read/write burst postamble) is the width of the Read or Write burst + postamble, measured from the last falling edge of the mid reference level to the start + of an undriven state. This measurement is made across the entire record. + - ``DDRTRPRE`` (read burst preamble) is the width of the Read burst preamble, measured + from exiting tristate levels to the first driving edge of the differential strobe. + This measurement is made across the entire record. + - ``DDRTWPRE`` is the width of the Write burst preamble, measured from exiting tristate + levels to the first driving edge of the differential strobe. This measurement is made + across the entire record. + - ``DDRVIXAC`` is the differential input cross-point voltage measured from the true + state transition (and it's compliment) to a specified reference level, measured on a + single-ended signal. + - ``DDRTDQSCK`` is the strobe output access time, measured between the rising edge of + the clock and before or after the differential strobe Read preamble time. Signal edges + are determined by the mid-ref threshold level settings. + - ``DELay`` is the time between the specified Mid reference level (RM) crossing on one + source to a specified Mid reference level (RM) crossing on a second source. This + measurement is made on the first occurrence in the record. + - ``DJ`` (deterministic jitter) is the peak-to-peak amplitude of all timing errors that + exhibit deterministic behavior. This measurement is made across the entire record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``DJDIRAC`` (dual-dirac deterministic jitter) is deterministic jitter based on a + simplifying assumption that the histogram of all deterministic jitter can be modeled + as a pair of equal-magnitude Dirac functions. This measurement is made across the + entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``EYEHIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit + in the record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``EYELOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each low bit + in the record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``FALLSLEWRATE`` (Falling Slew Rate) is the rate of change in voltage as an edge + transitions from the Top reference level (RT) to the Bottom reference level (RB). This + measurement is made on each cycle in the record. + - ``FALLTIME`` (Fall Time) is the time required for an edge to fall from the Top + reference level (RT) to the Base reference level (RB). This measurement is made on + each cycle in the record. + - ``FREQuency`` is the reciprocal of Period. This measurement is made on each cycle in + the record. + - ``F2`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 2. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F4`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 4. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``F8`` is the peak-to-peak amplitude of the periodic jitter occurring at a rate of Fb + (data rate) divided by 8. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HIGH`` (Eye High) is the amplitude of a high (1) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each high bit + in the record. + - ``HEIGHT`` (Eye Height) is the minimum vertical eye opening at the center of the + recovered unit interval. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``HEIGHTBER`` (Eye Height@BER) is the predicted vertical eye opening that will be + violated with a probability equal to the bit error rate. This measurement is made + across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``HIGHTIME`` (High Time) is the time the signal remains above the Top reference level + (RT). This measurement is made on each cycle in the record. + - ``HOLD`` (Hold Time) is the time between the specified Mid reference level crossing + (RM) on the Clock source to the closest specified Mid reference level (RM) crossing on + the Data source. This measurement is made on each specified Clock edge in the record. + - ``IMDAPOWERQUALITY`` measures the operating Frequency, RMS values of the voltage and + current, Crest Factors of the voltage and current, Real Power, Reactive Power, + Apparent Power, Power Factor, and Phase Angle of the AC signal. Plots the Phasor + diagram. This measurement requires the IMDA option. + - ``IMDAHARMONICS`` measures the signal amplitudes at the fundamental line frequency and + its harmonics. Measures the RMS amplitude and Total Harmonic Distortion of the signal. + Plots the Harmonics Bar Graph. This measurement requires the IMDA option. + - ``IMDAINPUTVOLTAGE`` measures the RMS value of the input voltage for all phases based + on the configured wiring. This measurement requires the IMDA option. + - ``IMDAINPUTCURRENT`` measures the RMS value of the input current for all phases based + on the configured wiring. This measurement requires the IMDA option. + - ``IMDAINPUTPOWER`` measures the RMS and peak-to-peak values of the AC signal. This + measurement requires the IMDA option. + - ``IMDAPHASORDIAGRAM`` plots Vrms and Irms and phase angles between voltage(s) and + current(s) per winding pair. This measurement requires the IMDA option. + - ``IMDAEFFICIENCY`` measures the ratio of output power to input power per phase for a + AC input and Drive output. Measures the total efficiency of the system. This + measurement requires the IMDA option. + - ``IMDALINERIPPLE`` measures the RMS value of the input power for all phases based on + the configured wiring. Measures the True / Apparent / Reactive Power for all the + phases. This measurement requires the IMDA option. + - ``IMDASWITCHRIPPLEJITTERSUMMARY`` measures the RMS and peak-to-peak values of the + switching signal. This measurement requires the IMDA option. + - ``IMDADQ0`` measures the DQ0 values of the phasor plot. This measurement requires + options IMDA and IMDA-DQ0. + - ``JITTERSUMMARY`` (Jitter Summary) is a group consisting of the following + measurements: TIE, TJ@BER, Eye Width@BER, Eye Height@BER, RJ-δδ, DJ-δδ, PJ, DDJ, DcD, + F/2, F/4, F/8. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``J2`` is the total jitter at a bit error rate of 2.5e-3 (TJ@2.5e-3). This measurement + is made across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``J9`` is the total jitter at a bit error rate of 2.5e-10 (TJ@2.5e-10). This + measurement is made across the entire record. This measurement requires the DJA option + and is not available on a 4 Series MSO instrument. + - ``LOW`` (Eye Low) is the amplitude of a low (0) bit measured at a user specified + location within the recovered unit interval. This measurement is made on each low bit + in the record. + - ``LOWTIME`` (Low Time) is the time the signal remains below the Base reference level + (RB). This measurement is made on each cycle in the record. + - ``MAXimum`` is the maximum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``MEAN`` is the arithmetic mean of the data points. This measurement can be made + across the entire record, or on each cycle in the record. + - ``MINImum`` is the minimum data point. This measurement can be made across the entire + record, or on each cycle in the record. + - ``NDUty`` (Negative Duty Cycle) is the ratio of the Negative Pulse Width to the + Period. This measurement is made on each cycle in the record. + - ``Negative Duty Cycle = (Negative Width) / Period × 100%`` + - ``NPERIOD`` (Duration N-Periods) is the time required to complete N cycles. A cycle is + the time between two adjacent (same direction) crossings of the Mid reference level + (RM). This measurement is made on each cycle in the record. + - ``NPJ`` (non-periodic jitter) is the portion of the BUJ (bounded uncorrelated jitter) + that is random. BUJ excludes DDJ, DCD and RJ. This measurement is made across the + entire record. This measurement requires the DJA option and is not available on a 4 + Series MSO instrument. + - ``NOVershoot`` (Negative Overshoot) is the difference between Minimum and Base, + divided by the Amplitude. This measurement can be made across the entire record, or on + each cycle in the record. + - ``Negative Overshoot = (Base - Minimum) / Amplitude × 100%)`` + - ``NWIdth`` (Negative Pulse Width) is the time the signal remains below the Mid + reference level (RM). This measurement is made on each cycle in the record. + - ``PDUTY`` (Positive Duty Cycle) is the ratio of the Positive Pulse Width to the + Period. This measurement is made on each cycle in the record. + - ``Positive Duty Cycle = (Positive Width)/Period × 100%`` + - ``PERIOD`` is the time required to complete a cycle. A cycle is the time between two + adjacent (same direction) crossings of the Mid reference level (RM). This measurement + is made on each cycle in the record. + - ``PHASE`` is the ratio of the Skew between two sources to the Period of the first + source. This measurement is made on each cycle in the record. + - ``PHASENOISE`` (Phase Noise) is the RMS magnitude of all integrated jitter falling + within a user specified offset range of the fundamental clock frequency. This + measurement is made across the entire record. This measurement is not available on a 4 + Series MSO instrument. + - ``PJ`` (periodic jitter) is the peak-to-peak amplitude of the uncorrelated sinusoidal + components of the deterministic jitter. This measurement is made across the entire + record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``PK2Pk`` (Peak-to-peak) is the difference between Maximum and Minimum. This + measurement can be made across the entire record, or on each cycle in the record. + - ``POVERSHOOT`` (Positive Overshoot) is the difference between Maximum and Top, divided + by the Amplitude. This measurement can be made across the entire record, or on each + cycle in the record. + - ``Positive Overshoot = (Maximum - Top) / Amplitude ×100%`` + - ``PWIDTH`` (Positive Pulse Width) is the time the signal remains above the Mid + reference level (RM). This measurement is made on each cycle in the record. + - ``QFACTOR`` (Q-Factor) is the ratio of the vertical eye opening to RMS vertical noise + measured at a user specified location within the recovered unit interval. This + measurement is made across the entire record. This measurement requires the DJA option + and is not available on a 4 Series MSO instrument. + - ``RISESLEWRATE`` (Rising Slew Rate) is the rate of change in voltage as an edge + transitions from the Base reference level (RB) to the Top reference level (RT). This + measurement is made on each cycle in the record. + - ``RISETIME`` Rise Time is the time required for an edge to rise from the Base + reference level (RB) to the Top reference level (RT). This measurement is made on each + cycle in the record. + - ``RJ`` (random jitter) is the RMS magnitude of all random timing errors following a + Gaussian distribution. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``RJDIRAC`` (dual-dirac random jitter) is random jitter based on a simplifying + assumption that the histogram of all deterministic jitter can be modeled as a pair of + equal-magnitude Dirac functions. This measurement is made across the entire record. + This measurement requires the DJA option and is not available on a 4 Series MSO + instrument. + - ``RMS`` is the true Root Mean Square of the data points. This measurement can be made + across the entire record, or on each cycle in the record. + - ``SRJ`` (sub-rate jitter) is the composite jitter due to periodic components at 1/2, + 1/4 and 1/8 of the data rate. This measurement is made across the entire record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCFREQDEV`` (SSC Frequency Deviation) is the spread spectrum clock frequency + deviation. This measurement enables a time trend plot of the spread spectrum clock + modulation profile. This measurement is made on each cycle in the record. This + measurement requires the DJA option and is not available on a 4 Series MSO instrument. + - ``SSCMODRATE`` (SSC Modulation Rate) is the modulating frequency of a spread spectrum + clock. This measurement is made on each cycle in the record. This measurement requires + the DJA option and is not available on a 4 Series MSO instrument. + - ``SETUP`` (Setup Time) is the time between the specified Mid reference level (RM) + crossing on the Data source to the closest specified Mid reference level (RM) crossing + on the Clock source. This measurement is made on each specified Clock edge in the + record. + - ``SKEW`` Skew is the time between the specified Mid reference level (RM) crossing on + one source to the following specified Mid reference level (RM) crossing on a second + source. This measurement is made on each cycle in the record. + - ``TIE`` (time interval error) is the difference, in time, between an edge in the + source waveform and the corresponding edge in a recovered reference clock. This + measurement is made on each edge in the waveform. This measurement is not available on + a 4 Series MSO instrument. + - ``TIMEOUTSIDELEVEL`` Time Outside Level is the time the signal remains above the Top + reference level (RT) and/or below the Base reference level (RB). This measurement is + made on each occurrence in the record. + - ``TIMETOMAX`` Time to Max is the amount of time from the trigger point to the maximum + data point. This measurement can be made across the entire record or on each cycle in + the record. + - ``TIMETOMIN`` Time to Min is the amount of time from the trigger point to the minimum + data point. This measurement can be made across the entire record or on each cycle in + the record. + - ``TJBER`` (total jitter at a specified bit error rate) is the predicted peak-to-peak + amplitude of jitter that will only be exceeded with a probability equal to the bit + error rate. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``TNTRATIO`` T/nT Ratio is the ratio of a non-transition bit voltage (2nd and + subsequent bit voltage after a transition) to its nearest preceding transition bit + voltage (1st bit voltage after the transition). Bit voltages are measured at the + interpolated midpoint of the recovered unit interval. This measurement is made on each + non-transition bit in the record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + - ``TOP`` is the most common data value above the midpoint of the waveform. This + measurement can be made across the entire record, or on each cycle in the record. + - ``UNITINTERVAL`` (Unit Interval) is the time difference between two successive bits. + This measurement is made on each bit in the record. + - ``VDIFFXOVR`` (Differential Crossover) is the voltage level of a differential signal + pair at the crossover points. This measurement is made at each crossover point in the + record. This measurement requires the DJA option and is not available on a 4 Series + MSO instrument. + - ``WIDTH`` (Eye Width) is the minimum horizontal eye opening at the user specified + reference level. This measurement is made across the entire record. This measurement + requires the DJA option and is not available on a 4 Series MSO instrument. + - ``WIDTHBER`` (Eye Width@BER) is the predicted horizontal eye opening that will be + violated with a probability equal to the bit error rate. This measurement is made + across the entire record. This measurement requires the DJA option and is not + available on a 4 Series MSO instrument. + """ # noqa: E501 + return self._addmeas + + @property + def addnew(self) -> MeasurementAddnew: + """Return the ``MEASUrement:ADDNew`` command. + + Description: + - This command adds the specified measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:ADDNew value`` command. + + SCPI Syntax: + ``` + - MEASUrement:ADDNew 'QString' + ``` + + Info: + - ``'QString'`` is the measurement to add. The argument is of the form 'MEAS' where + NR1 ≥ 1. + """ + return self._addnew + + @property + def annotate(self) -> MeasurementAnnotate: + """Return the ``MEASUrement:ANNOTate`` command. + + Description: + - This command sets or queries the annotation state for measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:ANNOTate?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:ANNOTate?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:ANNOTate value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:ANNOTate {OFF|AUTO} + - MEASUrement:ANNOTate? + ``` + + Info: + - ``OFF`` turns off measurement annotations. + - ``AUTO`` turns on visible measurement annotations. + """ + return self._annotate + + @property + def autoset(self) -> MeasurementAutoset: + """Return the ``MEASUrement:AUTOset`` command. + + Description: + - This command performs an analysis jitter autoset. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:AUTOset value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:AUTOset {EXECute|THREEPHASEAUTOset|WBGPREset|DPMAutoset|DPMPReset} + ``` + + Info: + - ``EXECute`` performs an analysis jitter autoset. + - ``THREEPHASEAUTOset`` performs an IMDA 3 phase autoset. + - ``WBGPREset`` performs a measurement specific preset. Requires a WBG-DPT license. + - ``DPMAutoset`` performs a power rail autoset. Requires option 5-DPM (5 Series MSO + instruments) or 6-DPM (6 Series MSO instrument). + - ``DPMPReset`` performs a power rail preset. Requires option 5-DPM (5 Series MSO + instruments) or 6-DPM (6 Series MSO instrument). + """ + return self._autoset + + @property + def ch(self) -> Dict[int, MeasurementChannel]: + """Return the ``MEASUrement:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.reflevels``: The ``MEASUrement:CH:REFLevels`` command tree. + """ + return self._ch + + @property + def clockrecovery(self) -> MeasurementClockrecovery: + """Return the ``MEASUrement:CLOCKRecovery`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:CLOCKRecovery?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:CLOCKRecovery?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.advanced``: The ``MEASUrement:CLOCKRecovery:ADVanced`` command tree. + - ``.clockfrequency``: The ``MEASUrement:CLOCKRecovery:CLOCKFrequency`` command. + - ``.clockmultiplier``: The ``MEASUrement:CLOCKRecovery:CLOCKMultiplier`` command. + - ``.constclockmode``: The ``MEASUrement:CLOCKRecovery:CONSTCLOCKMODe`` command. + - ``.damping``: The ``MEASUrement:CLOCKRecovery:DAMPing`` command. + - ``.datapath``: The ``MEASUrement:CLOCKRecovery:DATAPath`` command. + - ``.datarate``: The ``MEASUrement:CLOCKRecovery:DATARate`` command. + - ``.explicitclockmode``: The ``MEASUrement:CLOCKRecovery:EXPLICITCLOCKMODe`` command. + - ``.jtfbandwidth``: The ``MEASUrement:CLOCKRecovery:JTFBandwidth`` command. + - ``.loopbandwidth``: The ``MEASUrement:CLOCKRecovery:LOOPBandwidth`` command. + - ``.meanautocalculate``: The ``MEASUrement:CLOCKRecovery:MEANAUTOCalculate`` command. + - ``.method``: The ``MEASUrement:CLOCKRecovery:METHod`` command. + - ``.model``: The ``MEASUrement:CLOCKRecovery:MODel`` command. + - ``.nominaloffset``: The ``MEASUrement:CLOCKRecovery:NOMINALOFFset`` command. + - ``.standard``: The ``MEASUrement:CLOCKRecovery:STAndard`` command. + """ + return self._clockrecovery + + @property + def deleteall(self) -> MeasurementDeleteall: + """Return the ``MEASUrement:DELETEALL`` command. + + Description: + - This command deletes all the active instances of measurements defined in the scope + application. + + Usage: + - Using the ``.write()`` method will send the ``MEASUrement:DELETEALL`` command. + + SCPI Syntax: + ``` + - MEASUrement:DELETEALL + ``` + """ + return self._deleteall + + @property + def delete(self) -> MeasurementDelete: + """Return the ``MEASUrement:DELete`` command. + + Description: + - The command deletes the specified measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:DELete value`` command. + + SCPI Syntax: + ``` + - MEASUrement:DELete + ``` + + Info: + - ```` is the measurement to delete. Argument is of the form 'MEAS' where + is ≥1. + """ + return self._delete + + @property + def diracmodel(self) -> MeasurementDiracmodel: + """Return the ``MEASUrement:DIRacmodel`` command. + + Description: + - This command sets or queries the dirac model used to separate random from + deterministic jitter for jitter measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:DIRacmodel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:DIRacmodel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:DIRacmodel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:DIRacmodel {PCIExpress|FIBREchannel} + - MEASUrement:DIRacmodel? + ``` + + Info: + - ``PCIExpress`` specifies the PCIExpress dirac model. + - ``FIBREchannel`` specifies the FIBREchannel dirac model. + """ + return self._diracmodel + + @property + def displayunits(self) -> MeasurementDisplayunits: + """Return the ``MEASUrement:DISPLAYUnits`` command. + + Description: + - This command sets or queries the display units used for jitter summary measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:DISPLAYUnits?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:DISPLAYUnits?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:DISPLAYUnits value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:DISPLAYUnits {SEConds|UNITINtervals} + - MEASUrement:DISPLAYUnits? + ``` + + Info: + - ``SEConds`` set the display units to seconds. + - ``UNITINtervals`` set the display units to unit intervals. + """ + return self._displayunits + + @property + def edge(self) -> Dict[int, MeasurementEdgeItem]: + """Return the ``MEASUrement:EDGE`` command. + + Description: + - This command sets or queries the type of the edge for the measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``MEASUrement:EDGE value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:EDGE {RISE|FALL|BOTH} + ``` + + Info: + - ``FALL`` specifies the falling edge of the waveform. + - ``RISE`` specifies the rising edge of the waveform. + - ``BOTH`` specifies both a rising and falling edge of the waveform. + """ + return self._edge + + @property + def eyerender(self) -> MeasurementEyerender: + """Return the ``MEASUrement:EYERENDER`` command. + + Description: + - This command sets or queries the state of high-performance eye rendering for an eye + diagram. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:EYERENDER?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:EYERENDER?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:EYERENDER value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:EYERENDER {ON|OFF|} + - MEASUrement:EYERENDER? + ``` + + Info: + - ```` = 0 disables high-performance eye rendering for an eye diagram; any other + value turns this feature on. + - ``OFF`` disables high-performance eye rendering for an eye diagram. + - ``ON`` enables high-performance eye rendering for an eye diagram. + """ + return self._eyerender + + @property + def filters(self) -> MeasurementFilters: + """Return the ``MEASUrement:FILTers`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:FILTers?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:FILTers?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.blankingtime``: The ``MEASUrement:FILTers:BLANKingtime`` command. + - ``.highpass``: The ``MEASUrement:FILTers:HIGHPass`` command tree. + - ``.lowpass``: The ``MEASUrement:FILTers:LOWPass`` command tree. + - ``.ramptime``: The ``MEASUrement:FILTers:RAMPtime`` command. + """ + return self._filters + + @property + def gating(self) -> MeasurementGating: + """Return the ``MEASUrement:GATing`` command. + + Description: + - This command sets or queries the global gating type for the measurement. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:GATing?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:GATing value`` command. + + SCPI Syntax: + ``` + - MEASUrement:GATing {NONE|SCREEN|CURSor|LOGic|SEARch|TIMe} + - MEASUrement:GATing? + ``` + + Info: + - ``NONE`` turns off measurement gating. + - ``SCREen`` turns on gating, using the left and right edges of the screen. + - ``CURSor`` limits measurements to the portion of the waveform between the vertical bar + cursors, even if they are off screen. + - ``LOGic`` specifies that measurements are taken only on the portion of the waveform + where the logic source is in the active state. + - ``SEARCH`` specifies that measurements are taken based on search criteria. + - ``TIMe`` limits measurements to the portion of the waveform between the Start and End + gate times. + + Sub-properties: + - ``.active``: The ``MEASUrement:GATing:ACTive`` command. + - ``.endtime``: The ``MEASUrement:GATing:ENDtime`` command. + - ``.hysteresis``: The ``MEASUrement:GATing:HYSTeresis`` command. + - ``.logicsource``: The ``MEASUrement:GATing:LOGICSource`` command. + - ``.midref``: The ``MEASUrement:GATing:MIDRef`` command. + - ``.searchsource``: The ``MEASUrement:GATing:SEARCHSource`` command. + - ``.starttime``: The ``MEASUrement:GATing:STARTtime`` command. + """ + return self._gating + + @property + def highlevel(self) -> MeasurementHighlevel: + """Return the ``MEASUrement:HIGHLEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:HIGHLEVel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:HIGHLEVel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.configuration``: The ``MEASUrement:HIGHLEVel:CONFIGuration`` command. + - ``.edgequalifier``: The ``MEASUrement:HIGHLEVel:EDGEQUALifier`` command. + - ``.inlowpass``: The ``MEASUrement:HIGHLEVel:INLOWPass`` command tree. + - ``.l2ltol2n``: The ``MEASUrement:HIGHLEVel:L2LTOL2N`` command. + - ``.lineselected``: The ``MEASUrement:HIGHLEVel:LINESelected`` command. + - ``.outedgequalifier``: The ``MEASUrement:HIGHLEVel:OUTEDGEQUALifier`` command. + - ``.outl2ltol2n``: The ``MEASUrement:HIGHLEVel:OUTL2LTOL2N`` command. + - ``.outlineselected``: The ``MEASUrement:HIGHLEVel:OUTLINESelected`` command. + - ``.outlowpass``: The ``MEASUrement:HIGHLEVel:OUTLOWPass`` command tree. + - ``.outsource``: The ``MEASUrement:HIGHLEVel:OUTSOURCE`` command. + - ``.outwiring``: The ``MEASUrement:HIGHLEVel:OUTWIRing`` command. + - ``.source``: The ``MEASUrement:HIGHLEVel:SOURCE`` command. + - ``.wiring``: The ``MEASUrement:HIGHLEVel:WIRing`` command. + """ + return self._highlevel + + @property + def interp(self) -> MeasurementInterp: + """Return the ``MEASUrement:INTERp`` command. + + Description: + - This command sets or queries the interpolation mode used to locate edge crossings. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:INTERp?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:INTERp?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:INTERp value`` command. + + SCPI Syntax: + ``` + - MEASUrement:INTERp {AUTO|SINX|LINear} + - MEASUrement:INTERp? + ``` + + Info: + - ``AUTO`` automatically selects the interpolation mode. + - ``SINX`` specifies sin(x)/x interpolation, where acquired points are fit to a curve. + - ``LINear`` specifies linear interpolation, where acquired points are connected with + straight lines. + """ + return self._interp + + @property + def jittermodel(self) -> MeasurementJittermodel: + """Return the ``MEASUrement:JITTermodel`` command. + + Description: + - This command sets or queries the model used to separate random from deterministic + jitter for jitter measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:JITTermodel?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:JITTermodel?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:JITTermodel value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:JITTermodel {SPECTRAL|SPECTRALBUJ} + - MEASUrement:JITTermodel? + ``` + + Info: + - ``SPECTRAL`` sets the jitter separation model to spectral only. + - ``SPECTRALBUJ`` sets the jitter separation model to spectral plus BUJ. + """ + return self._jittermodel + + @property + def list(self) -> MeasurementList: + """Return the ``MEASUrement:LIST`` command. + + Description: + - This query returns a comma separated list of all currently defined measurements. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:LIST?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement:LIST? + ``` + """ + return self._list + + @property + def lockrj(self) -> MeasurementLockrj: + """Return the ``MEASUrement:LOCKRJ`` command. + + Description: + - This command sets or queries the state of RJ locking. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:LOCKRJ?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:LOCKRJ?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:LOCKRJ value`` command. + + SCPI Syntax: + ``` + - MEASUrement:LOCKRJ {ON|OFF|} + - MEASUrement:LOCKRJ? + ``` + + Info: + - ``MEAS`` specifies the measurement number. + - ``ON`` indicates that RJ locking is active. + - ``OFF`` indicates that RJ locking is off. + - ```` a 0 turns off RJ locking; any other value activates RJ locking. + """ + return self._lockrj + + @property + def lockrjvalue(self) -> MeasurementLockrjvalue: + """Return the ``MEASUrement:LOCKRJValue`` command. + + Description: + - This command sets or queries the RJ lock value. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:LOCKRJValue?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:LOCKRJValue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:LOCKRJValue value`` + command. + + SCPI Syntax: + ``` + - MEASUrement:LOCKRJValue + - MEASUrement:LOCKRJValue? + ``` + + Info: + - ```` default value = 1e-12; minimum value = 1e-15; maximum value = 1. + """ + return self._lockrjvalue + + @property + def math(self) -> Dict[int, MeasurementMathItem]: + """Return the ``MEASUrement:MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MATH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MATH`` specifies the math number. + + Sub-properties: + - ``.reflevels``: The ``MEASUrement:MATH:REFLevels`` command tree. + """ + return self._math + + @property + def meas(self) -> Dict[int, MeasurementMeasItem]: + """Return the ``MEASUrement:MEAS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEAS?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEAS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``MEAS`` specifies the measurement number. + + Sub-properties: + - ``.ber``: The ``MEASUrement:MEAS:BER`` command. + - ``.bin``: The ``MEASUrement:MEAS:BIN`` command. + - ``.bitcfgmode``: The ``MEASUrement:MEAS:BITCfgmode`` command. + - ``.bitend``: The ``MEASUrement:MEAS:BITEnd`` command. + - ``.bitpcnt``: The ``MEASUrement:MEAS:BITPcnt`` command. + - ``.bitstart``: The ``MEASUrement:MEAS:BITSTart`` command. + - ``.bittype``: The ``MEASUrement:MEAS:BITType`` command. + - ``.burstedgtype``: The ``MEASUrement:MEAS:BURSTEDGTYPe`` command. + - ``.ccresults``: The ``MEASUrement:MEAS:CCRESUlts`` command tree. + - ``.clockrecovery``: The ``MEASUrement:MEAS:CLOCKRecovery`` command tree. + - ``.commonmode``: The ``MEASUrement:MEAS:COMMONMode`` command tree. + - ``.cover``: The ``MEASUrement:MEAS:COVer`` command. + - ``.customlimitsfile``: The ``MEASUrement:MEAS:CUSTOMLIMITSFile`` command. + - ``.cyclemode``: The ``MEASUrement:MEAS:CYCLemode`` command. + - ``.delay``: The ``MEASUrement:MEAS:DELay`` command tree. + - ``.displaystat``: The ``MEASUrement:MEAS:DISPlaystat`` command tree. + - ``.edge``: The ``MEASUrement:MEAS:EDGE`` command. + - ``.edgeincre``: The ``MEASUrement:MEAS:EDGEIncre`` command. + - ``.edgequalone``: The ``MEASUrement:MEAS:EDGEQUALONE`` command. + - ``.edgequaltwo``: The ``MEASUrement:MEAS:EDGEQUALTWO`` command. + - ``.edgequalifier``: The ``MEASUrement:MEAS:EDGEQUALifier`` command. + - ``.edges``: The ``MEASUrement:MEAS:EDGES`` command tree. + - ``.eequal``: The ``MEASUrement:MEAS:EEQUal`` command. + - ``.failcount``: The ``MEASUrement:MEAS:FAILCount`` command. + - ``.filterrangefrom``: The ``MEASUrement:MEAS:FILTERRANGEFROM`` command. + - ``.filterrangeto``: The ``MEASUrement:MEAS:FILTERRANGETO`` command. + - ``.filters``: The ``MEASUrement:MEAS:FILTers`` command tree. + - ``.freq``: The ``MEASUrement:MEAS:FREQ`` command. + - ``.fromedgesearchdirect``: The ``MEASUrement:MEAS:FROMEDGESEARCHDIRect`` command. + - ``.fromsymbol``: The ``MEASUrement:MEAS:FROMSymbol`` command tree. + - ``.fromedge``: The ``MEASUrement:MEAS:FROMedge`` command. + - ``.fundcurrent``: The ``MEASUrement:MEAS:FUNDCURRent`` command. + - ``.gating``: The ``MEASUrement:MEAS:GATing`` command. + - ``.globalref``: The ``MEASUrement:MEAS:GLOBalref`` command. + - ``.harmonicsclass``: The ``MEASUrement:MEAS:HARMONICSCLass`` command. + - ``.harmonicssource``: The ``MEASUrement:MEAS:HARMONICSSOURce`` command. + - ``.harmonicsstd``: The ``MEASUrement:MEAS:HARMONICSStd`` command. + - ``.harmonicsunits``: The ``MEASUrement:MEAS:HARMONICSUNits`` command. + - ``.highlevel``: The ``MEASUrement:MEAS:HIGHLEVel`` command tree. + - ``.highrefvoltage``: The ``MEASUrement:MEAS:HIGHREFVoltage`` command. + - ``.hlevel``: The ``MEASUrement:MEAS:HLEVel`` command tree. + - ``.htorque``: The ``MEASUrement:MEAS:HTORque`` command. + - ``.hvoltage``: The ``MEASUrement:MEAS:HVOLtage`` command. + - ``.idletime``: The ``MEASUrement:MEAS:IDLETime`` command. + - ``.inputlevel``: The ``MEASUrement:MEAS:INPUTLEVel`` command. + - ``.inputpower``: The ``MEASUrement:MEAS:INPUTPOwer`` command. + - ``.jittersummary``: The ``MEASUrement:MEAS:JITTERSummary`` command tree. + - ``.label``: The ``MEASUrement:MEAS:LABel`` command. + - ``.lineselected``: The ``MEASUrement:MEAS:LINESelected`` command. + - ``.lowrefvoltage``: The ``MEASUrement:MEAS:LOWREFVoltage`` command. + - ``.ltorque``: The ``MEASUrement:MEAS:LTORque`` command. + - ``.ltype``: The ``MEASUrement:MEAS:LTYPe`` command. + - ``.lunits``: The ``MEASUrement:MEAS:LUNITs`` command. + - ``.lvoltage``: The ``MEASUrement:MEAS:LVOLtage`` command. + - ``.maxcurrent``: The ``MEASUrement:MEAS:MAXCUrrent`` command. + - ``.maxcycle``: The ``MEASUrement:MEAS:MAXCycle`` command. + - ``.maxgvoltage``: The ``MEASUrement:MEAS:MAXGVoltage`` command. + - ``.maxvoltage``: The ``MEASUrement:MEAS:MAXVoltage`` command. + - ``.measrange``: The ``MEASUrement:MEAS:MEASRange`` command tree. + - ``.mech``: The ``MEASUrement:MEAS:MECH`` command tree. + - ``.mincycle``: The ``MEASUrement:MEAS:MINCycle`` command. + - ``.oddeven``: The ``MEASUrement:MEAS:ODDEVen`` command. + - ``.ofilters``: The ``MEASUrement:MEAS:OFILters`` command tree. + - ``.osangle``: The ``MEASUrement:MEAS:OSANgle`` command. + - ``.outedgequalifier``: The ``MEASUrement:MEAS:OUTEDGEQUALifier`` command. + - ``.outfilters``: The ``MEASUrement:MEAS:OUTFILTers`` command tree. + - ``.outputvoltage``: The ``MEASUrement:MEAS:OUTPUTVOLTage`` command. + - ``.passfailenabled``: The ``MEASUrement:MEAS:PASSFAILENabled`` command. + - ``.passfailhighlimit``: The ``MEASUrement:MEAS:PASSFAILHIGHlimit`` command. + - ``.passfaillimit``: The ``MEASUrement:MEAS:PASSFAILLIMit`` command. + - ``.passfaillowlimit``: The ``MEASUrement:MEAS:PASSFAILLOWlimit`` command. + - ``.passfailmargin``: The ``MEASUrement:MEAS:PASSFAILMARgin`` command. + - ``.passfailwhen``: The ``MEASUrement:MEAS:PASSFAILWHEN`` command. + - ``.patterndetection``: The ``MEASUrement:MEAS:PATTERNDETECTION`` command. + - ``.patternlength``: The ``MEASUrement:MEAS:PATTERNLENgth`` command. + - ``.patterntype``: The ``MEASUrement:MEAS:PATTERNTYPe`` command. + - ``.pcount``: The ``MEASUrement:MEAS:PCOUNt`` command. + - ``.perfreq``: The ``MEASUrement:MEAS:PERFREQ`` command tree. + - ``.polarity``: The ``MEASUrement:MEAS:POLarity`` command. + - ``.population``: The ``MEASUrement:MEAS:POPUlation`` command tree. + - ``.powerfactor``: The ``MEASUrement:MEAS:POWERFACtor`` command. + - ``.pregion``: The ``MEASUrement:MEAS:PREGion`` command. + - ``.pwidth``: The ``MEASUrement:MEAS:PWIDth`` command. + - ``.redge``: The ``MEASUrement:MEAS:REDGe`` command. + - ``.reflevels``: The ``MEASUrement:MEAS:REFLevels`` command tree. + - ``.reflevels1``: The ``MEASUrement:MEAS:REFLevels1`` command tree. + - ``.refmode``: The ``MEASUrement:MEAS:REFMode`` command. + - ``.refvoltageval``: The ``MEASUrement:MEAS:REFVOLTAGEVal`` command. + - ``.refvoltage``: The ``MEASUrement:MEAS:REFVoltage`` command. + - ``.results``: The ``MEASUrement:MEAS:RESUlts`` command tree. + - ``.ripplefreqval``: The ``MEASUrement:MEAS:RIPPLEFREQVal`` command. + - ``.sequence``: The ``MEASUrement:MEAS:SEQuence`` command. + - ``.signalfrequency``: The ``MEASUrement:MEAS:SIGNALFREQUEncy`` command. + - ``.signaltype``: The ``MEASUrement:MEAS:SIGNALType`` command. + - ``.slabs``: The ``MEASUrement:MEAS:SLABs`` command. + - ``.slpct``: The ``MEASUrement:MEAS:SLPCt`` command. + - ``.sltype``: The ``MEASUrement:MEAS:SLTYpe`` command. + - ``.smoothingfilter``: The ``MEASUrement:MEAS:SMOOTHINGFILTER`` command. + - ``.source``: The ``MEASUrement:MEAS:SOURCE`` command. + - ``.source1``: The ``MEASUrement:MEAS:SOUrce1`` command. + - ``.ssc``: The ``MEASUrement:MEAS:SSC`` command tree. + - ``.status``: The ``MEASUrement:MEAS:STATUS`` command. + - ``.stlabs``: The ``MEASUrement:MEAS:STLABs`` command. + - ``.stlpct``: The ``MEASUrement:MEAS:STLPct`` command. + - ``.stype``: The ``MEASUrement:MEAS:STYPe`` command. + - ``.sunits``: The ``MEASUrement:MEAS:SUNits`` command. + - ``.tckavg``: The ``MEASUrement:MEAS:TCKAVG`` command. + - ``.tconstant``: The ``MEASUrement:MEAS:TCONstant`` command. + - ``.timingmode``: The ``MEASUrement:MEAS:TIMINGMode`` command. + - ``.tmethod``: The ``MEASUrement:MEAS:TMEThod`` command. + - ``.toedgesearchdirect``: The ``MEASUrement:MEAS:TOEDGESEARCHDIRect`` command. + - ``.toedge``: The ``MEASUrement:MEAS:TOEdge`` command. + - ``.tosymbol``: The ``MEASUrement:MEAS:TOSYmbol`` command tree. + - ``.transition``: The ``MEASUrement:MEAS:TRANSition`` command. + - ``.type``: The ``MEASUrement:MEAS:TYPe`` command. + - ``.waittime``: The ``MEASUrement:MEAS:WAITTime`` command. + - ``.windowlength``: The ``MEASUrement:MEAS:WINDOWLENgth`` command. + - ``.xunit``: The ``MEASUrement:MEAS:XUNIT`` command. + - ``.yunit``: The ``MEASUrement:MEAS:YUNIT`` command. + - ``.stltype``: The ``MEASUrement:MEAS:STLTYpe`` command. + """ + return self._meas + + @property + def measrange(self) -> MeasurementMeasrange: + """Return the ``MEASUrement:MEASRange`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MEASRange?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MEASRange?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.max``: The ``MEASUrement:MEASRange:MAX`` command. + - ``.min``: The ``MEASUrement:MEASRange:MIN`` command. + - ``.state``: The ``MEASUrement:MEASRange:STATE`` command. + """ + return self._measrange + + @property + def mech(self) -> MeasurementMech: + """Return the ``MEASUrement:MECH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MECH?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MECH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eindexz``: The ``MEASUrement:MECH:EINDexz`` command. + - ``.gratio``: The ``MEASUrement:MECH:GRATio`` command. + - ``.munits``: The ``MEASUrement:MECH:MUNits`` command. + - ``.ppairs``: The ``MEASUrement:MECH:PPAirs`` command. + - ``.pprotation``: The ``MEASUrement:MECH:PPRotation`` command. + - ``.source1``: The ``MEASUrement:MECH:SOUrce1`` command. + - ``.stype``: The ``MEASUrement:MECH:STYPe`` command. + """ + return self._mech + + @property + def minui(self) -> MeasurementMinui: + """Return the ``MEASUrement:MINUI`` command. + + Description: + - This command sets or queries the minimum number of unit intervals required for BUJ + analysis. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:MINUI?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:MINUI?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``MEASUrement:MINUI value`` command. + + SCPI Syntax: + ``` + - MEASUrement:MINUI + - MEASUrement:MINUI? + ``` + + Info: + - ```` is the minimum number of unit intervals required for BUJ analysis. + """ + return self._minui + + @property + def population(self) -> MeasurementPopulation: + """Return the ``MEASUrement:POPUlation`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:POPUlation?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:POPUlation?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.limit``: The ``MEASUrement:POPUlation:LIMIT`` command tree. + """ + return self._population + + @property + def ref(self) -> Dict[int, MeasurementRefItem]: + """Return the ``MEASUrement:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REF?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.reflevels``: The ``MEASUrement:REF:REFLevels`` command tree. + """ + return self._ref + + @property + def reflevels(self) -> MeasurementReflevels: + """Return the ``MEASUrement:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:REFLevels?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.absolute``: The ``MEASUrement:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``MEASUrement:REFLevels:BASETop`` command. + - ``.jittermode``: The ``MEASUrement:REFLevels:JITTERMODE`` command. + - ``.method``: The ``MEASUrement:REFLevels:METHod`` command. + - ``.mode``: The ``MEASUrement:REFLevels:MODE`` command. + - ``.percent``: The ``MEASUrement:REFLevels:PERCent`` command tree. + - ``.type``: The ``MEASUrement:REFLevels:TYPE`` command. + """ + return self._reflevels + + @property + def results(self) -> MeasurementResults: + """Return the ``MEASUrement:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:RESUlts?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.history``: The ``MEASUrement:RESUlts:HISTory`` command tree. + """ + return self._results + + @property + def statistics(self) -> MeasurementStatistics: + """Return the ``MEASUrement:STATIstics`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:STATIstics?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:STATIstics?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cyclemode``: The ``MEASUrement:STATIstics:CYCLEMode`` command. + """ + return self._statistics + + @property + def wbg(self) -> MeasurementWbg: + """Return the ``MEASUrement:WBG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement:WBG?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement:WBG?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.pdevice``: The ``MEASUrement:WBG:PDEVice`` command. + """ + return self._wbg diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/plot.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/plot.py new file mode 100644 index 00000000..07eb184e --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/plot.py @@ -0,0 +1,2209 @@ +# pylint: disable=line-too-long +"""The plot commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - PLOT:ADDNew + - PLOT:DELete + - PLOT:LIST? + - PLOT:PLOT:BATHtub:BER + - PLOT:PLOT:BATHtub:BER? + - PLOT:PLOT:BATHtub:XAXISUnits {UNITIntervals|SECOnds} + - PLOT:PLOT:BATHtub:XAXISUnits? + - PLOT:PLOT:BITType {ALLBits|TRANSition|NONTRANsition} + - PLOT:PLOT:BITType? + - PLOT:PLOT:EXPORTRaw? + - PLOT:PLOT:EXTENDuis + - PLOT:PLOT:EXTENDuis? + - PLOT:PLOT:EYERender {FAst|COMPlete} + - PLOT:PLOT:EYERender? + - PLOT:PLOT:IMDA:MEAS {VRMS|IRMS|PHASE|FREQuency|TRPWR|REPWR|APPPWR|TRPWRSUM|REPWRSUM|APPPWRSUM|DCPWR|INPWR|OUTPWR|EFFiciency|TOTALEFFiciency|INPWRSUM|OUTPWRSUM} + - PLOT:PLOT:IMDA:MEAS? + - PLOT:PLOT:IMDAPLOTDisplay {ALL|ONEPAIRVI|ONEPAIRV|ONEPAIRI|PHASEONE|PHASETWO|PHASETHREE|ABC|DQ0} + - PLOT:PLOT:IMDAPLOTDisplay? + - PLOT:PLOT:LABel:COLor + - PLOT:PLOT:LABel:COLor? + - PLOT:PLOT:LABel:FONT:BOLD {ON|OFF|} + - PLOT:PLOT:LABel:FONT:BOLD? + - PLOT:PLOT:LABel:FONT:ITALic {ON|OFF|} + - PLOT:PLOT:LABel:FONT:ITALic? + - PLOT:PLOT:LABel:FONT:SIZE + - PLOT:PLOT:LABel:FONT:SIZE? + - PLOT:PLOT:LABel:FONT:TYPE + - PLOT:PLOT:LABel:FONT:TYPE? + - PLOT:PLOT:LABel:FONT:UNDERline {ON|OFF|} + - PLOT:PLOT:LABel:FONT:UNDERline? + - PLOT:PLOT:LABel:NAMe + - PLOT:PLOT:LABel:NAMe? + - PLOT:PLOT:LABel:XPOS + - PLOT:PLOT:LABel:XPOS? + - PLOT:PLOT:LABel:YPOS + - PLOT:PLOT:LABel:YPOS? + - PLOT:PLOT:MASK? + - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit {ON|OFF} + - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit? + - PLOT:PLOT:MASKOffset:PERCENTui:FROM + - PLOT:PLOT:MASKOffset:PERCENTui:FROM? + - PLOT:PLOT:MASKOffset:PERCENTui:TO + - PLOT:PLOT:MASKOffset:PERCENTui:TO? + - PLOT:PLOT:NUMBins {TWENtyfive|FIFTY|HUNdred|TWOFifty|FIVEHundred|TWOThousand|MAXimum} + - PLOT:PLOT:NUMBins? + - PLOT:PLOT:PTYPe {RMS|MAGNITUDE} + - PLOT:PLOT:PTYPe? + - PLOT:PLOT:RAILNUM RAIL + - PLOT:PLOT:RAILNUM? + - PLOT:PLOT:SOUrce1 MEAS + - PLOT:PLOT:SOUrce1? + - PLOT:PLOT:SPECtrum:BASE + - PLOT:PLOT:SPECtrum:BASE? + - PLOT:PLOT:SPECtrum:DYNRange + - PLOT:PLOT:SPECtrum:DYNRange? + - PLOT:PLOT:TYPe {NONE|BATHTUB|EYEDIAGRAM|HARMONICS|HISTOGRAM|IMDATIMETREND|IMDAACQTREND|INDUCTANCE|IVSINTEGRALV|MAGPROPERTY|PHASENOISE|PHASOR|SOA|SPECTRUM|SSCPROFILE|SWL|TIEHISTOGRAM|TIETIMETREND|TIESPECTRUM|TIMETREND|XY|XYZ} + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class PlotPlotItemType(SCPICmdWrite): + """The ``PLOT:PLOT:TYPe`` command. + + Description: + - This command sets or returns the current plot type of the specified plot. + + Usage: + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:TYPe value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:TYPe {NONE|BATHTUB|EYEDIAGRAM|HARMONICS|HISTOGRAM|IMDATIMETREND|IMDAACQTREND|INDUCTANCE|IVSINTEGRALV|MAGPROPERTY|PHASENOISE|PHASOR|SOA|SPECTRUM|SSCPROFILE|SWL|TIEHISTOGRAM|TIETIMETREND|TIESPECTRUM|TIMETREND|XY|XYZ} + ``` + + Info: + - ```` is the plot number. This is the equivalent of the number shown on a plot heading + in the UI. + - ``NONE`` does not create a plot. + - ``BATHTUB`` creates a bathtub plot. + - ``EYEDIAGRAM`` creates an eye diagram. This plot type is not available on a 4 Series MSO + instrument. + - ``HARMONICS`` creates a harmonics bar graph. + - ``HISTOGRAM`` creates a histogram plot. + - ``IMDATIMETREND`` creates a IMDA time trend plot. This plot type requires option IMDA. + - ``IMDAACQTREND`` creates a IMDA acq trend plot. This plot type requires option IMDA. + - ``INDUCTANCE`` creates a inductance plot. + - ``IVSINTEGRALV`` creates a I vs. ∫V plot. + - ``PHASENOISE`` creates a phase noise plot. + - ``PHASOR`` creates the Phasor Diagram. This plot type requires option 5-DPM on MSO58/56 + series instruments. + - ``MAGPROPERTY`` creates a BH curve. + - ``SOA`` creates an SOA plot. + - ``SPECTRUM`` creates a spectrum plot. + - ``SSCPROFILE`` creates a SSC profile plot. + - ``SWL`` creates a Switching Loss plot. + - ``TIEHISTOGRAM`` creates a TIE histogram plot. + - ``TIESPECTRUM`` creates a TIE spectrum plot. + - ``TIETIMETREND`` creates a TIE time trend plot. + - ``TIMETREND`` creates a time trend plot. + - ``XY`` creates a XY plot. + - ``XYZ`` creates a XYZ plot. + """ # noqa: E501 + + +class PlotPlotItemSpectrumDynrange(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:SPECtrum:DYNRange`` command. + + Description: + - This command sets or queries the dynamic range value. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SPECtrum:DYNRange?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SPECtrum:DYNRange?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:SPECtrum:DYNRange value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:SPECtrum:DYNRange + - PLOT:PLOT:SPECtrum:DYNRange? + ``` + + Info: + - ```` is the dynamic range value. + """ + + +class PlotPlotItemSpectrumBase(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:SPECtrum:BASE`` command. + + Description: + - This command sets or queries the spectrum base. Undefined for non-spectrum plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SPECtrum:BASE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SPECtrum:BASE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:SPECtrum:BASE value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:SPECtrum:BASE + - PLOT:PLOT:SPECtrum:BASE? + ``` + + Info: + - ```` is the spectrum base. + """ + + +class PlotPlotItemSpectrum(SCPICmdRead): + """The ``PLOT:PLOT:SPECtrum`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SPECtrum?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SPECtrum?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.base``: The ``PLOT:PLOT:SPECtrum:BASE`` command. + - ``.dynrange``: The ``PLOT:PLOT:SPECtrum:DYNRange`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._base = PlotPlotItemSpectrumBase(device, f"{self._cmd_syntax}:BASE") + self._dynrange = PlotPlotItemSpectrumDynrange(device, f"{self._cmd_syntax}:DYNRange") + + @property + def base(self) -> PlotPlotItemSpectrumBase: + """Return the ``PLOT:PLOT:SPECtrum:BASE`` command. + + Description: + - This command sets or queries the spectrum base. Undefined for non-spectrum plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SPECtrum:BASE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SPECtrum:BASE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:SPECtrum:BASE value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:SPECtrum:BASE + - PLOT:PLOT:SPECtrum:BASE? + ``` + + Info: + - ```` is the spectrum base. + """ + return self._base + + @property + def dynrange(self) -> PlotPlotItemSpectrumDynrange: + """Return the ``PLOT:PLOT:SPECtrum:DYNRange`` command. + + Description: + - This command sets or queries the dynamic range value. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SPECtrum:DYNRange?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SPECtrum:DYNRange?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:SPECtrum:DYNRange value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:SPECtrum:DYNRange + - PLOT:PLOT:SPECtrum:DYNRange? + ``` + + Info: + - ```` is the dynamic range value. + """ + return self._dynrange + + +class PlotPlotItemSource1(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:SOUrce1`` command. + + Description: + - This command sets or queries the plot source. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SOUrce1?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SOUrce1?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:SOUrce1 value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:SOUrce1 MEAS + - PLOT:PLOT:SOUrce1? + ``` + + Info: + - ``MEAS`` is the specified measurement source for the specified plot. + """ + + +class PlotPlotItemRailnum(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:RAILNUM`` command. + + Description: + - Sets the DPM histogram source. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:RAILNUM?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:RAILNUM?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:RAILNUM value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:RAILNUM RAIL + - PLOT:PLOT:RAILNUM? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``Rail`` is the rail number. x has a minimum of 1 and a maximum of 7. + """ + + +class PlotPlotItemPtype(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:PTYPe`` command. + + Description: + - This command sets or returns the phasor type of the phasor diagram plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:PTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:PTYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:PTYPe value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:PTYPe {RMS|MAGNITUDE} + - PLOT:PLOT:PTYPe? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``RMS`` sets the phasor type to RMS. + - ``MAGNITUDE`` sets the phasor type to MAGNITUDE. + """ + + +class PlotPlotItemNumbins(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:NUMBins`` command. + + Description: + - This command sets or queries the current histogram resolution. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:NUMBins?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:NUMBins?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:NUMBins value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:NUMBins {TWENtyfive|FIFTY|HUNdred|TWOFifty|FIVEHundred|TWOThousand|MAXimum} + - PLOT:PLOT:NUMBins? + ``` + + Info: + - ``TWENtyfive`` sets the number of bins to 25. + - ``FIFTY`` sets the number of bins to 50. + - ``HUNdred`` sets the number of bins to 100. + - ``TWOFifty`` sets the number of bins to 250. + - ``FIVEHundred`` sets the number of bins to 500. + - ``TWOThousand`` sets the number of bins to 2000. + - ``MAXimum`` sets the number of bins to the maximum value. + """ + + +class PlotPlotItemMaskoffsetPercentuiTo(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:MASKOffset:PERCENTui:TO`` command. + + Description: + - This command sets or queries the allowed range for the mask to move in the right + direction. Only applies to eye diagram plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:PERCENTui:TO?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:TO?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:TO value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASKOffset:PERCENTui:TO + - PLOT:PLOT:MASKOffset:PERCENTui:TO? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` is the allowed range in percentage for the mask to move in the right direction. + """ + + +class PlotPlotItemMaskoffsetPercentuiFrom(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:MASKOffset:PERCENTui:FROM`` command. + + Description: + - This command sets or queries the allowed range for the mask to move in the left direction. + Only applies to eye diagram plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:PERCENTui:FROM?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:FROM value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASKOffset:PERCENTui:FROM + - PLOT:PLOT:MASKOffset:PERCENTui:FROM? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` is the allowed range in percentage for the mask to move in the left direction. + """ + + +class PlotPlotItemMaskoffsetPercentui(SCPICmdRead): + """The ``PLOT:PLOT:MASKOffset:PERCENTui`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:PERCENTui?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:MASKOffset:PERCENTui?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Properties: + - ``.from``: The ``PLOT:PLOT:MASKOffset:PERCENTui:FROM`` command. + - ``.to``: The ``PLOT:PLOT:MASKOffset:PERCENTui:TO`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._from = PlotPlotItemMaskoffsetPercentuiFrom(device, f"{self._cmd_syntax}:FROM") + self._to = PlotPlotItemMaskoffsetPercentuiTo(device, f"{self._cmd_syntax}:TO") + + @property + def from_(self) -> PlotPlotItemMaskoffsetPercentuiFrom: + """Return the ``PLOT:PLOT:MASKOffset:PERCENTui:FROM`` command. + + Description: + - This command sets or queries the allowed range for the mask to move in the left + direction. Only applies to eye diagram plots. + + Usage: + - Using the ``.query()`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:FROM?`` query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:FROM?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:FROM value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASKOffset:PERCENTui:FROM + - PLOT:PLOT:MASKOffset:PERCENTui:FROM? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` is the allowed range in percentage for the mask to move in the left + direction. + """ + return self._from + + @property + def to(self) -> PlotPlotItemMaskoffsetPercentuiTo: + """Return the ``PLOT:PLOT:MASKOffset:PERCENTui:TO`` command. + + Description: + - This command sets or queries the allowed range for the mask to move in the right + direction. Only applies to eye diagram plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:PERCENTui:TO?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:TO?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui:TO value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASKOffset:PERCENTui:TO + - PLOT:PLOT:MASKOffset:PERCENTui:TO? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` is the allowed range in percentage for the mask to move in the right + direction. + """ + return self._to + + +class PlotPlotItemMaskoffsetHorizontalAutofit(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit`` command. + + Description: + - This command enables or disables eye mask autofit in the specified plot. + + Usage: + - Using the ``.query()`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit?`` query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit {ON|OFF} + - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``ON`` enables eye mask autofit. + - ``OFF`` disables eye mask autofit. + """ + + +class PlotPlotItemMaskoffsetHorizontal(SCPICmdRead): + """The ``PLOT:PLOT:MASKOffset:HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:MASKOffset:HORizontal?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Properties: + - ``.autofit``: The ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autofit = PlotPlotItemMaskoffsetHorizontalAutofit( + device, f"{self._cmd_syntax}:AUTOfit" + ) + + @property + def autofit(self) -> PlotPlotItemMaskoffsetHorizontalAutofit: + """Return the ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit`` command. + + Description: + - This command enables or disables eye mask autofit in the specified plot. + + Usage: + - Using the ``.query()`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit?`` query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit {ON|OFF} + - PLOT:PLOT:MASKOffset:HORizontal:AUTOfit? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``ON`` enables eye mask autofit. + - ``OFF`` disables eye mask autofit. + """ + return self._autofit + + +class PlotPlotItemMaskoffset(SCPICmdRead): + """The ``PLOT:PLOT:MASKOffset`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:MASKOffset?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Properties: + - ``.horizontal``: The ``PLOT:PLOT:MASKOffset:HORizontal`` command tree. + - ``.percentui``: The ``PLOT:PLOT:MASKOffset:PERCENTui`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._horizontal = PlotPlotItemMaskoffsetHorizontal( + device, f"{self._cmd_syntax}:HORizontal" + ) + self._percentui = PlotPlotItemMaskoffsetPercentui(device, f"{self._cmd_syntax}:PERCENTui") + + @property + def horizontal(self) -> PlotPlotItemMaskoffsetHorizontal: + """Return the ``PLOT:PLOT:MASKOffset:HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:HORizontal?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:HORizontal?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Sub-properties: + - ``.autofit``: The ``PLOT:PLOT:MASKOffset:HORizontal:AUTOfit`` command. + """ + return self._horizontal + + @property + def percentui(self) -> PlotPlotItemMaskoffsetPercentui: + """Return the ``PLOT:PLOT:MASKOffset:PERCENTui`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset:PERCENTui?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:MASKOffset:PERCENTui?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Sub-properties: + - ``.from``: The ``PLOT:PLOT:MASKOffset:PERCENTui:FROM`` command. + - ``.to``: The ``PLOT:PLOT:MASKOffset:PERCENTui:TO`` command. + """ + return self._percentui + + +class PlotPlotItemMask(SCPICmdRead): + """The ``PLOT:PLOT:MASK`` command. + + Description: + - This command returns the name of the mask test associated with the specified eye diagram + plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASK?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:MASK?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASK? + ``` + + Info: + - ``PLOT`` is the plot number. + """ + + +class PlotPlotItemLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:YPOS + - PLOT:PLOT:LABel:YPOS? + ``` + + Info: + - ```` is the x-position, in pixels relative to the baseline of the waveform, of the + label. + """ + + +class PlotPlotItemLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:XPOS + - PLOT:PLOT:LABel:XPOS? + ``` + + Info: + - ```` is the y-position, in pixels relative to the left edge of the display, of the + label. + """ + + +class PlotPlotItemLabelName(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:NAMe`` command. + + Description: + - This command sets or queries the specified trend's label. This command/query only applies + to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:NAMe + - PLOT:PLOT:LABel:NAMe? + ``` + + Info: + - ```` is the label. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class PlotPlotItemLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:UNDERline {ON|OFF|} + - PLOT:PLOT:LABel:FONT:UNDERline? + ``` + + Info: + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + + +class PlotPlotItemLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified trend label, such as Arial or + Times New Roman. This command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:TYPE + - PLOT:PLOT:LABel:FONT:TYPE? + ``` + + Info: + - ```` is the font type: Times New Roman, Arial, Frutiger LT Std 55 Roman, DejaVu + Sans, DejaVu Sans Mono, Frutiger LT Std, Monospace, Sans Serif, Serif, Ubuntu, Ubuntu + Condensed, and Ubuntu Mono. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class PlotPlotItemLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:SIZE + - PLOT:PLOT:LABel:FONT:SIZE? + ``` + + Info: + - ```` is the font size. + """ + + +class PlotPlotItemLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:ITALic {ON|OFF|} + - PLOT:PLOT:LABel:FONT:ITALic? + ``` + + Info: + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + + +class PlotPlotItemLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:BOLD {ON|OFF|} + - PLOT:PLOT:LABel:FONT:BOLD? + ``` + + Info: + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + + +class PlotPlotItemLabelFont(SCPICmdRead): + """The ``PLOT:PLOT:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``PLOT:PLOT:LABel:FONT:BOLD`` command. + - ``.italic``: The ``PLOT:PLOT:LABel:FONT:ITALic`` command. + - ``.size``: The ``PLOT:PLOT:LABel:FONT:SIZE`` command. + - ``.type``: The ``PLOT:PLOT:LABel:FONT:TYPE`` command. + - ``.underline``: The ``PLOT:PLOT:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = PlotPlotItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = PlotPlotItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = PlotPlotItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = PlotPlotItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = PlotPlotItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> PlotPlotItemLabelFontBold: + """Return the ``PLOT:PLOT:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:BOLD value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:BOLD {ON|OFF|} + - PLOT:PLOT:LABel:FONT:BOLD? + ``` + + Info: + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + return self._bold + + @property + def italic(self) -> PlotPlotItemLabelFontItalic: + """Return the ``PLOT:PLOT:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:ITALic {ON|OFF|} + - PLOT:PLOT:LABel:FONT:ITALic? + ``` + + Info: + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + return self._italic + + @property + def size(self) -> PlotPlotItemLabelFontSize: + """Return the ``PLOT:PLOT:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:SIZE value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:SIZE + - PLOT:PLOT:LABel:FONT:SIZE? + ``` + + Info: + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> PlotPlotItemLabelFontType: + """Return the ``PLOT:PLOT:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified trend label, such as Arial + or Times New Roman. This command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:TYPE value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:TYPE + - PLOT:PLOT:LABel:FONT:TYPE? + ``` + + Info: + - ```` is the font type: Times New Roman, Arial, Frutiger LT Std 55 Roman, + DejaVu Sans, DejaVu Sans Mono, Frutiger LT Std, Monospace, Sans Serif, Serif, Ubuntu, + Ubuntu Condensed, and Ubuntu Mono. + """ + return self._type + + @property + def underline(self) -> PlotPlotItemLabelFontUnderline: + """Return the ``PLOT:PLOT:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:UNDERline?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:FONT:UNDERline {ON|OFF|} + - PLOT:PLOT:LABel:FONT:UNDERline? + ``` + + Info: + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + return self._underline + + +class PlotPlotItemLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified trend label. This command/query + only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:COLor + - PLOT:PLOT:LABel:COLor? + ``` + + Info: + - ```` is the label color. The default color is specified by a quoted empty string, + and is the only available color. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class PlotPlotItemLabel(SCPICmdRead): + """The ``PLOT:PLOT:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``PLOT:PLOT:LABel:COLor`` command. + - ``.font``: The ``PLOT:PLOT:LABel:FONT`` command tree. + - ``.name``: The ``PLOT:PLOT:LABel:NAMe`` command. + - ``.xpos``: The ``PLOT:PLOT:LABel:XPOS`` command. + - ``.ypos``: The ``PLOT:PLOT:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = PlotPlotItemLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = PlotPlotItemLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = PlotPlotItemLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = PlotPlotItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = PlotPlotItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> PlotPlotItemLabelColor: + """Return the ``PLOT:PLOT:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:COLor + - PLOT:PLOT:LABel:COLor? + ``` + + Info: + - ```` is the label color. The default color is specified by a quoted empty + string, and is the only available color. + """ + return self._color + + @property + def font(self) -> PlotPlotItemLabelFont: + """Return the ``PLOT:PLOT:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``PLOT:PLOT:LABel:FONT:BOLD`` command. + - ``.italic``: The ``PLOT:PLOT:LABel:FONT:ITALic`` command. + - ``.size``: The ``PLOT:PLOT:LABel:FONT:SIZE`` command. + - ``.type``: The ``PLOT:PLOT:LABel:FONT:TYPE`` command. + - ``.underline``: The ``PLOT:PLOT:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> PlotPlotItemLabelName: + """Return the ``PLOT:PLOT:LABel:NAMe`` command. + + Description: + - This command sets or queries the specified trend's label. This command/query only + applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:NAMe + - PLOT:PLOT:LABel:NAMe? + ``` + + Info: + - ```` is the label. + """ + return self._name + + @property + def xpos(self) -> PlotPlotItemLabelXpos: + """Return the ``PLOT:PLOT:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:XPOS + - PLOT:PLOT:LABel:XPOS? + ``` + + Info: + - ```` is the y-position, in pixels relative to the left edge of the display, of + the label. + """ + return self._xpos + + @property + def ypos(self) -> PlotPlotItemLabelYpos: + """Return the ``PLOT:PLOT:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the specified trend label. This + command/query only applies to Time Trend plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:LABel:YPOS + - PLOT:PLOT:LABel:YPOS? + ``` + + Info: + - ```` is the x-position, in pixels relative to the baseline of the waveform, of + the label. + """ + return self._ypos + + +class PlotPlotItemImdaplotdisplay(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:IMDAPLOTDisplay`` command. + + Description: + - This command sets or returns the IMDA time trend and acq trend plot display configuration. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:IMDAPLOTDisplay {ALL|ONEPAIRVI|ONEPAIRV|ONEPAIRI|PHASEONE|PHASETWO|PHASETHREE|ABC|DQ0} + - PLOT:PLOT:IMDAPLOTDisplay? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``ALL`` sets the IMDA time trend and acq trend plot display configuration to ALL. + - ``ONEPAIRVI`` sets the IMDA time trend and acq trend plot display configuration to + ONEPAIRVI. + - ``ONEPAIRV`` sets the IMDA time trend and acq trend plot display configuration to + ONEPAIRV. + - ``ONEPAIRI`` sets the IMDA time trend and acq trend plot display configuration to + ONEPAIRI. + - ``PHASEONE`` sets the IMDA time trend and acq trend plot display configuration to + PHASEONE. + - ``PHASETWO`` sets the IMDA time trend and acq trend plot display configuration to + PHASETWO. + - ``PHASETHREE`` sets the IMDA time trend and acq trend plot display configuration to + PHASETHREE. + - ``ABC`` sets the IMDA time trend plot display to ABC. + - ``DQ0`` sets the IMDA time trend plot display to DQ0. + """ # noqa: E501 + + +class PlotPlotItemImdaMeas(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:IMDA:MEAS`` command. + + Description: + - This command sets or returns the measurement selection of trend plot and acq trend plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:IMDA:MEAS {VRMS|IRMS|PHASE|FREQuency|TRPWR|REPWR|APPPWR|TRPWRSUM|REPWRSUM|APPPWRSUM|DCPWR|INPWR|OUTPWR|EFFiciency|TOTALEFFiciency|INPWRSUM|OUTPWRSUM} + - PLOT:PLOT:IMDA:MEAS? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``VRMS`` sets the IMDA measurement selection to VRMS. + - ``IRMS`` sets the IMDA measurement selection to IRMS. + - ``PHASE`` sets the IMDA measurement selection to PHASE. + - ``FREQuency`` sets the IMDA measurement selection to FREQuency. + - ``TRPWR`` sets the IMDA measurement selection to TRPWR. + - ``REPWR`` sets the IMDA measurement selection to REPWR. + - ``APPPWR`` sets the IMDA measurement selection to APPPWR. + - ``TRPWRSUM`` sets the IMDA measurement selection to TRPWRSUM. + - ``REPWRSUM`` sets the IMDA measurement selection to REPWRSUM. + - ``APPPWRSUM`` sets the IMDA measurement selection to APPPWRSUM. + - ``DCPWR`` sets the IMDA measurement selection to DCPWR. This selection is applicable only + for acq trend plots. + - ``INPWR`` sets the IMDA measurement selection to INPWR. This selection is applicable only + for acq trend plots. + - ``OUTPWR`` sets the IMDA measurement selection to OUTPWR. This selection is applicable + only for acq trend plots. + - ``EFFiciency`` sets the IMDA measurement selection to EFFiciency. + - ``TOTALEFFiciency`` sets the IMDA measurement selection to TOTALEFFiciency. This selection + is applicable only for acq trend plots. + - ``INPWRSUM`` sets the IMDA measurement selection to INPWRSUM. This selection is applicable + only for acq trend plots. + - ``OUTPWRSUM`` sets the IMDA measurement selection to OUTPWRSUM. This selection is + applicable only for acq trend plots. + """ # noqa: E501 + + +class PlotPlotItemImda(SCPICmdRead): + """The ``PLOT:PLOT:IMDA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDA?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDA?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Properties: + - ``.meas``: The ``PLOT:PLOT:IMDA:MEAS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._meas = PlotPlotItemImdaMeas(device, f"{self._cmd_syntax}:MEAS") + + @property + def meas(self) -> PlotPlotItemImdaMeas: + """Return the ``PLOT:PLOT:IMDA:MEAS`` command. + + Description: + - This command sets or returns the measurement selection of trend plot and acq trend + plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:IMDA:MEAS value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:IMDA:MEAS {VRMS|IRMS|PHASE|FREQuency|TRPWR|REPWR|APPPWR|TRPWRSUM|REPWRSUM|APPPWRSUM|DCPWR|INPWR|OUTPWR|EFFiciency|TOTALEFFiciency|INPWRSUM|OUTPWRSUM} + - PLOT:PLOT:IMDA:MEAS? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``VRMS`` sets the IMDA measurement selection to VRMS. + - ``IRMS`` sets the IMDA measurement selection to IRMS. + - ``PHASE`` sets the IMDA measurement selection to PHASE. + - ``FREQuency`` sets the IMDA measurement selection to FREQuency. + - ``TRPWR`` sets the IMDA measurement selection to TRPWR. + - ``REPWR`` sets the IMDA measurement selection to REPWR. + - ``APPPWR`` sets the IMDA measurement selection to APPPWR. + - ``TRPWRSUM`` sets the IMDA measurement selection to TRPWRSUM. + - ``REPWRSUM`` sets the IMDA measurement selection to REPWRSUM. + - ``APPPWRSUM`` sets the IMDA measurement selection to APPPWRSUM. + - ``DCPWR`` sets the IMDA measurement selection to DCPWR. This selection is applicable + only for acq trend plots. + - ``INPWR`` sets the IMDA measurement selection to INPWR. This selection is applicable + only for acq trend plots. + - ``OUTPWR`` sets the IMDA measurement selection to OUTPWR. This selection is applicable + only for acq trend plots. + - ``EFFiciency`` sets the IMDA measurement selection to EFFiciency. + - ``TOTALEFFiciency`` sets the IMDA measurement selection to TOTALEFFiciency. This + selection is applicable only for acq trend plots. + - ``INPWRSUM`` sets the IMDA measurement selection to INPWRSUM. This selection is + applicable only for acq trend plots. + - ``OUTPWRSUM`` sets the IMDA measurement selection to OUTPWRSUM. This selection is + applicable only for acq trend plots. + """ # noqa: E501 + return self._meas + + +class PlotPlotItemEyerender(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:EYERender`` command. + + Description: + - This command sets or queries the eye rendering method for the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:EYERender?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EYERender?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:EYERender value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:EYERender {FAst|COMPlete} + - PLOT:PLOT:EYERender? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``FAst`` sets the eye rendering method to fast. + - ``COMPlete`` sets the eye rendering method to complete. + """ + + +class PlotPlotItemExtenduis(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:EXTENDuis`` command. + + Description: + - This command sets or queries number of UIs surrounding the eye boundary UIs that are used + for fast eye rendering. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:EXTENDuis?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EXTENDuis?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:EXTENDuis value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:EXTENDuis + - PLOT:PLOT:EXTENDuis? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` is the number of surrounding UIs. + """ + + +class PlotPlotItemExportraw(SCPICmdRead): + """The ``PLOT:PLOT:EXPORTRaw`` command. + + Description: + - This command returns a binary stream of double values containing the x,y and hits value. + Use this command along with ``MEASUREMENT:ADDMEAS TIE``, ``PLOT:PLOT1:TYPE EYEDIAGRAM``, + ``DISplay:SELect:VIEW`` plotview1 to export the eye diagram plot data. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:EXPORTRaw?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EXPORTRaw?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - PLOT:PLOT:EXPORTRaw? + ``` + """ + + +class PlotPlotItemBittype(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:BITType`` command. + + Description: + - This command sets or queries the bit type to display for the specified eye diagram plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BITType?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BITType?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:BITType value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:BITType {ALLBits|TRANSition|NONTRANsition} + - PLOT:PLOT:BITType? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``ALLBits`` sets the eye diagram plot to show both transition and nontransition bits. + - ``TRANSition`` sets the eye diagram plot to show only bits where a logic level transition + occurs. + - ``NONTRANsition`` sets the eye diagram plot to show only bits where no logic level + transition occurs. + """ + + +class PlotPlotItemBathtubXaxisunits(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:BATHtub:XAXISUnits`` command. + + Description: + - This command sets or queries the X-Axis unit, either unit intervals or seconds. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BATHtub:XAXISUnits?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BATHtub:XAXISUnits?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:BATHtub:XAXISUnits value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:BATHtub:XAXISUnits {UNITIntervals|SECOnds} + - PLOT:PLOT:BATHtub:XAXISUnits? + ``` + + Info: + - ``UNITIntervals`` specifies units as unit intervals. + - ``SECOnds`` specifies units as seconds. + """ + + +class PlotPlotItemBathtubBer(SCPICmdWrite, SCPICmdRead): + """The ``PLOT:PLOT:BATHtub:BER`` command. + + Description: + - This command sets or queries the bathtub BER value. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BATHtub:BER?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BATHtub:BER?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:BATHtub:BER value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:BATHtub:BER + - PLOT:PLOT:BATHtub:BER? + ``` + + Info: + - ```` is the bathtub BER value. + """ + + +class PlotPlotItemBathtub(SCPICmdRead): + """The ``PLOT:PLOT:BATHtub`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BATHtub?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BATHtub?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ber``: The ``PLOT:PLOT:BATHtub:BER`` command. + - ``.xaxisunits``: The ``PLOT:PLOT:BATHtub:XAXISUnits`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ber = PlotPlotItemBathtubBer(device, f"{self._cmd_syntax}:BER") + self._xaxisunits = PlotPlotItemBathtubXaxisunits(device, f"{self._cmd_syntax}:XAXISUnits") + + @property + def ber(self) -> PlotPlotItemBathtubBer: + """Return the ``PLOT:PLOT:BATHtub:BER`` command. + + Description: + - This command sets or queries the bathtub BER value. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BATHtub:BER?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BATHtub:BER?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:BATHtub:BER value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:BATHtub:BER + - PLOT:PLOT:BATHtub:BER? + ``` + + Info: + - ```` is the bathtub BER value. + """ + return self._ber + + @property + def xaxisunits(self) -> PlotPlotItemBathtubXaxisunits: + """Return the ``PLOT:PLOT:BATHtub:XAXISUnits`` command. + + Description: + - This command sets or queries the X-Axis unit, either unit intervals or seconds. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BATHtub:XAXISUnits?`` + query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BATHtub:XAXISUnits?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:BATHtub:XAXISUnits value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:BATHtub:XAXISUnits {UNITIntervals|SECOnds} + - PLOT:PLOT:BATHtub:XAXISUnits? + ``` + + Info: + - ``UNITIntervals`` specifies units as unit intervals. + - ``SECOnds`` specifies units as seconds. + """ + return self._xaxisunits + + +# pylint: disable=too-many-instance-attributes +class PlotPlotItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``PLOT:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bathtub``: The ``PLOT:PLOT:BATHtub`` command tree. + - ``.bittype``: The ``PLOT:PLOT:BITType`` command. + - ``.exportraw``: The ``PLOT:PLOT:EXPORTRaw`` command. + - ``.extenduis``: The ``PLOT:PLOT:EXTENDuis`` command. + - ``.eyerender``: The ``PLOT:PLOT:EYERender`` command. + - ``.imda``: The ``PLOT:PLOT:IMDA`` command tree. + - ``.imdaplotdisplay``: The ``PLOT:PLOT:IMDAPLOTDisplay`` command. + - ``.label``: The ``PLOT:PLOT:LABel`` command tree. + - ``.mask``: The ``PLOT:PLOT:MASK`` command. + - ``.maskoffset``: The ``PLOT:PLOT:MASKOffset`` command tree. + - ``.numbins``: The ``PLOT:PLOT:NUMBins`` command. + - ``.ptype``: The ``PLOT:PLOT:PTYPe`` command. + - ``.railnum``: The ``PLOT:PLOT:RAILNUM`` command. + - ``.source1``: The ``PLOT:PLOT:SOUrce1`` command. + - ``.spectrum``: The ``PLOT:PLOT:SPECtrum`` command tree. + - ``.type``: The ``PLOT:PLOT:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bathtub = PlotPlotItemBathtub(device, f"{self._cmd_syntax}:BATHtub") + self._bittype = PlotPlotItemBittype(device, f"{self._cmd_syntax}:BITType") + self._exportraw = PlotPlotItemExportraw(device, f"{self._cmd_syntax}:EXPORTRaw") + self._extenduis = PlotPlotItemExtenduis(device, f"{self._cmd_syntax}:EXTENDuis") + self._eyerender = PlotPlotItemEyerender(device, f"{self._cmd_syntax}:EYERender") + self._imda = PlotPlotItemImda(device, f"{self._cmd_syntax}:IMDA") + self._imdaplotdisplay = PlotPlotItemImdaplotdisplay( + device, f"{self._cmd_syntax}:IMDAPLOTDisplay" + ) + self._label = PlotPlotItemLabel(device, f"{self._cmd_syntax}:LABel") + self._mask = PlotPlotItemMask(device, f"{self._cmd_syntax}:MASK") + self._maskoffset = PlotPlotItemMaskoffset(device, f"{self._cmd_syntax}:MASKOffset") + self._numbins = PlotPlotItemNumbins(device, f"{self._cmd_syntax}:NUMBins") + self._ptype = PlotPlotItemPtype(device, f"{self._cmd_syntax}:PTYPe") + self._railnum = PlotPlotItemRailnum(device, f"{self._cmd_syntax}:RAILNUM") + self._source1 = PlotPlotItemSource1(device, f"{self._cmd_syntax}:SOUrce1") + self._spectrum = PlotPlotItemSpectrum(device, f"{self._cmd_syntax}:SPECtrum") + self._type = PlotPlotItemType(device, f"{self._cmd_syntax}:TYPe") + + @property + def bathtub(self) -> PlotPlotItemBathtub: + """Return the ``PLOT:PLOT:BATHtub`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BATHtub?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BATHtub?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ber``: The ``PLOT:PLOT:BATHtub:BER`` command. + - ``.xaxisunits``: The ``PLOT:PLOT:BATHtub:XAXISUnits`` command. + """ + return self._bathtub + + @property + def bittype(self) -> PlotPlotItemBittype: + """Return the ``PLOT:PLOT:BITType`` command. + + Description: + - This command sets or queries the bit type to display for the specified eye diagram + plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:BITType?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:BITType?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:BITType value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:BITType {ALLBits|TRANSition|NONTRANsition} + - PLOT:PLOT:BITType? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``ALLBits`` sets the eye diagram plot to show both transition and nontransition bits. + - ``TRANSition`` sets the eye diagram plot to show only bits where a logic level + transition occurs. + - ``NONTRANsition`` sets the eye diagram plot to show only bits where no logic level + transition occurs. + """ + return self._bittype + + @property + def exportraw(self) -> PlotPlotItemExportraw: + """Return the ``PLOT:PLOT:EXPORTRaw`` command. + + Description: + - This command returns a binary stream of double values containing the x,y and hits + value. Use this command along with ``MEASUREMENT:ADDMEAS TIE``, + ``PLOT:PLOT1:TYPE EYEDIAGRAM``, ``DISplay:SELect:VIEW`` plotview1 to export the eye + diagram plot data. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:EXPORTRaw?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EXPORTRaw?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - PLOT:PLOT:EXPORTRaw? + ``` + """ + return self._exportraw + + @property + def extenduis(self) -> PlotPlotItemExtenduis: + """Return the ``PLOT:PLOT:EXTENDuis`` command. + + Description: + - This command sets or queries number of UIs surrounding the eye boundary UIs that are + used for fast eye rendering. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:EXTENDuis?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EXTENDuis?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:EXTENDuis value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:EXTENDuis + - PLOT:PLOT:EXTENDuis? + ``` + + Info: + - ``PLOT`` is the plot number. + - ```` is the number of surrounding UIs. + """ + return self._extenduis + + @property + def eyerender(self) -> PlotPlotItemEyerender: + """Return the ``PLOT:PLOT:EYERender`` command. + + Description: + - This command sets or queries the eye rendering method for the specified plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:EYERender?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:EYERender?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:EYERender value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:EYERender {FAst|COMPlete} + - PLOT:PLOT:EYERender? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``FAst`` sets the eye rendering method to fast. + - ``COMPlete`` sets the eye rendering method to complete. + """ + return self._eyerender + + @property + def imda(self) -> PlotPlotItemImda: + """Return the ``PLOT:PLOT:IMDA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDA?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Sub-properties: + - ``.meas``: The ``PLOT:PLOT:IMDA:MEAS`` command. + """ + return self._imda + + @property + def imdaplotdisplay(self) -> PlotPlotItemImdaplotdisplay: + """Return the ``PLOT:PLOT:IMDAPLOTDisplay`` command. + + Description: + - This command sets or returns the IMDA time trend and acq trend plot display + configuration. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:IMDAPLOTDisplay?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``PLOT:PLOT:IMDAPLOTDisplay value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:IMDAPLOTDisplay {ALL|ONEPAIRVI|ONEPAIRV|ONEPAIRI|PHASEONE|PHASETWO|PHASETHREE|ABC|DQ0} + - PLOT:PLOT:IMDAPLOTDisplay? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``ALL`` sets the IMDA time trend and acq trend plot display configuration to ALL. + - ``ONEPAIRVI`` sets the IMDA time trend and acq trend plot display configuration to + ONEPAIRVI. + - ``ONEPAIRV`` sets the IMDA time trend and acq trend plot display configuration to + ONEPAIRV. + - ``ONEPAIRI`` sets the IMDA time trend and acq trend plot display configuration to + ONEPAIRI. + - ``PHASEONE`` sets the IMDA time trend and acq trend plot display configuration to + PHASEONE. + - ``PHASETWO`` sets the IMDA time trend and acq trend plot display configuration to + PHASETWO. + - ``PHASETHREE`` sets the IMDA time trend and acq trend plot display configuration to + PHASETHREE. + - ``ABC`` sets the IMDA time trend plot display to ABC. + - ``DQ0`` sets the IMDA time trend plot display to DQ0. + """ # noqa: E501 + return self._imdaplotdisplay + + @property + def label(self) -> PlotPlotItemLabel: + """Return the ``PLOT:PLOT:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``PLOT:PLOT:LABel:COLor`` command. + - ``.font``: The ``PLOT:PLOT:LABel:FONT`` command tree. + - ``.name``: The ``PLOT:PLOT:LABel:NAMe`` command. + - ``.xpos``: The ``PLOT:PLOT:LABel:XPOS`` command. + - ``.ypos``: The ``PLOT:PLOT:LABel:YPOS`` command. + """ + return self._label + + @property + def mask(self) -> PlotPlotItemMask: + """Return the ``PLOT:PLOT:MASK`` command. + + Description: + - This command returns the name of the mask test associated with the specified eye + diagram plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASK?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:MASK?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - PLOT:PLOT:MASK? + ``` + + Info: + - ``PLOT`` is the plot number. + """ + return self._mask + + @property + def maskoffset(self) -> PlotPlotItemMaskoffset: + """Return the ``PLOT:PLOT:MASKOffset`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:MASKOffset?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:MASKOffset?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``PLOT`` is the plot number. + + Sub-properties: + - ``.horizontal``: The ``PLOT:PLOT:MASKOffset:HORizontal`` command tree. + - ``.percentui``: The ``PLOT:PLOT:MASKOffset:PERCENTui`` command tree. + """ + return self._maskoffset + + @property + def numbins(self) -> PlotPlotItemNumbins: + """Return the ``PLOT:PLOT:NUMBins`` command. + + Description: + - This command sets or queries the current histogram resolution. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:NUMBins?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:NUMBins?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:NUMBins value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:NUMBins {TWENtyfive|FIFTY|HUNdred|TWOFifty|FIVEHundred|TWOThousand|MAXimum} + - PLOT:PLOT:NUMBins? + ``` + + Info: + - ``TWENtyfive`` sets the number of bins to 25. + - ``FIFTY`` sets the number of bins to 50. + - ``HUNdred`` sets the number of bins to 100. + - ``TWOFifty`` sets the number of bins to 250. + - ``FIVEHundred`` sets the number of bins to 500. + - ``TWOThousand`` sets the number of bins to 2000. + - ``MAXimum`` sets the number of bins to the maximum value. + """ # noqa: E501 + return self._numbins + + @property + def ptype(self) -> PlotPlotItemPtype: + """Return the ``PLOT:PLOT:PTYPe`` command. + + Description: + - This command sets or returns the phasor type of the phasor diagram plot. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:PTYPe?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:PTYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:PTYPe value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:PTYPe {RMS|MAGNITUDE} + - PLOT:PLOT:PTYPe? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``RMS`` sets the phasor type to RMS. + - ``MAGNITUDE`` sets the phasor type to MAGNITUDE. + """ + return self._ptype + + @property + def railnum(self) -> PlotPlotItemRailnum: + """Return the ``PLOT:PLOT:RAILNUM`` command. + + Description: + - Sets the DPM histogram source. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:RAILNUM?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:RAILNUM?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:RAILNUM value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:RAILNUM RAIL + - PLOT:PLOT:RAILNUM? + ``` + + Info: + - ``PLOT`` is the plot number. + - ``Rail`` is the rail number. x has a minimum of 1 and a maximum of 7. + """ + return self._railnum + + @property + def source1(self) -> PlotPlotItemSource1: + """Return the ``PLOT:PLOT:SOUrce1`` command. + + Description: + - This command sets or queries the plot source. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SOUrce1?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SOUrce1?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:SOUrce1 value`` + command. + + SCPI Syntax: + ``` + - PLOT:PLOT:SOUrce1 MEAS + - PLOT:PLOT:SOUrce1? + ``` + + Info: + - ``MEAS`` is the specified measurement source for the specified plot. + """ + return self._source1 + + @property + def spectrum(self) -> PlotPlotItemSpectrum: + """Return the ``PLOT:PLOT:SPECtrum`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT:SPECtrum?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT:SPECtrum?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.base``: The ``PLOT:PLOT:SPECtrum:BASE`` command. + - ``.dynrange``: The ``PLOT:PLOT:SPECtrum:DYNRange`` command. + """ + return self._spectrum + + @property + def type(self) -> PlotPlotItemType: + """Return the ``PLOT:PLOT:TYPe`` command. + + Description: + - This command sets or returns the current plot type of the specified plot. + + Usage: + - Using the ``.write(value)`` method will send the ``PLOT:PLOT:TYPe value`` command. + + SCPI Syntax: + ``` + - PLOT:PLOT:TYPe {NONE|BATHTUB|EYEDIAGRAM|HARMONICS|HISTOGRAM|IMDATIMETREND|IMDAACQTREND|INDUCTANCE|IVSINTEGRALV|MAGPROPERTY|PHASENOISE|PHASOR|SOA|SPECTRUM|SSCPROFILE|SWL|TIEHISTOGRAM|TIETIMETREND|TIESPECTRUM|TIMETREND|XY|XYZ} + ``` + + Info: + - ```` is the plot number. This is the equivalent of the number shown on a plot + heading in the UI. + - ``NONE`` does not create a plot. + - ``BATHTUB`` creates a bathtub plot. + - ``EYEDIAGRAM`` creates an eye diagram. This plot type is not available on a 4 Series + MSO instrument. + - ``HARMONICS`` creates a harmonics bar graph. + - ``HISTOGRAM`` creates a histogram plot. + - ``IMDATIMETREND`` creates a IMDA time trend plot. This plot type requires option IMDA. + - ``IMDAACQTREND`` creates a IMDA acq trend plot. This plot type requires option IMDA. + - ``INDUCTANCE`` creates a inductance plot. + - ``IVSINTEGRALV`` creates a I vs. ∫V plot. + - ``PHASENOISE`` creates a phase noise plot. + - ``PHASOR`` creates the Phasor Diagram. This plot type requires option 5-DPM on + MSO58/56 series instruments. + - ``MAGPROPERTY`` creates a BH curve. + - ``SOA`` creates an SOA plot. + - ``SPECTRUM`` creates a spectrum plot. + - ``SSCPROFILE`` creates a SSC profile plot. + - ``SWL`` creates a Switching Loss plot. + - ``TIEHISTOGRAM`` creates a TIE histogram plot. + - ``TIESPECTRUM`` creates a TIE spectrum plot. + - ``TIETIMETREND`` creates a TIE time trend plot. + - ``TIMETREND`` creates a time trend plot. + - ``XY`` creates a XY plot. + - ``XYZ`` creates a XYZ plot. + """ # noqa: E501 + return self._type + + +class PlotList(SCPICmdRead): + """The ``PLOT:LIST`` command. + + Description: + - This command lists all currently defined plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - PLOT:LIST? + ``` + """ + + +class PlotDelete(SCPICmdWrite): + """The ``PLOT:DELete`` command. + + Description: + - This command deletes the specified plot. + + Usage: + - Using the ``.write(value)`` method will send the ``PLOT:DELete value`` command. + + SCPI Syntax: + ``` + - PLOT:DELete + ``` + + Info: + - ```` is the specified plot. Argument is of the form 'PLOT, where is ≥ + 1). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class PlotAddnew(SCPICmdWrite): + """The ``PLOT:ADDNew`` command. + + Description: + - This command adds the specified plot. + + Usage: + - Using the ``.write(value)`` method will send the ``PLOT:ADDNew value`` command. + + SCPI Syntax: + ``` + - PLOT:ADDNew + ``` + + Info: + - ```` is the specified plot. The argument is of the form 'PLOT', where + ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Plot(SCPICmdRead): + """The ``PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``PLOT:ADDNew`` command. + - ``.delete``: The ``PLOT:DELete`` command. + - ``.list``: The ``PLOT:LIST`` command. + - ``.plot``: The ``PLOT:PLOT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "PLOT") -> None: + super().__init__(device, cmd_syntax) + self._addnew = PlotAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._delete = PlotDelete(device, f"{self._cmd_syntax}:DELete") + self._list = PlotList(device, f"{self._cmd_syntax}:LIST") + self._plot: Dict[int, PlotPlotItem] = DefaultDictPassKeyToFactory( + lambda x: PlotPlotItem(device, f"{self._cmd_syntax}:PLOT{x}") + ) + + @property + def addnew(self) -> PlotAddnew: + """Return the ``PLOT:ADDNew`` command. + + Description: + - This command adds the specified plot. + + Usage: + - Using the ``.write(value)`` method will send the ``PLOT:ADDNew value`` command. + + SCPI Syntax: + ``` + - PLOT:ADDNew + ``` + + Info: + - ```` is the specified plot. The argument is of the form 'PLOT', where + ≥ 1. + """ + return self._addnew + + @property + def delete(self) -> PlotDelete: + """Return the ``PLOT:DELete`` command. + + Description: + - This command deletes the specified plot. + + Usage: + - Using the ``.write(value)`` method will send the ``PLOT:DELete value`` command. + + SCPI Syntax: + ``` + - PLOT:DELete + ``` + + Info: + - ```` is the specified plot. Argument is of the form 'PLOT, where + is ≥ 1). + """ + return self._delete + + @property + def list(self) -> PlotList: + """Return the ``PLOT:LIST`` command. + + Description: + - This command lists all currently defined plots. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - PLOT:LIST? + ``` + """ + return self._list + + @property + def plot(self) -> Dict[int, PlotPlotItem]: + """Return the ``PLOT:PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT:PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT:PLOT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bathtub``: The ``PLOT:PLOT:BATHtub`` command tree. + - ``.bittype``: The ``PLOT:PLOT:BITType`` command. + - ``.exportraw``: The ``PLOT:PLOT:EXPORTRaw`` command. + - ``.extenduis``: The ``PLOT:PLOT:EXTENDuis`` command. + - ``.eyerender``: The ``PLOT:PLOT:EYERender`` command. + - ``.imda``: The ``PLOT:PLOT:IMDA`` command tree. + - ``.imdaplotdisplay``: The ``PLOT:PLOT:IMDAPLOTDisplay`` command. + - ``.label``: The ``PLOT:PLOT:LABel`` command tree. + - ``.mask``: The ``PLOT:PLOT:MASK`` command. + - ``.maskoffset``: The ``PLOT:PLOT:MASKOffset`` command tree. + - ``.numbins``: The ``PLOT:PLOT:NUMBins`` command. + - ``.ptype``: The ``PLOT:PLOT:PTYPe`` command. + - ``.railnum``: The ``PLOT:PLOT:RAILNUM`` command. + - ``.source1``: The ``PLOT:PLOT:SOUrce1`` command. + - ``.spectrum``: The ``PLOT:PLOT:SPECtrum`` command tree. + - ``.type``: The ``PLOT:PLOT:TYPe`` command. + """ + return self._plot diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/power.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/power.py new file mode 100644 index 00000000..3c59c095 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/power.py @@ -0,0 +1,22373 @@ +# pylint: disable=line-too-long +"""The power commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - POWer:ADDNew 'POWER' + - POWer:DELete 'POWER' + - POWer:POWer:AUTOSet EXECute + - POWer:POWer:CLRESPONSE:AMP10Val + - POWer:POWer:CLRESPONSE:AMP10Val? + - POWer:POWer:CLRESPONSE:AMP1Val + - POWer:POWer:CLRESPONSE:AMP1Val? + - POWer:POWer:CLRESPONSE:AMP2Val + - POWer:POWer:CLRESPONSE:AMP2Val? + - POWer:POWer:CLRESPONSE:AMP3Val + - POWer:POWer:CLRESPONSE:AMP3Val? + - POWer:POWer:CLRESPONSE:AMP4Val + - POWer:POWer:CLRESPONSE:AMP4Val? + - POWer:POWer:CLRESPONSE:AMP5Val + - POWer:POWer:CLRESPONSE:AMP5Val? + - POWer:POWer:CLRESPONSE:AMP6Val + - POWer:POWer:CLRESPONSE:AMP6Val? + - POWer:POWer:CLRESPONSE:AMP7Val + - POWer:POWer:CLRESPONSE:AMP7Val? + - POWer:POWer:CLRESPONSE:AMP8Val + - POWer:POWer:CLRESPONSE:AMP8Val? + - POWer:POWer:CLRESPONSE:AMP9Val + - POWer:POWer:CLRESPONSE:AMP9Val? + - POWer:POWer:CLRESPONSE:AMPMode {CONSTant|PROFile} + - POWer:POWer:CLRESPONSE:AMPMode? + - POWer:POWer:CLRESPONSE:ANALYSISMethod {SV|FFT} + - POWer:POWer:CLRESPONSE:ANALYSISMethod? + - POWer:POWer:CLRESPONSE:AUTORbw {True|False} + - POWer:POWer:CLRESPONSE:AUTORbw? + - POWer:POWer:CLRESPONSE:CONNECTSTATus? + - POWer:POWer:CLRESPONSE:CONSTAMPlitude + - POWer:POWer:CLRESPONSE:CONSTAMPlitude? + - POWer:POWer:CLRESPONSE:FREQ10Val + - POWer:POWer:CLRESPONSE:FREQ10Val? + - POWer:POWer:CLRESPONSE:FREQ11Val + - POWer:POWer:CLRESPONSE:FREQ11Val? + - POWer:POWer:CLRESPONSE:FREQ1Val + - POWer:POWer:CLRESPONSE:FREQ1Val? + - POWer:POWer:CLRESPONSE:FREQ2Val + - POWer:POWer:CLRESPONSE:FREQ2Val? + - POWer:POWer:CLRESPONSE:FREQ3Val + - POWer:POWer:CLRESPONSE:FREQ3Val? + - POWer:POWer:CLRESPONSE:FREQ4Val + - POWer:POWer:CLRESPONSE:FREQ4Val? + - POWer:POWer:CLRESPONSE:FREQ5Val + - POWer:POWer:CLRESPONSE:FREQ5Val? + - POWer:POWer:CLRESPONSE:FREQ6Val + - POWer:POWer:CLRESPONSE:FREQ6Val? + - POWer:POWer:CLRESPONSE:FREQ7Val + - POWer:POWer:CLRESPONSE:FREQ7Val? + - POWer:POWer:CLRESPONSE:FREQ8Val + - POWer:POWer:CLRESPONSE:FREQ8Val? + - POWer:POWer:CLRESPONSE:FREQ9Val + - POWer:POWer:CLRESPONSE:FREQ9Val? + - POWer:POWer:CLRESPONSE:GENIPADDress + - POWer:POWer:CLRESPONSE:GENIPADDress? + - POWer:POWer:CLRESPONSE:GENerator {INTernal} + - POWer:POWer:CLRESPONSE:GENerator? + - POWer:POWer:CLRESPONSE:IMPEDance {FIFTy|HIGHZ} + - POWer:POWer:CLRESPONSE:IMPEDance? + - POWer:POWer:CLRESPONSE:INPUTSOurce CH + - POWer:POWer:CLRESPONSE:INPUTSOurce? + - POWer:POWer:CLRESPONSE:MON {SAVG|SSEQ} + - POWer:POWer:CLRESPONSE:MON? + - POWer:POWer:CLRESPONSE:OUTPUTSOurce CH + - POWer:POWer:CLRESPONSE:OUTPUTSOurce? + - POWer:POWer:CLRESPONSE:PPD + - POWer:POWer:CLRESPONSE:PPD? + - POWer:POWer:CLRESPONSE:STARTFREQuency + - POWer:POWer:CLRESPONSE:STARTFREQuency? + - POWer:POWer:CLRESPONSE:STOPFREQuency + - POWer:POWer:CLRESPONSE:STOPFREQuency? + - POWer:POWer:CLRESPONSE:TESTCONNection EXECute + - POWer:POWer:CYCLEAmp:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEAmp:INPUTSOurce? + - POWer:POWer:CYCLEBase:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEBase:INPUTSOurce? + - POWer:POWer:CYCLEMAX:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEMAX:INPUTSOurce? + - POWer:POWer:CYCLEMin:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEMin:INPUTSOurce? + - POWer:POWer:CYCLEPKPK:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEPKPK:INPUTSOurce? + - POWer:POWer:CYCLETop:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLETop:INPUTSOurce? + - POWer:POWer:DIDT:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:DIDT:INPUTSOurce? + - POWer:POWer:DIDT:SOURCEEDGEType {RISE|FALL} + - POWer:POWer:DIDT:SOURCEEDGEType? + - POWer:POWer:DVDT:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:DVDT:INPUTSOurce? + - POWer:POWer:DVDT:SOURCEEDGEType {RISE|FALL} + - POWer:POWer:DVDT:SOURCEEDGEType? + - POWer:POWer:EFFICIENCY:INPUTType {AC|DC} + - POWer:POWer:EFFICIENCY:INPUTType? + - POWer:POWer:EFFICIENCY:IOUT1SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT1SOUrce? + - POWer:POWer:EFFICIENCY:IOUT2SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT2SOUrce? + - POWer:POWer:EFFICIENCY:IOUT3SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT3SOUrce? + - POWer:POWer:EFFICIENCY:ISOUrce {CH|MATH|REF} + - POWer:POWer:EFFICIENCY:ISOUrce? + - POWer:POWer:EFFICIENCY:NUMOFOutputs {ONE|TWO|THREE} + - POWer:POWer:EFFICIENCY:NUMOFOutputs? + - POWer:POWer:EFFICIENCY:OUTPUT1Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT1Type? + - POWer:POWer:EFFICIENCY:OUTPUT2Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT2Type? + - POWer:POWer:EFFICIENCY:OUTPUT3Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT3Type? + - POWer:POWer:EFFICIENCY:OUTPUTType {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUTType? + - POWer:POWer:EFFICIENCY:VOUT1SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT1SOUrce? + - POWer:POWer:EFFICIENCY:VOUT2SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT2SOUrce? + - POWer:POWer:EFFICIENCY:VOUT3SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT3SOUrce? + - POWer:POWer:EFFICIENCY:VSOUrce {CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VSOUrce? + - POWer:POWer:FREQUENCY:EDGe {RISE|FALL} + - POWer:POWer:FREQUENCY:EDGe? + - POWer:POWer:FREQUENCY:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:FREQUENCY:INPUTSOurce? + - POWer:POWer:GATing {NONE|CURSOR|SCREEN|LOGIC} + - POWer:POWer:GATing:GLOBal {ON|OFF|1|0} + - POWer:POWer:GATing:GLOBal? + - POWer:POWer:GATing? + - POWer:POWer:HARMONICS:CLASs {CLASSA|CLASSB|CLASSC|CLASSD} + - POWer:POWer:HARMONICS:CLASs? + - POWer:POWer:HARMONICS:CLFile + - POWer:POWer:HARMONICS:CLFile? + - POWer:POWer:HARMONICS:CMEThod {RATed|MEASured} + - POWer:POWer:HARMONICS:CMEThod? + - POWer:POWer:HARMONICS:FUNDCURRent + - POWer:POWer:HARMONICS:FUNDCURRent? + - POWer:POWer:HARMONICS:HORDer + - POWer:POWer:HARMONICS:HORDer? + - POWer:POWer:HARMONICS:HSOURce {CURRent|VOLTage} + - POWer:POWer:HARMONICS:HSOURce? + - POWer:POWer:HARMONICS:IPOWer + - POWer:POWer:HARMONICS:IPOWer? + - POWer:POWer:HARMONICS:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:HARMONICS:ISOURce? + - POWer:POWer:HARMONICS:LINEFREQUEncy {Auto|FIFTyhz|SIXTyhz |THREESIXTyhz|FOURHUNDREdhz|SIXFIFTyhz|EIGHTHUNDREdhz|CUSTom + - POWer:POWer:HARMONICS:LINEFREQUEncy? + - POWer:POWer:HARMONICS:ODDEVen {ALL|ODD|EVEN} + - POWer:POWer:HARMONICS:ODDEVen? + - POWer:POWer:HARMONICS:PFACtor + - POWer:POWer:HARMONICS:PFACtor? + - POWer:POWer:HARMONICS:POWERRating {HIGH|LOW} + - POWer:POWer:HARMONICS:POWERRating? + - POWer:POWer:HARMONICS:RCURRent + - POWer:POWer:HARMONICS:RCURRent? + - POWer:POWer:HARMONICS:STANDard {NONe|IEC|MIL|AM14|DO160|CUSTOM} + - POWer:POWer:HARMONICS:STANDard? + - POWer:POWer:HARMONICS:STARTFREQUEncy + - POWer:POWer:HARMONICS:STARTFREQUEncy? + - POWer:POWer:HARMONICS:UNITs {LOG|LINear} + - POWer:POWer:HARMONICS:UNITs? + - POWer:POWer:HARMONICS:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:HARMONICS:VSOURce? + - POWer:POWer:IMPEDANCE:AMP10Val + - POWer:POWer:IMPEDANCE:AMP10Val? + - POWer:POWer:IMPEDANCE:AMP1Val + - POWer:POWer:IMPEDANCE:AMP1Val? + - POWer:POWer:IMPEDANCE:AMP2Val + - POWer:POWer:IMPEDANCE:AMP2Val? + - POWer:POWer:IMPEDANCE:AMP3Val + - POWer:POWer:IMPEDANCE:AMP3Val? + - POWer:POWer:IMPEDANCE:AMP4Val + - POWer:POWer:IMPEDANCE:AMP4Val? + - POWer:POWer:IMPEDANCE:AMP5Val + - POWer:POWer:IMPEDANCE:AMP5Val? + - POWer:POWer:IMPEDANCE:AMP6Val + - POWer:POWer:IMPEDANCE:AMP6Val? + - POWer:POWer:IMPEDANCE:AMP7Val + - POWer:POWer:IMPEDANCE:AMP7Val? + - POWer:POWer:IMPEDANCE:AMP8Val + - POWer:POWer:IMPEDANCE:AMP8Val? + - POWer:POWer:IMPEDANCE:AMP9Val + - POWer:POWer:IMPEDANCE:AMP9Val? + - POWer:POWer:IMPEDANCE:AMPMode {CONSTant|PROFile} + - POWer:POWer:IMPEDANCE:AMPMode? + - POWer:POWer:IMPEDANCE:ANALYSISMethod {SV|FFT} + - POWer:POWer:IMPEDANCE:ANALYSISMethod? + - POWer:POWer:IMPEDANCE:AUTORbw {True|False} + - POWer:POWer:IMPEDANCE:AUTORbw? + - POWer:POWer:IMPEDANCE:CONNECTSTATus? + - POWer:POWer:IMPEDANCE:CONSTAMPlitude + - POWer:POWer:IMPEDANCE:CONSTAMPlitude? + - POWer:POWer:IMPEDANCE:FREQ10Val + - POWer:POWer:IMPEDANCE:FREQ10Val? + - POWer:POWer:IMPEDANCE:FREQ1Val + - POWer:POWer:IMPEDANCE:FREQ1Val? + - POWer:POWer:IMPEDANCE:FREQ2Val + - POWer:POWer:IMPEDANCE:FREQ2Val? + - POWer:POWer:IMPEDANCE:FREQ3Val + - POWer:POWer:IMPEDANCE:FREQ3Val? + - POWer:POWer:IMPEDANCE:FREQ4Val + - POWer:POWer:IMPEDANCE:FREQ4Val? + - POWer:POWer:IMPEDANCE:FREQ5Val + - POWer:POWer:IMPEDANCE:FREQ5Val? + - POWer:POWer:IMPEDANCE:FREQ6Val + - POWer:POWer:IMPEDANCE:FREQ6Val? + - POWer:POWer:IMPEDANCE:FREQ7Val + - POWer:POWer:IMPEDANCE:FREQ7Val? + - POWer:POWer:IMPEDANCE:FREQ8Val + - POWer:POWer:IMPEDANCE:FREQ8Val? + - POWer:POWer:IMPEDANCE:FREQ9Val + - POWer:POWer:IMPEDANCE:FREQ9Val? + - POWer:POWer:IMPEDANCE:GENIPADDress + - POWer:POWer:IMPEDANCE:GENIPADDress? + - POWer:POWer:IMPEDANCE:GENerator {INTernal|EXTernal} + - POWer:POWer:IMPEDANCE:GENerator? + - POWer:POWer:IMPEDANCE:IMPEDANCE {FIFTy|HIGHZ} + - POWer:POWer:IMPEDANCE:IMPEDANCE? + - POWer:POWer:IMPEDANCE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:IMPEDANCE:INPUTSOurce? + - POWer:POWer:IMPEDANCE:OUTPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:IMPEDANCE:OUTPUTSOurce? + - POWer:POWer:IMPEDANCE:PPD + - POWer:POWer:IMPEDANCE:PPD? + - POWer:POWer:IMPEDANCE:STARTFREQuency + - POWer:POWer:IMPEDANCE:STARTFREQuency? + - POWer:POWer:IMPEDANCE:STOPFREQuency + - POWer:POWer:IMPEDANCE:STOPFREQuency? + - POWer:POWer:IMPEDANCE:TESTCONNection {EXECute} + - POWer:POWer:INDUCTANCE:EDGESource {S_Ch|CH|MATH|REF} + - POWer:POWer:INDUCTANCE:EDGESource? + - POWer:POWer:INDUCTANCE:ISOUrce {CH|MATH|REF} + - POWer:POWer:INDUCTANCE:ISOUrce? + - POWer:POWer:INDUCTANCE:VSOURce {CH|MATH|REF} + - POWer:POWer:INDUCTANCE:VSOURce? + - POWer:POWer:INPUTCAP:ISOURce {CH|REF|MATH} + - POWer:POWer:INPUTCAP:ISOURce? + - POWer:POWer:INPUTCAP:PEAKCURRent + - POWer:POWer:INPUTCAP:PEAKCURRent? + - POWer:POWer:INPUTCAP:PEAKVOLTage + - POWer:POWer:INPUTCAP:PEAKVOLTage? + - POWer:POWer:INPUTCAP:VSOURce {CH|REF|MATH} + - POWer:POWer:INPUTCAP:VSOURce? + - POWer:POWer:INRUSHcurrent:INPUTSOurce {CH|MATH|REF} + - POWer:POWer:INRUSHcurrent:INPUTSOurce? + - POWer:POWer:INRUSHcurrent:PEAKCURRent + - POWer:POWer:INRUSHcurrent:PEAKCURRent? + - POWer:POWer:IVSINTEGRALV:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:IVSINTEGRALV:ISOURce? + - POWer:POWer:IVSINTEGRALV:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:IVSINTEGRALV:VSOURce? + - POWer:POWer:LABel + - POWer:POWer:LABel? + - POWer:POWer:LINERIPPLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:LINERIPPLE:INPUTSOurce? + - POWer:POWer:LINERIPPLE:LFREQuency {FIFty|SIXty|FOURHundred} + - POWer:POWer:LINERIPPLE:LFREQuency? + - POWer:POWer:MAGNETICLOSS:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGNETICLOSS:ISOURce? + - POWer:POWer:MAGNETICLOSS:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGNETICLOSS:VSOURce? + - POWer:POWer:MAGPROPERTY:AREAofcrosssection + - POWer:POWer:MAGPROPERTY:AREAofcrosssection? + - POWer:POWer:MAGPROPERTY:EDGESOURce {Current|VOLTAGE} + - POWer:POWer:MAGPROPERTY:EDGESOURce? + - POWer:POWer:MAGPROPERTY:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:ISOURce? + - POWer:POWer:MAGPROPERTY:LENgth + - POWer:POWer:MAGPROPERTY:LENgth? + - POWer:POWer:MAGPROPERTY:PRIMARYTURNs + - POWer:POWer:MAGPROPERTY:PRIMARYTURNs? + - POWer:POWer:MAGPROPERTY:SEC1SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC1SOURce? + - POWer:POWer:MAGPROPERTY:SEC1TURNs + - POWer:POWer:MAGPROPERTY:SEC1TURNs? + - POWer:POWer:MAGPROPERTY:SEC2SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC2SOURce? + - POWer:POWer:MAGPROPERTY:SEC2TURNs + - POWer:POWer:MAGPROPERTY:SEC2TURNs? + - POWer:POWer:MAGPROPERTY:SEC3SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC3SOURce? + - POWer:POWer:MAGPROPERTY:SEC3TURNs + - POWer:POWer:MAGPROPERTY:SEC3TURNs? + - POWer:POWer:MAGPROPERTY:SEC4SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC4SOURce? + - POWer:POWer:MAGPROPERTY:SEC4TURNs + - POWer:POWer:MAGPROPERTY:SEC4TURNs? + - POWer:POWer:MAGPROPERTY:SEC5SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC5SOURce? + - POWer:POWer:MAGPROPERTY:SEC5TURNs + - POWer:POWer:MAGPROPERTY:SEC5TURNs? + - POWer:POWer:MAGPROPERTY:SEC6SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC6SOURce? + - POWer:POWer:MAGPROPERTY:SEC6TURNs + - POWer:POWer:MAGPROPERTY:SEC6TURNs? + - POWer:POWer:MAGPROPERTY:SECPhase + - POWer:POWer:MAGPROPERTY:SECPhase? + - POWer:POWer:MAGPROPERTY:SECVolt {True|False} + - POWer:POWer:MAGPROPERTY:SECVolt? + - POWer:POWer:MAGPROPERTY:SECWINDings {None|ONE|TWO|THREE|FOUR|FIVE|SIX} + - POWer:POWer:MAGPROPERTY:SECWINDings? + - POWer:POWer:MAGPROPERTY:UNITs {SI|CGS} + - POWer:POWer:MAGPROPERTY:UNITs? + - POWer:POWer:MAGPROPERTY:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:VSOURce? + - POWer:POWer:NDUTYCYCLE:EDGEType {RISE|FALL|BOTH} + - POWer:POWer:NDUTYCYCLE:EDGEType? + - POWer:POWer:NDUTYCYCLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:NDUTYCYCLE:INPUTSOurce? + - POWer:POWer:NPULSEWIDTH:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:NPULSEWIDTH:INPUTSOurce? + - POWer:POWer:PDUTYCYCLE:EDGEType {S_Ch|CH|MATH|REF} + - POWer:POWer:PDUTYCYCLE:EDGEType? + - POWer:POWer:PDUTYCYCLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PDUTYCYCLE:INPUTSOurce? + - POWer:POWer:PERIOD:EDGe {RISE|FALL} + - POWer:POWer:PERIOD:EDGe? + - POWer:POWer:PERIOD:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PERIOD:INPUTSOurce? + - POWer:POWer:POWERQUALITY:CCYCles {ON|OFF 1|0} + - POWer:POWer:POWERQUALITY:CCYCles? + - POWer:POWer:POWERQUALITY:FREFerence {VOLTage|CURRent} + - POWer:POWer:POWERQUALITY:FREFerence? + - POWer:POWer:POWERQUALITY:ISOURce {CH|MATH|REF} + - POWer:POWer:POWERQUALITY:ISOURce? + - POWer:POWer:POWERQUALITY:STYPe {AC|DC} + - POWer:POWer:POWERQUALITY:STYPe? + - POWer:POWer:POWERQUALITY:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:POWERQUALITY:VSOURce? + - POWer:POWer:PPULSEWIDTH:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PPULSEWIDTH:INPUTSOurce? + - POWer:POWer:PRESET {EXECute} + - POWer:POWer:PSRR:AMP10Val + - POWer:POWer:PSRR:AMP10Val? + - POWer:POWer:PSRR:AMP1Val + - POWer:POWer:PSRR:AMP1Val? + - POWer:POWer:PSRR:AMP2Val + - POWer:POWer:PSRR:AMP2Val? + - POWer:POWer:PSRR:AMP3Val + - POWer:POWer:PSRR:AMP3Val? + - POWer:POWer:PSRR:AMP4Val + - POWer:POWer:PSRR:AMP4Val? + - POWer:POWer:PSRR:AMP5Val + - POWer:POWer:PSRR:AMP5Val? + - POWer:POWer:PSRR:AMP6Val + - POWer:POWer:PSRR:AMP6Val? + - POWer:POWer:PSRR:AMP7Val + - POWer:POWer:PSRR:AMP7Val? + - POWer:POWer:PSRR:AMP8Val + - POWer:POWer:PSRR:AMP8Val? + - POWer:POWer:PSRR:AMP9Val + - POWer:POWer:PSRR:AMP9Val? + - POWer:POWer:PSRR:AMPMode {CONSTant|PROFile} + - POWer:POWer:PSRR:AMPMode? + - POWer:POWer:PSRR:ANALYSISMethod {SV|FFT} + - POWer:POWer:PSRR:ANALYSISMethod? + - POWer:POWer:PSRR:AUTORbw {True|False} + - POWer:POWer:PSRR:AUTORbw? + - POWer:POWer:PSRR:CONNECTSTATus? + - POWer:POWer:PSRR:CONSTAMPlitude + - POWer:POWer:PSRR:CONSTAMPlitude? + - POWer:POWer:PSRR:FREQ10Val + - POWer:POWer:PSRR:FREQ10Val? + - POWer:POWer:PSRR:FREQ11Val + - POWer:POWer:PSRR:FREQ11Val? + - POWer:POWer:PSRR:FREQ1Val + - POWer:POWer:PSRR:FREQ1Val? + - POWer:POWer:PSRR:FREQ2Val + - POWer:POWer:PSRR:FREQ2Val? + - POWer:POWer:PSRR:FREQ3Val + - POWer:POWer:PSRR:FREQ3Val? + - POWer:POWer:PSRR:FREQ4Val + - POWer:POWer:PSRR:FREQ4Val? + - POWer:POWer:PSRR:FREQ5Val + - POWer:POWer:PSRR:FREQ5Val? + - POWer:POWer:PSRR:FREQ6Val + - POWer:POWer:PSRR:FREQ6Val? + - POWer:POWer:PSRR:FREQ7Val + - POWer:POWer:PSRR:FREQ7Val? + - POWer:POWer:PSRR:FREQ8Val + - POWer:POWer:PSRR:FREQ8Val? + - POWer:POWer:PSRR:FREQ9Val + - POWer:POWer:PSRR:FREQ9Val? + - POWer:POWer:PSRR:GENIPADDress + - POWer:POWer:PSRR:GENIPADDress? + - POWer:POWer:PSRR:GENerator {INTernal|EXTernal} + - POWer:POWer:PSRR:GENerator? + - POWer:POWer:PSRR:IMPEDance {FIFTy|HIGHZ} + - POWer:POWer:PSRR:IMPEDance? + - POWer:POWer:PSRR:INPUTSOurce CH + - POWer:POWer:PSRR:INPUTSOurce? + - POWer:POWer:PSRR:OUTPUTSOurce CH + - POWer:POWer:PSRR:OUTPUTSOurce? + - POWer:POWer:PSRR:PPD + - POWer:POWer:PSRR:PPD? + - POWer:POWer:PSRR:STARTFREQuency + - POWer:POWer:PSRR:STARTFREQuency? + - POWer:POWer:PSRR:STOPFREQuency + - POWer:POWer:PSRR:STOPFREQuency? + - POWer:POWer:PSRR:TESTCONNection {EXECute} + - POWer:POWer:RDSON:DEVICEType {SWITCHING|PNJUNCTION} + - POWer:POWer:RDSON:DEVICEType? + - POWer:POWer:RDSON:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:RDSON:ISOURce? + - POWer:POWer:RDSON:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:RDSON:VSOURce? + - POWer:POWer:REFLevels:ABSolute:FALLHigh + - POWer:POWer:REFLevels:ABSolute:FALLHigh? + - POWer:POWer:REFLevels:ABSolute:FALLLow + - POWer:POWer:REFLevels:ABSolute:FALLLow? + - POWer:POWer:REFLevels:ABSolute:FALLMid + - POWer:POWer:REFLevels:ABSolute:FALLMid? + - POWer:POWer:REFLevels:ABSolute:HYSTeresis + - POWer:POWer:REFLevels:ABSolute:HYSTeresis? + - POWer:POWer:REFLevels:ABSolute:RISEHigh + - POWer:POWer:REFLevels:ABSolute:RISEHigh? + - POWer:POWer:REFLevels:ABSolute:RISELow + - POWer:POWer:REFLevels:ABSolute:RISELow? + - POWer:POWer:REFLevels:ABSolute:RISEMid + - POWer:POWer:REFLevels:ABSolute:RISEMid? + - POWer:POWer:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - POWer:POWer:REFLevels:ABSolute:TYPE? + - POWer:POWer:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - POWer:POWer:REFLevels:BASETop? + - POWer:POWer:REFLevels:METHod {PERCent|ABSolute} + - POWer:POWer:REFLevels:METHod? + - POWer:POWer:REFLevels:PERCent:FALLHigh + - POWer:POWer:REFLevels:PERCent:FALLHigh? + - POWer:POWer:REFLevels:PERCent:FALLLow + - POWer:POWer:REFLevels:PERCent:FALLLow? + - POWer:POWer:REFLevels:PERCent:FALLMid + - POWer:POWer:REFLevels:PERCent:FALLMid? + - POWer:POWer:REFLevels:PERCent:HYSTeresis + - POWer:POWer:REFLevels:PERCent:HYSTeresis? + - POWer:POWer:REFLevels:PERCent:RISEHigh + - POWer:POWer:REFLevels:PERCent:RISEHigh? + - POWer:POWer:REFLevels:PERCent:RISELow + - POWer:POWer:REFLevels:PERCent:RISELow? + - POWer:POWer:REFLevels:PERCent:RISEMid + - POWer:POWer:REFLevels:PERCent:RISEMid? + - POWer:POWer:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - POWer:POWer:REFLevels:PERCent:TYPE? + - POWer:POWer:RESUlts:ALLAcqs:MAXimum? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability| RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR|PHASE| PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG| TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:ALLAcqs:MEAN? {InputPwr|Output1Pwr|Output2Pwr| Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency| INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc|Hmax| IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ| ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG| TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:ALLAcqs:MINimum? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS| Bpeak|Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR| PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR| IRMS|VRMS|TONENRG|TONLOSS|TOFFENRG| TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG| DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:ALLAcqs:PK2PK? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR| PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR| IRMS|VRMS|TONENRG|TONLOSS|TOFFENRG| TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG| DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:ALLAcqs:POPUlation? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:ALLAcqs:STDDev? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc| Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS| TRUEPWR|APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ| ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG|TONLOSS| TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS| TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS| LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:F1MAG? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:F3MAG? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:FREQUENCY? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:IRMS? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:MAXimum? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS| Bpeak|Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:MEAN? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:MINimum? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:PK2PK? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR|APPPWR| REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS| TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK|SWRIPRMS| SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:POHCL? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:POHCM? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:POHCS? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:POPUlation? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:RMS? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:STATUS? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:STDDev? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc|Hmax|IRipple| DeltaB|DeltaH|Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG|TONLOSS| TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG|DVBYDT| DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK|HIGH|LOW|MAX|MIN |INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + - POWer:POWer:RESUlts:CURRentacq:THDF? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:THDR? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:TRPWR? 'harmonics' + - POWer:POWer:RESUlts:CURRentacq:VRMS? 'harmonics' + - POWer:POWer:SEQSETup Execute + - POWer:POWer:SEQuence {RUN|RERUN} + - POWer:POWer:SEQuence? + - POWer:POWer:SOA:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:SOA:ISOURce? + - POWer:POWer:SOA:POINT ? + - POWer:POWer:SOA:POINT? + - POWer:POWer:SOA:RECAllmask + - POWer:POWer:SOA:RECAllmask:FILEName + - POWer:POWer:SOA:RECAllmask:FILEName? + - POWer:POWer:SOA:RECAllmask? + - POWer:POWer:SOA:SAVemask + - POWer:POWer:SOA:SAVemask:AUTOINCrement + - POWer:POWer:SOA:SAVemask:AUTOINCrement? + - POWer:POWer:SOA:SAVemask:FILEName + - POWer:POWer:SOA:SAVemask:FILEName? + - POWer:POWer:SOA:SAVemask:FOLDer + - POWer:POWer:SOA:SAVemask:FOLDer? + - POWer:POWer:SOA:SAVemask? + - POWer:POWer:SOA:VSOURce {CH|MATH|REF} + - POWer:POWer:SOA:VSOURce? + - POWer:POWer:SWITCHINGLOSS:DEVICEType {MOSFET|BJT} + - POWer:POWer:SWITCHINGLOSS:DEVICEType? + - POWer:POWer:SWITCHINGLOSS:GATESOurce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:GATESOurce? + - POWer:POWer:SWITCHINGLOSS:ILEVELAbs + - POWer:POWer:SWITCHINGLOSS:ILEVELAbs? + - POWer:POWer:SWITCHINGLOSS:ILEVELPct + - POWer:POWer:SWITCHINGLOSS:ILEVELPct? + - POWer:POWer:SWITCHINGLOSS:ISOURce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:ISOURce? + - POWer:POWer:SWITCHINGLOSS:LEVELUNIts {PERCent|ABSolute} + - POWer:POWer:SWITCHINGLOSS:LEVELUNIts? + - POWer:POWer:SWITCHINGLOSS:RDSOn + - POWer:POWer:SWITCHINGLOSS:RDSOn? + - POWer:POWer:SWITCHINGLOSS:SWLCONFIGType {SMPS|PFC|FLYBACK} + - POWer:POWer:SWITCHINGLOSS:SWLCONFIGType? + - POWer:POWer:SWITCHINGLOSS:VCESat + - POWer:POWer:SWITCHINGLOSS:VCESat? + - POWer:POWer:SWITCHINGLOSS:VGLevel + - POWer:POWer:SWITCHINGLOSS:VGLevel? + - POWer:POWer:SWITCHINGLOSS:VLEVELAbs + - POWer:POWer:SWITCHINGLOSS:VLEVELAbs? + - POWer:POWer:SWITCHINGLOSS:VLEVELPct + - POWer:POWer:SWITCHINGLOSS:VLEVELPct? + - POWer:POWer:SWITCHINGLOSS:VSOURce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:VSOURce? + - POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce {CH|MATH|REF} + - POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce? + - POWer:POWer:SWITCHINGRIPPLE:LFREQuency + - POWer:POWer:SWITCHINGRIPPLE:LFREQuency? + - POWer:POWer:TURNOFFtime:FREQuency + - POWer:POWer:TURNOFFtime:FREQuency? + - POWer:POWer:TURNOFFtime:INPUTLEVel + - POWer:POWer:TURNOFFtime:INPUTLEVel? + - POWer:POWer:TURNOFFtime:INPUTSOurce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:INPUTSOurce? + - POWer:POWer:TURNOFFtime:MAXTIMe + - POWer:POWer:TURNOFFtime:MAXTIMe? + - POWer:POWer:TURNOFFtime:MAXVoltage + - POWer:POWer:TURNOFFtime:MAXVoltage? + - POWer:POWer:TURNOFFtime:NUMOUTputs {ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN} + - POWer:POWer:TURNOFFtime:NUMOUTputs? + - POWer:POWer:TURNOFFtime:OUTPUT1SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT1SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT1VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT1VOLTage? + - POWer:POWer:TURNOFFtime:OUTPUT2SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT2SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT2VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT2VOLTage? + - POWer:POWer:TURNOFFtime:OUTPUT3SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT3SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT3VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT3VOLTage? + - POWer:POWer:TURNOFFtime:OUTPUT4SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT4SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT4VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT4VOLTage? + - POWer:POWer:TURNOFFtime:OUTPUT5SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT5SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT5VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT5VOLTage? + - POWer:POWer:TURNOFFtime:OUTPUT6SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT6SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT6VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT6VOLTage? + - POWer:POWer:TURNOFFtime:OUTPUT7SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT7SOURce? + - POWer:POWer:TURNOFFtime:OUTPUT7VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT7VOLTage? + - POWer:POWer:TURNOFFtime:TYPE {DCDC|ACDC} + - POWer:POWer:TURNOFFtime:TYPE? + - POWer:POWer:TURNONtime:FREQuency + - POWer:POWer:TURNONtime:FREQuency? + - POWer:POWer:TURNONtime:INPUTLEVel + - POWer:POWer:TURNONtime:INPUTLEVel? + - POWer:POWer:TURNONtime:INPUTSOurce + - POWer:POWer:TURNONtime:INPUTSOurce? + - POWer:POWer:TURNONtime:MAXTIMe + - POWer:POWer:TURNONtime:MAXTIMe? + - POWer:POWer:TURNONtime:MAXVoltage + - POWer:POWer:TURNONtime:MAXVoltage? + - POWer:POWer:TURNONtime:NUMOUTputs {ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN} + - POWer:POWer:TURNONtime:NUMOUTputs? + - POWer:POWer:TURNONtime:OUTPUT1SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT1SOURce? + - POWer:POWer:TURNONtime:OUTPUT1VOLTage + - POWer:POWer:TURNONtime:OUTPUT1VOLTage? + - POWer:POWer:TURNONtime:OUTPUT2SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT2SOURce? + - POWer:POWer:TURNONtime:OUTPUT2VOLTage + - POWer:POWer:TURNONtime:OUTPUT2VOLTage? + - POWer:POWer:TURNONtime:OUTPUT3SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT3SOURce? + - POWer:POWer:TURNONtime:OUTPUT3VOLTage + - POWer:POWer:TURNONtime:OUTPUT3VOLTage? + - POWer:POWer:TURNONtime:OUTPUT4SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT4SOURce? + - POWer:POWer:TURNONtime:OUTPUT4VOLTage + - POWer:POWer:TURNONtime:OUTPUT4VOLTage? + - POWer:POWer:TURNONtime:OUTPUT5SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT5SOURce? + - POWer:POWer:TURNONtime:OUTPUT5VOLTage + - POWer:POWer:TURNONtime:OUTPUT5VOLTage? + - POWer:POWer:TURNONtime:OUTPUT6SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT6SOURce? + - POWer:POWer:TURNONtime:OUTPUT6VOLTage + - POWer:POWer:TURNONtime:OUTPUT6VOLTage? + - POWer:POWer:TURNONtime:OUTPUT7SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT7SOURce? + - POWer:POWer:TURNONtime:OUTPUT7VOLTage + - POWer:POWer:TURNONtime:OUTPUT7VOLTage? + - POWer:POWer:TURNONtime:TYPE {DCDC|ACDC} + - POWer:POWer:TURNONtime:TYPE? + - POWer:POWer:TYPe + - POWer:POWer:TYPe? + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdReadWithArguments, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class PowerPowerItemType(SCPICmdWrite, SCPICmdRead): + r"""The ``POWer:POWer:TYPe`` command. + + Description: + - This command sets or queries the measurement type of the specified power measurement + number. If the measurement number does not exist, this command creates a new power + measurement, assigns the specified measurement number to the new measurement, and then + assigns the measurement type to the new measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:TYPe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TYPe + - POWer:POWer:TYPe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = CYCLEAmp \| CYCLEBase \| CYCLEMAx \| CYCLEMIn \| CYCLEPKpk \| + CYCLETop \| DIDT \| DVDT \| EFFICIENCY \| FREQuency \| HARMonics \|IMPEDANCE\| INDUCTANCE + \| INPUTCAP \| INRUSHcurrent\| \| IVSINTEGRALV \| LINERIpple \| MAGNETICLOSS \| + MAGPROPERTY \| NDUTYCycle \| NPULSEWidth \| PDUTYCycle \| PERIod \| POWERQUALity \| + PPULSEWidth \| RDSON \| SOA \| SWITCHINGLOss \| SWITCHINGRIpple \| TURNOFFtime \| + TURNONtime\| CLRESPONSE \| PSRR. + """ + + +class PowerPowerItemTurnontimeType(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:TYPE`` command. + + Description: + - This command sets or queries the type of AC/DC converter used in the specified Turn On + Time power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNONtime:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:TURNONtime:TYPE value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:TYPE {DCDC|ACDC} + - POWer:POWer:TURNONtime:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``DCDC`` sets the measurement to use a DC to DC converter. + - ``ACDC`` sets the measurement to use an AC to DC converter. + """ + + +class PowerPowerItemTurnontimeOutput7voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT7VOLTage`` command. + + Description: + - This command sets or queries the output 7 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT7VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT7VOLTage + - POWer:POWer:TURNONtime:OUTPUT7VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput7source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT7SOURce`` command. + + Description: + - This command sets or queries the output 7 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT7SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT7SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT7SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeOutput6voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT6VOLTage`` command. + + Description: + - This command sets or queries the output 6 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT6VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT6VOLTage + - POWer:POWer:TURNONtime:OUTPUT6VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput6source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT6SOURce`` command. + + Description: + - This command sets or queries the output 6 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT6SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT6SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT6SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeOutput5voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT5VOLTage`` command. + + Description: + - This command sets or queries the output 5 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT5VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT5VOLTage + - POWer:POWer:TURNONtime:OUTPUT5VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput5source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT5SOURce`` command. + + Description: + - This command sets or queries the output 5 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT5SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT5SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT5SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeOutput4voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT4VOLTage`` command. + + Description: + - This command sets or queries the output 4 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT4VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT4VOLTage + - POWer:POWer:TURNONtime:OUTPUT4VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput4source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT4SOURce`` command. + + Description: + - This command sets or queries the output 4 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT4SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT4SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT4SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeOutput3voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT3VOLTage`` command. + + Description: + - This command sets or queries the output 3 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT3VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT3VOLTage + - POWer:POWer:TURNONtime:OUTPUT3VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput3source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT3SOURce`` command. + + Description: + - This command sets or queries the output 3 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT3SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT3SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT3SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeOutput2voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT2VOLTage`` command. + + Description: + - This command sets or queries the output 2 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT2VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT2VOLTage + - POWer:POWer:TURNONtime:OUTPUT2VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput2source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT2SOURce`` command. + + Description: + - This command sets or queries the output 2 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT2SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT2SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT2SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeOutput1voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT1VOLTage`` command. + + Description: + - This command sets or queries the output 1 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT1VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT1VOLTage + - POWer:POWer:TURNONtime:OUTPUT1VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnontimeOutput1source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:OUTPUT1SOURce`` command. + + Description: + - This command sets or queries the output 1 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:OUTPUT1SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT1SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT1SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeNumoutputs(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:NUMOUTputs`` command. + + Description: + - This command sets or queries the number of outputs for the specified Turn On Time power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:NUMOUTputs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:NUMOUTputs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:NUMOUTputs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:NUMOUTputs {ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN} + - POWer:POWer:TURNONtime:NUMOUTputs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``ONE`` through SEVEN sets the number of outputs for the specified Turn On Time power + measurement. + """ + + +class PowerPowerItemTurnontimeMaxvoltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:MAXVoltage`` command. + + Description: + - This command sets or returns the maximum voltage setting of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:MAXVoltage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXVoltage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXVoltage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:MAXVoltage + - POWer:POWer:TURNONtime:MAXVoltage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum voltage in the range 1 V + to 500 V. + """ + + +class PowerPowerItemTurnontimeMaxtime(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:MAXTIMe`` command. + + Description: + - This command sets or returns the maximum turn on time of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:MAXTIMe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNONtime:MAXTIMe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXTIMe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:MAXTIMe + - POWer:POWer:TURNONtime:MAXTIMe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum time value, in seconds, + in the range 1 second to 500 seconds. + """ + + +class PowerPowerItemTurnontimeInputsource(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source of the specified Turn On Time measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:TURNONtime:INPUTSOurce`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:INPUTSOurce + - POWer:POWer:TURNONtime:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnontimeInputlevel(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:INPUTLEVel`` command. + + Description: + - This command sets or returns the input voltage level of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:INPUTLEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:INPUTLEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:INPUTLEVel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:INPUTLEVel + - POWer:POWer:TURNONtime:INPUTLEVel? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the voltage level, in volts, from + -500 V to 500 V. + """ + + +class PowerPowerItemTurnontimeFrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNONtime:FREQuency`` command. + + Description: + - This command sets or queries the input frequency used by the AC or DC converter of the + specified Turn On Time measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:FREQuency?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNONtime:FREQuency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:FREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:FREQuency + - POWer:POWer:TURNONtime:FREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the frequency, in Hertz, from 1 Hz to + 500 Hz. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItemTurnontime(SCPICmdRead): + """The ``POWer:POWer:TURNONtime`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNONtime?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.frequency``: The ``POWer:POWer:TURNONtime:FREQuency`` command. + - ``.inputlevel``: The ``POWer:POWer:TURNONtime:INPUTLEVel`` command. + - ``.inputsource``: The ``POWer:POWer:TURNONtime:INPUTSOurce`` command. + - ``.maxtime``: The ``POWer:POWer:TURNONtime:MAXTIMe`` command. + - ``.maxvoltage``: The ``POWer:POWer:TURNONtime:MAXVoltage`` command. + - ``.numoutputs``: The ``POWer:POWer:TURNONtime:NUMOUTputs`` command. + - ``.output1source``: The ``POWer:POWer:TURNONtime:OUTPUT1SOURce`` command. + - ``.output1voltage``: The ``POWer:POWer:TURNONtime:OUTPUT1VOLTage`` command. + - ``.output2source``: The ``POWer:POWer:TURNONtime:OUTPUT2SOURce`` command. + - ``.output2voltage``: The ``POWer:POWer:TURNONtime:OUTPUT2VOLTage`` command. + - ``.output3source``: The ``POWer:POWer:TURNONtime:OUTPUT3SOURce`` command. + - ``.output3voltage``: The ``POWer:POWer:TURNONtime:OUTPUT3VOLTage`` command. + - ``.output4source``: The ``POWer:POWer:TURNONtime:OUTPUT4SOURce`` command. + - ``.output4voltage``: The ``POWer:POWer:TURNONtime:OUTPUT4VOLTage`` command. + - ``.output5source``: The ``POWer:POWer:TURNONtime:OUTPUT5SOURce`` command. + - ``.output5voltage``: The ``POWer:POWer:TURNONtime:OUTPUT5VOLTage`` command. + - ``.output6source``: The ``POWer:POWer:TURNONtime:OUTPUT6SOURce`` command. + - ``.output6voltage``: The ``POWer:POWer:TURNONtime:OUTPUT6VOLTage`` command. + - ``.output7source``: The ``POWer:POWer:TURNONtime:OUTPUT7SOURce`` command. + - ``.output7voltage``: The ``POWer:POWer:TURNONtime:OUTPUT7VOLTage`` command. + - ``.type``: The ``POWer:POWer:TURNONtime:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._frequency = PowerPowerItemTurnontimeFrequency(device, f"{self._cmd_syntax}:FREQuency") + self._inputlevel = PowerPowerItemTurnontimeInputlevel( + device, f"{self._cmd_syntax}:INPUTLEVel" + ) + self._inputsource = PowerPowerItemTurnontimeInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._maxtime = PowerPowerItemTurnontimeMaxtime(device, f"{self._cmd_syntax}:MAXTIMe") + self._maxvoltage = PowerPowerItemTurnontimeMaxvoltage( + device, f"{self._cmd_syntax}:MAXVoltage" + ) + self._numoutputs = PowerPowerItemTurnontimeNumoutputs( + device, f"{self._cmd_syntax}:NUMOUTputs" + ) + self._output1source = PowerPowerItemTurnontimeOutput1source( + device, f"{self._cmd_syntax}:OUTPUT1SOURce" + ) + self._output1voltage = PowerPowerItemTurnontimeOutput1voltage( + device, f"{self._cmd_syntax}:OUTPUT1VOLTage" + ) + self._output2source = PowerPowerItemTurnontimeOutput2source( + device, f"{self._cmd_syntax}:OUTPUT2SOURce" + ) + self._output2voltage = PowerPowerItemTurnontimeOutput2voltage( + device, f"{self._cmd_syntax}:OUTPUT2VOLTage" + ) + self._output3source = PowerPowerItemTurnontimeOutput3source( + device, f"{self._cmd_syntax}:OUTPUT3SOURce" + ) + self._output3voltage = PowerPowerItemTurnontimeOutput3voltage( + device, f"{self._cmd_syntax}:OUTPUT3VOLTage" + ) + self._output4source = PowerPowerItemTurnontimeOutput4source( + device, f"{self._cmd_syntax}:OUTPUT4SOURce" + ) + self._output4voltage = PowerPowerItemTurnontimeOutput4voltage( + device, f"{self._cmd_syntax}:OUTPUT4VOLTage" + ) + self._output5source = PowerPowerItemTurnontimeOutput5source( + device, f"{self._cmd_syntax}:OUTPUT5SOURce" + ) + self._output5voltage = PowerPowerItemTurnontimeOutput5voltage( + device, f"{self._cmd_syntax}:OUTPUT5VOLTage" + ) + self._output6source = PowerPowerItemTurnontimeOutput6source( + device, f"{self._cmd_syntax}:OUTPUT6SOURce" + ) + self._output6voltage = PowerPowerItemTurnontimeOutput6voltage( + device, f"{self._cmd_syntax}:OUTPUT6VOLTage" + ) + self._output7source = PowerPowerItemTurnontimeOutput7source( + device, f"{self._cmd_syntax}:OUTPUT7SOURce" + ) + self._output7voltage = PowerPowerItemTurnontimeOutput7voltage( + device, f"{self._cmd_syntax}:OUTPUT7VOLTage" + ) + self._type = PowerPowerItemTurnontimeType(device, f"{self._cmd_syntax}:TYPE") + + @property + def frequency(self) -> PowerPowerItemTurnontimeFrequency: + """Return the ``POWer:POWer:TURNONtime:FREQuency`` command. + + Description: + - This command sets or queries the input frequency used by the AC or DC converter of the + specified Turn On Time measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:FREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:FREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:FREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:FREQuency + - POWer:POWer:TURNONtime:FREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the frequency, in Hertz, from 1 + Hz to 500 Hz. + """ + return self._frequency + + @property + def inputlevel(self) -> PowerPowerItemTurnontimeInputlevel: + """Return the ``POWer:POWer:TURNONtime:INPUTLEVel`` command. + + Description: + - This command sets or returns the input voltage level of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:INPUTLEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:INPUTLEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:INPUTLEVel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:INPUTLEVel + - POWer:POWer:TURNONtime:INPUTLEVel? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the voltage level, in volts, from + -500 V to 500 V. + """ + return self._inputlevel + + @property + def inputsource(self) -> PowerPowerItemTurnontimeInputsource: + """Return the ``POWer:POWer:TURNONtime:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:TURNONtime:INPUTSOurce`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:INPUTSOurce + - POWer:POWer:TURNONtime:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the + number shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number + shown on a Math waveform badge in the UI. + """ + return self._inputsource + + @property + def maxtime(self) -> PowerPowerItemTurnontimeMaxtime: + """Return the ``POWer:POWer:TURNONtime:MAXTIMe`` command. + + Description: + - This command sets or returns the maximum turn on time of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:MAXTIMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXTIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXTIMe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:MAXTIMe + - POWer:POWer:TURNONtime:MAXTIMe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum time value, in + seconds, in the range 1 second to 500 seconds. + """ + return self._maxtime + + @property + def maxvoltage(self) -> PowerPowerItemTurnontimeMaxvoltage: + """Return the ``POWer:POWer:TURNONtime:MAXVoltage`` command. + + Description: + - This command sets or returns the maximum voltage setting of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:MAXVoltage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXVoltage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:MAXVoltage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:MAXVoltage + - POWer:POWer:TURNONtime:MAXVoltage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum voltage in the range + 1 V to 500 V. + """ + return self._maxvoltage + + @property + def numoutputs(self) -> PowerPowerItemTurnontimeNumoutputs: + """Return the ``POWer:POWer:TURNONtime:NUMOUTputs`` command. + + Description: + - This command sets or queries the number of outputs for the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:NUMOUTputs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:NUMOUTputs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:NUMOUTputs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:NUMOUTputs {ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN} + - POWer:POWer:TURNONtime:NUMOUTputs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``ONE`` through SEVEN sets the number of outputs for the specified Turn On Time power + measurement. + """ + return self._numoutputs + + @property + def output1source(self) -> PowerPowerItemTurnontimeOutput1source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT1SOURce`` command. + + Description: + - This command sets or queries the output 1 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT1SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT1SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output1source + + @property + def output1voltage(self) -> PowerPowerItemTurnontimeOutput1voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT1VOLTage`` command. + + Description: + - This command sets or queries the output 1 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT1VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT1VOLTage + - POWer:POWer:TURNONtime:OUTPUT1VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output1voltage + + @property + def output2source(self) -> PowerPowerItemTurnontimeOutput2source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT2SOURce`` command. + + Description: + - This command sets or queries the output 2 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT2SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT2SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output2source + + @property + def output2voltage(self) -> PowerPowerItemTurnontimeOutput2voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT2VOLTage`` command. + + Description: + - This command sets or queries the output 2 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT2VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT2VOLTage + - POWer:POWer:TURNONtime:OUTPUT2VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output2voltage + + @property + def output3source(self) -> PowerPowerItemTurnontimeOutput3source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT3SOURce`` command. + + Description: + - This command sets or queries the output 3 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT3SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT3SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output3source + + @property + def output3voltage(self) -> PowerPowerItemTurnontimeOutput3voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT3VOLTage`` command. + + Description: + - This command sets or queries the output 3 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT3VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT3VOLTage + - POWer:POWer:TURNONtime:OUTPUT3VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output3voltage + + @property + def output4source(self) -> PowerPowerItemTurnontimeOutput4source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT4SOURce`` command. + + Description: + - This command sets or queries the output 4 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT4SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT4SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output4source + + @property + def output4voltage(self) -> PowerPowerItemTurnontimeOutput4voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT4VOLTage`` command. + + Description: + - This command sets or queries the output 4 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT4VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT4VOLTage + - POWer:POWer:TURNONtime:OUTPUT4VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output4voltage + + @property + def output5source(self) -> PowerPowerItemTurnontimeOutput5source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT5SOURce`` command. + + Description: + - This command sets or queries the output 5 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT5SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT5SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output5source + + @property + def output5voltage(self) -> PowerPowerItemTurnontimeOutput5voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT5VOLTage`` command. + + Description: + - This command sets or queries the output 5 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT5VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT5VOLTage + - POWer:POWer:TURNONtime:OUTPUT5VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output5voltage + + @property + def output6source(self) -> PowerPowerItemTurnontimeOutput6source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT6SOURce`` command. + + Description: + - This command sets or queries the output 6 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT6SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT6SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output6source + + @property + def output6voltage(self) -> PowerPowerItemTurnontimeOutput6voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT6VOLTage`` command. + + Description: + - This command sets or queries the output 6 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT6VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT6VOLTage + - POWer:POWer:TURNONtime:OUTPUT6VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output6voltage + + @property + def output7source(self) -> PowerPowerItemTurnontimeOutput7source: + """Return the ``POWer:POWer:TURNONtime:OUTPUT7SOURce`` command. + + Description: + - This command sets or queries the output 7 source of the specified Turn On Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT7SOURce {CH|REF|MATH} + - POWer:POWer:TURNONtime:OUTPUT7SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output7source + + @property + def output7voltage(self) -> PowerPowerItemTurnontimeOutput7voltage: + """Return the ``POWer:POWer:TURNONtime:OUTPUT7VOLTage`` command. + + Description: + - This command sets or queries the output 7 voltage level of the specified Turn On Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:OUTPUT7VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:OUTPUT7VOLTage + - POWer:POWer:TURNONtime:OUTPUT7VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output7voltage + + @property + def type(self) -> PowerPowerItemTurnontimeType: + """Return the ``POWer:POWer:TURNONtime:TYPE`` command. + + Description: + - This command sets or queries the type of AC/DC converter used in the specified Turn On + Time power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNONtime:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNONtime:TYPE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNONtime:TYPE {DCDC|ACDC} + - POWer:POWer:TURNONtime:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``DCDC`` sets the measurement to use a DC to DC converter. + - ``ACDC`` sets the measurement to use an AC to DC converter. + """ + return self._type + + +class PowerPowerItemTurnofftimeType(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:TYPE`` command. + + Description: + - This command sets or queries the type of AC/DC converter used in the specified Turn Off + Time power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNOFFtime:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:TURNOFFtime:TYPE value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:TYPE {DCDC|ACDC} + - POWer:POWer:TURNOFFtime:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``DCDC`` sets the measurement to use a DC to DC converter. + - ``ACDC`` sets the measurement to use an AC to DC converter. + """ + + +class PowerPowerItemTurnofftimeOutput7voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage`` command. + + Description: + - This command sets or queries the output 7 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT7VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT7VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput7source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce`` command. + + Description: + - This command sets or queries the output 7 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT7SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT7SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeOutput6voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage`` command. + + Description: + - This command sets or queries the output 6 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT6VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT6VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput6source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce`` command. + + Description: + - This command sets or queries the output 6 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT6SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT6SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeOutput5voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage`` command. + + Description: + - This command sets or queries the output 5 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT5VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT5VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput5source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce`` command. + + Description: + - This command sets or queries the output 5 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT5SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT5SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeOutput4voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage`` command. + + Description: + - This command sets or queries the output 4 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT4VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT4VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput4source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce`` command. + + Description: + - This command sets or queries the output 4 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT4SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT4SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeOutput3voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage`` command. + + Description: + - This command sets or queries the output 3 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT3VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT3VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput3source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce`` command. + + Description: + - This command sets or queries the output 3 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT3SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT3SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeOutput2voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage`` command. + + Description: + - This command sets or queries the output 2 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT2VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT2VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput2source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce`` command. + + Description: + - This command sets or queries the output 2 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT2SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT2SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeOutput1voltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage`` command. + + Description: + - This command sets or queries the output 1 voltage level of the of the specified Turn Off + Time power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT1VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT1VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + + +class PowerPowerItemTurnofftimeOutput1source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce`` command. + + Description: + - This command sets or queries the output 1 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT1SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT1SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number of + instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number shown + on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown on a + Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeNumoutputs(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:NUMOUTputs`` command. + + Description: + - This command sets or queries the number of outputs of the specified Turn Off Time power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:NUMOUTputs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:NUMOUTputs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:NUMOUTputs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:NUMOUTputs {ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN} + - POWer:POWer:TURNOFFtime:NUMOUTputs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``ONE`` through SEVEN sets the number of outputs for the Turn Off Time measurement. + """ + + +class PowerPowerItemTurnofftimeMaxvoltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:MAXVoltage`` command. + + Description: + - This command sets or queries the maximum voltage of the specified Turn OffTime + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:MAXVoltage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXVoltage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXVoltage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:MAXVoltage + - POWer:POWer:TURNOFFtime:MAXVoltage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum voltage in the range 1 V + to 500 V. + """ + + +class PowerPowerItemTurnofftimeMaxtime(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:MAXTIMe`` command. + + Description: + - This command sets or queries the maximum turn off time of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:MAXTIMe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNOFFtime:MAXTIMe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXTIMe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:MAXTIMe + - POWer:POWer:TURNOFFtime:MAXTIMe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum time value, in seconds, + in the range 1 second to 500 seconds. + """ + + +class PowerPowerItemTurnofftimeInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source of the specified Turn Off Time measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:INPUTSOurce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + + +class PowerPowerItemTurnofftimeInputlevel(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:INPUTLEVel`` command. + + Description: + - This command sets or queries the input voltage level of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:INPUTLEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTLEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTLEVel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:INPUTLEVel + - POWer:POWer:TURNOFFtime:INPUTLEVel? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the voltage level, in volts, from + -500 V to 500 V. + """ + + +class PowerPowerItemTurnofftimeFrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime:FREQuency`` command. + + Description: + - This command sets or queries the input frequency used by the AC or DC converter of the + specified Turn Off Time measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:FREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:FREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:FREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:FREQuency + - POWer:POWer:TURNOFFtime:FREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the frequency, in Hertz, from 1 Hz to + 500 Hz. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItemTurnofftime(SCPICmdRead): + """The ``POWer:POWer:TURNOFFtime`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNOFFtime?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.frequency``: The ``POWer:POWer:TURNOFFtime:FREQuency`` command. + - ``.inputlevel``: The ``POWer:POWer:TURNOFFtime:INPUTLEVel`` command. + - ``.inputsource``: The ``POWer:POWer:TURNOFFtime:INPUTSOurce`` command. + - ``.maxtime``: The ``POWer:POWer:TURNOFFtime:MAXTIMe`` command. + - ``.maxvoltage``: The ``POWer:POWer:TURNOFFtime:MAXVoltage`` command. + - ``.numoutputs``: The ``POWer:POWer:TURNOFFtime:NUMOUTputs`` command. + - ``.output1source``: The ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce`` command. + - ``.output1voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage`` command. + - ``.output2source``: The ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce`` command. + - ``.output2voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage`` command. + - ``.output3source``: The ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce`` command. + - ``.output3voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage`` command. + - ``.output4source``: The ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce`` command. + - ``.output4voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage`` command. + - ``.output5source``: The ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce`` command. + - ``.output5voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage`` command. + - ``.output6source``: The ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce`` command. + - ``.output6voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage`` command. + - ``.output7source``: The ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce`` command. + - ``.output7voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage`` command. + - ``.type``: The ``POWer:POWer:TURNOFFtime:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._frequency = PowerPowerItemTurnofftimeFrequency( + device, f"{self._cmd_syntax}:FREQuency" + ) + self._inputlevel = PowerPowerItemTurnofftimeInputlevel( + device, f"{self._cmd_syntax}:INPUTLEVel" + ) + self._inputsource = PowerPowerItemTurnofftimeInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._maxtime = PowerPowerItemTurnofftimeMaxtime(device, f"{self._cmd_syntax}:MAXTIMe") + self._maxvoltage = PowerPowerItemTurnofftimeMaxvoltage( + device, f"{self._cmd_syntax}:MAXVoltage" + ) + self._numoutputs = PowerPowerItemTurnofftimeNumoutputs( + device, f"{self._cmd_syntax}:NUMOUTputs" + ) + self._output1source = PowerPowerItemTurnofftimeOutput1source( + device, f"{self._cmd_syntax}:OUTPUT1SOURce" + ) + self._output1voltage = PowerPowerItemTurnofftimeOutput1voltage( + device, f"{self._cmd_syntax}:OUTPUT1VOLTage" + ) + self._output2source = PowerPowerItemTurnofftimeOutput2source( + device, f"{self._cmd_syntax}:OUTPUT2SOURce" + ) + self._output2voltage = PowerPowerItemTurnofftimeOutput2voltage( + device, f"{self._cmd_syntax}:OUTPUT2VOLTage" + ) + self._output3source = PowerPowerItemTurnofftimeOutput3source( + device, f"{self._cmd_syntax}:OUTPUT3SOURce" + ) + self._output3voltage = PowerPowerItemTurnofftimeOutput3voltage( + device, f"{self._cmd_syntax}:OUTPUT3VOLTage" + ) + self._output4source = PowerPowerItemTurnofftimeOutput4source( + device, f"{self._cmd_syntax}:OUTPUT4SOURce" + ) + self._output4voltage = PowerPowerItemTurnofftimeOutput4voltage( + device, f"{self._cmd_syntax}:OUTPUT4VOLTage" + ) + self._output5source = PowerPowerItemTurnofftimeOutput5source( + device, f"{self._cmd_syntax}:OUTPUT5SOURce" + ) + self._output5voltage = PowerPowerItemTurnofftimeOutput5voltage( + device, f"{self._cmd_syntax}:OUTPUT5VOLTage" + ) + self._output6source = PowerPowerItemTurnofftimeOutput6source( + device, f"{self._cmd_syntax}:OUTPUT6SOURce" + ) + self._output6voltage = PowerPowerItemTurnofftimeOutput6voltage( + device, f"{self._cmd_syntax}:OUTPUT6VOLTage" + ) + self._output7source = PowerPowerItemTurnofftimeOutput7source( + device, f"{self._cmd_syntax}:OUTPUT7SOURce" + ) + self._output7voltage = PowerPowerItemTurnofftimeOutput7voltage( + device, f"{self._cmd_syntax}:OUTPUT7VOLTage" + ) + self._type = PowerPowerItemTurnofftimeType(device, f"{self._cmd_syntax}:TYPE") + + @property + def frequency(self) -> PowerPowerItemTurnofftimeFrequency: + """Return the ``POWer:POWer:TURNOFFtime:FREQuency`` command. + + Description: + - This command sets or queries the input frequency used by the AC or DC converter of the + specified Turn Off Time measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:FREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:FREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:FREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:FREQuency + - POWer:POWer:TURNOFFtime:FREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the frequency, in Hertz, from 1 + Hz to 500 Hz. + """ + return self._frequency + + @property + def inputlevel(self) -> PowerPowerItemTurnofftimeInputlevel: + """Return the ``POWer:POWer:TURNOFFtime:INPUTLEVel`` command. + + Description: + - This command sets or queries the input voltage level of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:INPUTLEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTLEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTLEVel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:INPUTLEVel + - POWer:POWer:TURNOFFtime:INPUTLEVel? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the voltage level, in volts, from + -500 V to 500 V. + """ + return self._inputlevel + + @property + def inputsource(self) -> PowerPowerItemTurnofftimeInputsource: + """Return the ``POWer:POWer:TURNOFFtime:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:INPUTSOurce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the + number shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number + shown on a Math waveform badge in the UI. + """ + return self._inputsource + + @property + def maxtime(self) -> PowerPowerItemTurnofftimeMaxtime: + """Return the ``POWer:POWer:TURNOFFtime:MAXTIMe`` command. + + Description: + - This command sets or queries the maximum turn off time of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:MAXTIMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXTIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXTIMe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:MAXTIMe + - POWer:POWer:TURNOFFtime:MAXTIMe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum time value, in + seconds, in the range 1 second to 500 seconds. + """ + return self._maxtime + + @property + def maxvoltage(self) -> PowerPowerItemTurnofftimeMaxvoltage: + """Return the ``POWer:POWer:TURNOFFtime:MAXVoltage`` command. + + Description: + - This command sets or queries the maximum voltage of the specified Turn OffTime + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:MAXVoltage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXVoltage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:MAXVoltage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:MAXVoltage + - POWer:POWer:TURNOFFtime:MAXVoltage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the maximum voltage in the range + 1 V to 500 V. + """ + return self._maxvoltage + + @property + def numoutputs(self) -> PowerPowerItemTurnofftimeNumoutputs: + """Return the ``POWer:POWer:TURNOFFtime:NUMOUTputs`` command. + + Description: + - This command sets or queries the number of outputs of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:NUMOUTputs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:NUMOUTputs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:NUMOUTputs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:NUMOUTputs {ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN} + - POWer:POWer:TURNOFFtime:NUMOUTputs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``ONE`` through SEVEN sets the number of outputs for the Turn Off Time measurement. + """ + return self._numoutputs + + @property + def output1source(self) -> PowerPowerItemTurnofftimeOutput1source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce`` command. + + Description: + - This command sets or queries the output 1 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT1SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT1SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output1source + + @property + def output1voltage(self) -> PowerPowerItemTurnofftimeOutput1voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage`` command. + + Description: + - This command sets or queries the output 1 voltage level of the of the specified Turn + Off Time power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT1VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT1VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output1voltage + + @property + def output2source(self) -> PowerPowerItemTurnofftimeOutput2source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce`` command. + + Description: + - This command sets or queries the output 2 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT2SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT2SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output2source + + @property + def output2voltage(self) -> PowerPowerItemTurnofftimeOutput2voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage`` command. + + Description: + - This command sets or queries the output 2 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT2VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT2VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output2voltage + + @property + def output3source(self) -> PowerPowerItemTurnofftimeOutput3source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce`` command. + + Description: + - This command sets or queries the output 3 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT3SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT3SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output3source + + @property + def output3voltage(self) -> PowerPowerItemTurnofftimeOutput3voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage`` command. + + Description: + - This command sets or queries the output 3 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT3VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT3VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output3voltage + + @property + def output4source(self) -> PowerPowerItemTurnofftimeOutput4source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce`` command. + + Description: + - This command sets or queries the output 4 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT4SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT4SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output4source + + @property + def output4voltage(self) -> PowerPowerItemTurnofftimeOutput4voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage`` command. + + Description: + - This command sets or queries the output 4 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT4VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT4VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output4voltage + + @property + def output5source(self) -> PowerPowerItemTurnofftimeOutput5source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce`` command. + + Description: + - This command sets or queries the output 5 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT5SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT5SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output5source + + @property + def output5voltage(self) -> PowerPowerItemTurnofftimeOutput5voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage`` command. + + Description: + - This command sets or queries the output 5 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT5VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT5VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output5voltage + + @property + def output6source(self) -> PowerPowerItemTurnofftimeOutput6source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce`` command. + + Description: + - This command sets or queries the output 6 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT6SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT6SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output6source + + @property + def output6voltage(self) -> PowerPowerItemTurnofftimeOutput6voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage`` command. + + Description: + - This command sets or queries the output 6 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT6VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT6VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output6voltage + + @property + def output7source(self) -> PowerPowerItemTurnofftimeOutput7source: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce`` command. + + Description: + - This command sets or queries the output 7 source of the specified Turn Off Time + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT7SOURce {CH|REF|MATH} + - POWer:POWer:TURNOFFtime:OUTPUT7SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` A channel specifier in the range of 1 through 8 and is limited by the number + of instrument input channels. + - ``REF`` A Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` A Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + return self._output7source + + @property + def output7voltage(self) -> PowerPowerItemTurnofftimeOutput7voltage: + """Return the ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage`` command. + + Description: + - This command sets or queries the output 7 voltage level of the specified Turn Off Time + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:OUTPUT7VOLTage + - POWer:POWer:TURNOFFtime:OUTPUT7VOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` sets the output voltage value, in the range of -6,000 volts to +6,000 volts. + """ + return self._output7voltage + + @property + def type(self) -> PowerPowerItemTurnofftimeType: + """Return the ``POWer:POWer:TURNOFFtime:TYPE`` command. + + Description: + - This command sets or queries the type of AC/DC converter used in the specified Turn + Off Time power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNOFFtime:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:TURNOFFtime:TYPE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:TURNOFFtime:TYPE {DCDC|ACDC} + - POWer:POWer:TURNOFFtime:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``DCDC`` sets the measurement to use a DC to DC converter. + - ``ACDC`` sets the measurement to use an AC to DC converter. + """ + return self._type + + +class PowerPowerItemSwitchingrippleLfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency`` command. + + Description: + - This command sets or queries the switching frequency for switching ripple measurement in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGRIPPLE:LFREQuency + - POWer:POWer:SWITCHINGRIPPLE:LFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 50 to 1000000. + """ + + +class PowerPowerItemSwitchingrippleInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for switching ripple measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce {CH|MATH|REF} + - POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemSwitchingripple(SCPICmdRead): + """The ``POWer:POWer:SWITCHINGRIPPLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGRIPPLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SWITCHINGRIPPLE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce`` command. + - ``.lfrequency``: The ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemSwitchingrippleInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._lfrequency = PowerPowerItemSwitchingrippleLfrequency( + device, f"{self._cmd_syntax}:LFREQuency" + ) + + @property + def inputsource(self) -> PowerPowerItemSwitchingrippleInputsource: + """Return the ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for switching ripple measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce {CH|MATH|REF} + - POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + @property + def lfrequency(self) -> PowerPowerItemSwitchingrippleLfrequency: + """Return the ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency`` command. + + Description: + - This command sets or queries the switching frequency for switching ripple measurement + in the specified power measurement number. The power measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGRIPPLE:LFREQuency + - POWer:POWer:SWITCHINGRIPPLE:LFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 50 to 1000000. + """ + return self._lfrequency + + +class PowerPowerItemSwitchinglossVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for the switching loss measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VSOURce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemSwitchinglossVlevelpct(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:VLEVELPct`` command. + + Description: + - This command sets or queries the voltage level (Ton-Start & Stop) in percentage for + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VLEVELPct?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELPct?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELPct value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VLEVELPct + - POWer:POWer:SWITCHINGLOSS:VLEVELPct? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 0.0001 to 90. + """ + + +class PowerPowerItemSwitchinglossVlevelabs(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs`` command. + + Description: + - This command sets or queries the voltage level (Ton-Start & Stop) in absolute units for + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VLEVELAbs + - POWer:POWer:SWITCHINGLOSS:VLEVELAbs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -100 to 100. + """ + + +class PowerPowerItemSwitchinglossVglevel(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:VGLevel`` command. + + Description: + - This command sets or queries the gate voltage value (V g Level Ton-Start) for the + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VGLevel?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VGLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VGLevel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VGLevel + - POWer:POWer:SWITCHINGLOSS:VGLevel? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -100 to 100. + """ + + +class PowerPowerItemSwitchinglossVcesat(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:VCESat`` command. + + Description: + - This command sets or queries the value for the VCE(sat) value for switching loss + measurement in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VCESat?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SWITCHINGLOSS:VCESat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VCESat value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VCESat + - POWer:POWer:SWITCHINGLOSS:VCESat? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 0.001 to 100. + """ + + +class PowerPowerItemSwitchinglossSwlconfigtype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType`` command. + + Description: + - This command sets or queries the configuration type for the switching loss measurement in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:SWLCONFIGType {SMPS|PFC|FLYBACK} + - POWer:POWer:SWITCHINGLOSS:SWLCONFIGType? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``SMPS`` : Select this option in case of signals without noise and ringing. The Vg source + is not required. Select Vg souce (Source 3), in case of noisy signal. + - ``PFC`` : Select this option when input DUT signals are from Power Factor Correction + Circuit. For this case, Vg source is mandatory. + - ``FLYBACK`` : Select this option when input signals are ringing. This option does not + require a Vg source. + """ + + +class PowerPowerItemSwitchinglossRdson(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:RDSOn`` command. + + Description: + - This command sets or queries the RDS(on) value for switching loss measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:RDSOn?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SWITCHINGLOSS:RDSOn?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:RDSOn value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:RDSOn + - POWer:POWer:SWITCHINGLOSS:RDSOn? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 0 to 100. + """ + + +class PowerPowerItemSwitchinglossLevelunits(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts`` command. + + Description: + - This command sets or queries the level units for switching loss measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:LEVELUNIts {PERCent|ABSolute} + - POWer:POWer:SWITCHINGLOSS:LEVELUNIts? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``PERCent`` to set the High, Mid, and Low reference levels in percentage. + - ``ABSolute`` to set the High, Mid, and Low reference levels to specific signal levels. + """ + + +class PowerPowerItemSwitchinglossIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:ISOURce`` command. + + Description: + - This command sets or queries the current source for the switching loss measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:ISOURce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemSwitchinglossIlevelpct(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:ILEVELPct`` command. + + Description: + - This command sets or queries the current level (Ton-Start & Stop) in percentage for + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:ILEVELPct?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELPct?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELPct value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:ILEVELPct + - POWer:POWer:SWITCHINGLOSS:ILEVELPct? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 0.0001 to 90. + """ + + +class PowerPowerItemSwitchinglossIlevelabs(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs`` command. + + Description: + - This command sets or queries the current level (Ton-Start & Stop) in absolute units for + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:ILEVELAbs + - POWer:POWer:SWITCHINGLOSS:ILEVELAbs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -100 to 100. + """ + + +class PowerPowerItemSwitchinglossGatesource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:GATESOurce`` command. + + Description: + - This command sets or queries the gate voltage (V g ) for the switching loss measurement in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:GATESOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:GATESOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:GATESOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:GATESOurce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:GATESOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemSwitchinglossDevicetype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS:DEVICEType`` command. + + Description: + - This command sets or queries the conduction calculation method for switching loss + measurement in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:DEVICEType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:DEVICEType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:DEVICEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:DEVICEType {MOSFET|BJT} + - POWer:POWer:SWITCHINGLOSS:DEVICEType? + ``` + """ + + +# pylint: disable=too-many-instance-attributes +class PowerPowerItemSwitchingloss(SCPICmdRead): + """The ``POWer:POWer:SWITCHINGLOSS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SWITCHINGLOSS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.devicetype``: The ``POWer:POWer:SWITCHINGLOSS:DEVICEType`` command. + - ``.gatesource``: The ``POWer:POWer:SWITCHINGLOSS:GATESOurce`` command. + - ``.ilevelabs``: The ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs`` command. + - ``.ilevelpct``: The ``POWer:POWer:SWITCHINGLOSS:ILEVELPct`` command. + - ``.isource``: The ``POWer:POWer:SWITCHINGLOSS:ISOURce`` command. + - ``.levelunits``: The ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts`` command. + - ``.rdson``: The ``POWer:POWer:SWITCHINGLOSS:RDSOn`` command. + - ``.swlconfigtype``: The ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType`` command. + - ``.vcesat``: The ``POWer:POWer:SWITCHINGLOSS:VCESat`` command. + - ``.vglevel``: The ``POWer:POWer:SWITCHINGLOSS:VGLevel`` command. + - ``.vlevelabs``: The ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs`` command. + - ``.vlevelpct``: The ``POWer:POWer:SWITCHINGLOSS:VLEVELPct`` command. + - ``.vsource``: The ``POWer:POWer:SWITCHINGLOSS:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._devicetype = PowerPowerItemSwitchinglossDevicetype( + device, f"{self._cmd_syntax}:DEVICEType" + ) + self._gatesource = PowerPowerItemSwitchinglossGatesource( + device, f"{self._cmd_syntax}:GATESOurce" + ) + self._ilevelabs = PowerPowerItemSwitchinglossIlevelabs( + device, f"{self._cmd_syntax}:ILEVELAbs" + ) + self._ilevelpct = PowerPowerItemSwitchinglossIlevelpct( + device, f"{self._cmd_syntax}:ILEVELPct" + ) + self._isource = PowerPowerItemSwitchinglossIsource(device, f"{self._cmd_syntax}:ISOURce") + self._levelunits = PowerPowerItemSwitchinglossLevelunits( + device, f"{self._cmd_syntax}:LEVELUNIts" + ) + self._rdson = PowerPowerItemSwitchinglossRdson(device, f"{self._cmd_syntax}:RDSOn") + self._swlconfigtype = PowerPowerItemSwitchinglossSwlconfigtype( + device, f"{self._cmd_syntax}:SWLCONFIGType" + ) + self._vcesat = PowerPowerItemSwitchinglossVcesat(device, f"{self._cmd_syntax}:VCESat") + self._vglevel = PowerPowerItemSwitchinglossVglevel(device, f"{self._cmd_syntax}:VGLevel") + self._vlevelabs = PowerPowerItemSwitchinglossVlevelabs( + device, f"{self._cmd_syntax}:VLEVELAbs" + ) + self._vlevelpct = PowerPowerItemSwitchinglossVlevelpct( + device, f"{self._cmd_syntax}:VLEVELPct" + ) + self._vsource = PowerPowerItemSwitchinglossVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def devicetype(self) -> PowerPowerItemSwitchinglossDevicetype: + """Return the ``POWer:POWer:SWITCHINGLOSS:DEVICEType`` command. + + Description: + - This command sets or queries the conduction calculation method for switching loss + measurement in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:DEVICEType?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:DEVICEType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:DEVICEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:DEVICEType {MOSFET|BJT} + - POWer:POWer:SWITCHINGLOSS:DEVICEType? + ``` + """ + return self._devicetype + + @property + def gatesource(self) -> PowerPowerItemSwitchinglossGatesource: + """Return the ``POWer:POWer:SWITCHINGLOSS:GATESOurce`` command. + + Description: + - This command sets or queries the gate voltage (V g ) for the switching loss + measurement in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:GATESOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:GATESOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:GATESOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:GATESOurce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:GATESOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._gatesource + + @property + def ilevelabs(self) -> PowerPowerItemSwitchinglossIlevelabs: + """Return the ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs`` command. + + Description: + - This command sets or queries the current level (Ton-Start & Stop) in absolute units + for switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:ILEVELAbs + - POWer:POWer:SWITCHINGLOSS:ILEVELAbs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -100 to 100. + """ + return self._ilevelabs + + @property + def ilevelpct(self) -> PowerPowerItemSwitchinglossIlevelpct: + """Return the ``POWer:POWer:SWITCHINGLOSS:ILEVELPct`` command. + + Description: + - This command sets or queries the current level (Ton-Start & Stop) in percentage for + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELPct?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELPct?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ILEVELPct value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:ILEVELPct + - POWer:POWer:SWITCHINGLOSS:ILEVELPct? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 0.0001 to 90. + """ + return self._ilevelpct + + @property + def isource(self) -> PowerPowerItemSwitchinglossIsource: + """Return the ``POWer:POWer:SWITCHINGLOSS:ISOURce`` command. + + Description: + - This command sets or queries the current source for the switching loss measurement in + the specified power measurement number. The power measurement number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:ISOURce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def levelunits(self) -> PowerPowerItemSwitchinglossLevelunits: + """Return the ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts`` command. + + Description: + - This command sets or queries the level units for switching loss measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:LEVELUNIts {PERCent|ABSolute} + - POWer:POWer:SWITCHINGLOSS:LEVELUNIts? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``PERCent`` to set the High, Mid, and Low reference levels in percentage. + - ``ABSolute`` to set the High, Mid, and Low reference levels to specific signal levels. + """ + return self._levelunits + + @property + def rdson(self) -> PowerPowerItemSwitchinglossRdson: + """Return the ``POWer:POWer:SWITCHINGLOSS:RDSOn`` command. + + Description: + - This command sets or queries the RDS(on) value for switching loss measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:RDSOn?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:RDSOn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:RDSOn value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:RDSOn + - POWer:POWer:SWITCHINGLOSS:RDSOn? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 0 to 100. + """ + return self._rdson + + @property + def swlconfigtype(self) -> PowerPowerItemSwitchinglossSwlconfigtype: + """Return the ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType`` command. + + Description: + - This command sets or queries the configuration type for the switching loss measurement + in the specified power measurement number. The power measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:SWLCONFIGType {SMPS|PFC|FLYBACK} + - POWer:POWer:SWITCHINGLOSS:SWLCONFIGType? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``SMPS`` : Select this option in case of signals without noise and ringing. The Vg + source is not required. Select Vg souce (Source 3), in case of noisy signal. + - ``PFC`` : Select this option when input DUT signals are from Power Factor Correction + Circuit. For this case, Vg source is mandatory. + - ``FLYBACK`` : Select this option when input signals are ringing. This option does not + require a Vg source. + """ + return self._swlconfigtype + + @property + def vcesat(self) -> PowerPowerItemSwitchinglossVcesat: + """Return the ``POWer:POWer:SWITCHINGLOSS:VCESat`` command. + + Description: + - This command sets or queries the value for the VCE(sat) value for switching loss + measurement in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VCESat?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VCESat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VCESat value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VCESat + - POWer:POWer:SWITCHINGLOSS:VCESat? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 0.001 to 100. + """ + return self._vcesat + + @property + def vglevel(self) -> PowerPowerItemSwitchinglossVglevel: + """Return the ``POWer:POWer:SWITCHINGLOSS:VGLevel`` command. + + Description: + - This command sets or queries the gate voltage value (V g Level Ton-Start) for the + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VGLevel?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VGLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VGLevel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VGLevel + - POWer:POWer:SWITCHINGLOSS:VGLevel? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -100 to 100. + """ + return self._vglevel + + @property + def vlevelabs(self) -> PowerPowerItemSwitchinglossVlevelabs: + """Return the ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs`` command. + + Description: + - This command sets or queries the voltage level (Ton-Start & Stop) in absolute units + for switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VLEVELAbs + - POWer:POWer:SWITCHINGLOSS:VLEVELAbs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -100 to 100. + """ + return self._vlevelabs + + @property + def vlevelpct(self) -> PowerPowerItemSwitchinglossVlevelpct: + """Return the ``POWer:POWer:SWITCHINGLOSS:VLEVELPct`` command. + + Description: + - This command sets or queries the voltage level (Ton-Start & Stop) in percentage for + switching loss measurement in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELPct?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELPct?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VLEVELPct value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VLEVELPct + - POWer:POWer:SWITCHINGLOSS:VLEVELPct? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 0.0001 to 90. + """ + return self._vlevelpct + + @property + def vsource(self) -> PowerPowerItemSwitchinglossVsource: + """Return the ``POWer:POWer:SWITCHINGLOSS:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for the switching loss measurement in + the specified power measurement number. The power measurement number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:SWITCHINGLOSS:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SWITCHINGLOSS:VSOURce {CH|MATH|REF} + - POWer:POWer:SWITCHINGLOSS:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemSoaVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SOA:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for SOA measurement in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:VSOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SOA:VSOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:VSOURce {CH|MATH|REF} + - POWer:POWer:SOA:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemSoaSavemaskFolder(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:SOA:SAVemask:FOLDer`` command. + + Description: + - This command sets or queries the mask file folder path for SOA measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask:FOLDer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:SAVemask:FOLDer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask:FOLDer`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask:FOLDer + - POWer:POWer:SOA:SAVemask:FOLDer? + ``` + """ + + +class PowerPowerItemSoaSavemaskFilename(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:SOA:SAVemask:FILEName`` command. + + Description: + - This command sets or queries the mask file name for SOA measurement in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask:FILEName?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:SAVemask:FILEName?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask:FILEName`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask:FILEName + - POWer:POWer:SOA:SAVemask:FILEName? + ``` + """ + + +class PowerPowerItemSoaSavemaskAutoincrement(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:SOA:SAVemask:AUTOINCrement`` command. + + Description: + - This command sets or queries the state of auto-increment for saved SOA mask file names in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask:AUTOINCrement?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:SAVemask:AUTOINCrement?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask:AUTOINCrement`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask:AUTOINCrement + - POWer:POWer:SOA:SAVemask:AUTOINCrement? + ``` + """ + + +class PowerPowerItemSoaSavemask(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:SOA:SAVemask`` command. + + Description: + - This command saves the mask file as per the name configured and at the configured path or + queries the mask file name, path, and file type for the SOA measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:SAVemask?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask + - POWer:POWer:SOA:SAVemask? + ``` + + Properties: + - ``.autoincrement``: The ``POWer:POWer:SOA:SAVemask:AUTOINCrement`` command. + - ``.filename``: The ``POWer:POWer:SOA:SAVemask:FILEName`` command. + - ``.folder``: The ``POWer:POWer:SOA:SAVemask:FOLDer`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoincrement = PowerPowerItemSoaSavemaskAutoincrement( + device, f"{self._cmd_syntax}:AUTOINCrement" + ) + self._filename = PowerPowerItemSoaSavemaskFilename(device, f"{self._cmd_syntax}:FILEName") + self._folder = PowerPowerItemSoaSavemaskFolder(device, f"{self._cmd_syntax}:FOLDer") + + @property + def autoincrement(self) -> PowerPowerItemSoaSavemaskAutoincrement: + """Return the ``POWer:POWer:SOA:SAVemask:AUTOINCrement`` command. + + Description: + - This command sets or queries the state of auto-increment for saved SOA mask file names + in the specified power measurement number. The power measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SOA:SAVemask:AUTOINCrement?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:SAVemask:AUTOINCrement?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write()`` method will send the + ``POWer:POWer:SOA:SAVemask:AUTOINCrement`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask:AUTOINCrement + - POWer:POWer:SOA:SAVemask:AUTOINCrement? + ``` + """ + return self._autoincrement + + @property + def filename(self) -> PowerPowerItemSoaSavemaskFilename: + """Return the ``POWer:POWer:SOA:SAVemask:FILEName`` command. + + Description: + - This command sets or queries the mask file name for SOA measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask:FILEName?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:SAVemask:FILEName?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask:FILEName`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask:FILEName + - POWer:POWer:SOA:SAVemask:FILEName? + ``` + """ + return self._filename + + @property + def folder(self) -> PowerPowerItemSoaSavemaskFolder: + """Return the ``POWer:POWer:SOA:SAVemask:FOLDer`` command. + + Description: + - This command sets or queries the mask file folder path for SOA measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask:FOLDer?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:SAVemask:FOLDer?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask:FOLDer`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask:FOLDer + - POWer:POWer:SOA:SAVemask:FOLDer? + ``` + """ + return self._folder + + +class PowerPowerItemSoaRecallmaskFilename(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:SOA:RECAllmask:FILEName`` command. + + Description: + - This command sets or queries the file name for saving SOA mask file name in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:RECAllmask:FILEName?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:RECAllmask:FILEName?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:RECAllmask:FILEName`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:RECAllmask:FILEName + - POWer:POWer:SOA:RECAllmask:FILEName? + ``` + """ + + +class PowerPowerItemSoaRecallmask(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``POWer:POWer:SOA:RECAllmask`` command. + + Description: + - This command recalls or queries the recall mask file name in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:RECAllmask?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:RECAllmask?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:RECAllmask`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:RECAllmask + - POWer:POWer:SOA:RECAllmask? + ``` + + Properties: + - ``.filename``: The ``POWer:POWer:SOA:RECAllmask:FILEName`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._filename = PowerPowerItemSoaRecallmaskFilename(device, f"{self._cmd_syntax}:FILEName") + + @property + def filename(self) -> PowerPowerItemSoaRecallmaskFilename: + """Return the ``POWer:POWer:SOA:RECAllmask:FILEName`` command. + + Description: + - This command sets or queries the file name for saving SOA mask file name in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:SOA:RECAllmask:FILEName?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:SOA:RECAllmask:FILEName?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:RECAllmask:FILEName`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:RECAllmask:FILEName + - POWer:POWer:SOA:RECAllmask:FILEName? + ``` + """ + return self._filename + + +class PowerPowerItemSoaPoint(SCPICmdWrite, SCPICmdRead): + r"""The ``POWer:POWer:SOA:POINT`` command. + + Description: + - This command sets or queries the X or Y coordinate value for an SOA mask of a specified + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:POINT?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:POINT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SOA:POINT value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:POINT ? + - POWer:POWer:SOA:POINT? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = 1X \| 2X \| 3X \| 4X \| 5X \| 6X \| 7X \| 8X \| 9X \| 10X \| 11X \| 12X \| + 13X \| 14X \| 15X \| 16X \| 17X \| 18X \| 19X \| 20X \| 21X \| 22X \| 23X \| 24X \| 25X \| + 26X \| 27X \| 28X \| 29X \| 30X \| 31X \| 32X \| 1Y \| 2Y \| 3Y \| 4Y \| 5Y \| 6Y \| 7Y \| + 8Y \| 9Y \| 10Y \| 11Y \| 12Y \| 13Y \| 14Y \| 15Y \| 16Y \| 17Y \| 18Y \| 19Y \| 20Y \| + 21Y \| 22Y \| 23Y \| 24Y \| 25Y \| 26Y \| 27Y \| 28Y \| 29Y \| 30Y \| 31Y \| 32Y. + - ```` sets the specified SOA mask X or Y point value, as a floating number, in the + range from -5000 to 5000. + """ + + +class PowerPowerItemSoaIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SOA:ISOURce`` command. + + Description: + - This command sets or queries the current source for SOA measurement in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:ISOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SOA:ISOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:SOA:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels onyour instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemSoa(SCPICmdRead): + """The ``POWer:POWer:SOA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.isource``: The ``POWer:POWer:SOA:ISOURce`` command. + - ``.point``: The ``POWer:POWer:SOA:POINT`` command. + - ``.recallmask``: The ``POWer:POWer:SOA:RECAllmask`` command. + - ``.savemask``: The ``POWer:POWer:SOA:SAVemask`` command. + - ``.vsource``: The ``POWer:POWer:SOA:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._isource = PowerPowerItemSoaIsource(device, f"{self._cmd_syntax}:ISOURce") + self._point = PowerPowerItemSoaPoint(device, f"{self._cmd_syntax}:POINT") + self._recallmask = PowerPowerItemSoaRecallmask(device, f"{self._cmd_syntax}:RECAllmask") + self._savemask = PowerPowerItemSoaSavemask(device, f"{self._cmd_syntax}:SAVemask") + self._vsource = PowerPowerItemSoaVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def isource(self) -> PowerPowerItemSoaIsource: + """Return the ``POWer:POWer:SOA:ISOURce`` command. + + Description: + - This command sets or queries the current source for SOA measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SOA:ISOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:SOA:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels onyour instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def point(self) -> PowerPowerItemSoaPoint: + r"""Return the ``POWer:POWer:SOA:POINT`` command. + + Description: + - This command sets or queries the X or Y coordinate value for an SOA mask of a + specified power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:POINT?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:POINT?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SOA:POINT value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:POINT ? + - POWer:POWer:SOA:POINT? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = 1X \| 2X \| 3X \| 4X \| 5X \| 6X \| 7X \| 8X \| 9X \| 10X \| 11X \| + 12X \| 13X \| 14X \| 15X \| 16X \| 17X \| 18X \| 19X \| 20X \| 21X \| 22X \| 23X \| + 24X \| 25X \| 26X \| 27X \| 28X \| 29X \| 30X \| 31X \| 32X \| 1Y \| 2Y \| 3Y \| 4Y \| + 5Y \| 6Y \| 7Y \| 8Y \| 9Y \| 10Y \| 11Y \| 12Y \| 13Y \| 14Y \| 15Y \| 16Y \| 17Y \| + 18Y \| 19Y \| 20Y \| 21Y \| 22Y \| 23Y \| 24Y \| 25Y \| 26Y \| 27Y \| 28Y \| 29Y \| + 30Y \| 31Y \| 32Y. + - ```` sets the specified SOA mask X or Y point value, as a floating number, in the + range from -5000 to 5000. + """ + return self._point + + @property + def recallmask(self) -> PowerPowerItemSoaRecallmask: + """Return the ``POWer:POWer:SOA:RECAllmask`` command. + + Description: + - This command recalls or queries the recall mask file name in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:RECAllmask?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:RECAllmask?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:RECAllmask`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:RECAllmask + - POWer:POWer:SOA:RECAllmask? + ``` + + Sub-properties: + - ``.filename``: The ``POWer:POWer:SOA:RECAllmask:FILEName`` command. + """ + return self._recallmask + + @property + def savemask(self) -> PowerPowerItemSoaSavemask: + """Return the ``POWer:POWer:SOA:SAVemask`` command. + + Description: + - This command saves the mask file as per the name configured and at the configured path + or queries the mask file name, path, and file type for the SOA measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:SAVemask?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:SAVemask?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``POWer:POWer:SOA:SAVemask`` command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:SAVemask + - POWer:POWer:SOA:SAVemask? + ``` + + Sub-properties: + - ``.autoincrement``: The ``POWer:POWer:SOA:SAVemask:AUTOINCrement`` command. + - ``.filename``: The ``POWer:POWer:SOA:SAVemask:FILEName`` command. + - ``.folder``: The ``POWer:POWer:SOA:SAVemask:FOLDer`` command. + """ + return self._savemask + + @property + def vsource(self) -> PowerPowerItemSoaVsource: + """Return the ``POWer:POWer:SOA:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for SOA measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SOA:VSOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SOA:VSOURce {CH|MATH|REF} + - POWer:POWer:SOA:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemSequence(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:SEQuence`` command. + + Description: + - This command sets or queries the run state of a single sequence power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SEQuence?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SEQuence value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SEQuence {RUN|RERUN} + - POWer:POWer:SEQuence? + ``` + + Info: + - ``POWer`` is the Power measurement identifier number. The number must be for a power + measurement that requires a single sequence acquisition. + - ``RUN`` sets the measurement to run an acquisition and acquire data for the specified + single sequence power measurement. + - ``RERUN`` sets the measurement to rerun an acquisition and acquire data for the specified + single sequence power measurement. + """ + + +class PowerPowerItemSeqsetup(SCPICmdWrite): + """The ``POWer:POWer:SEQSETup`` command. + + Description: + - This command sets up the instrument's horizontal, vertical, and trigger parameters to + optimize for taking the specified power measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:POWer:SEQSETup value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SEQSETup Execute + ``` + + Info: + - ``POWer`` is the Power measurement identifier number. The number must be for a power + measurement that requires a single sequence acquisition. + - ``Execute`` sets the measurement to run an acquisition and acquire data for the specified + single sequence power measurement. + """ + + +class PowerPowerItemResultsCurrentacqVrms(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:VRMS`` command. + + Description: + - This command queries the RMS voltage value for the specified power measurement number. The + power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:VRMS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:VRMS? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:VRMS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqTrpwr(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:TRPWR`` command. + + Description: + - This command queries the true power value for the specified power measurement number. The + power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:TRPWR? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:TRPWR? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:TRPWR? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqThdr(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:THDR`` command. + + Description: + - This command queries the total harmonic distortion (RMS) value for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDR? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDR? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:THDR? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqThdf(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:THDF`` command. + + Description: + - This command queries the total harmonic distortion (fundamental) value for the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDF? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDF? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:THDF? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqStddev(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:STDDev`` command. + + Description: + - This command queries the standard deviation value of the current acquisition for the + measurement parameter in the specified power measurement number. The power measurement + number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STDDev? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:STDDev? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc|Hmax|IRipple| DeltaB|DeltaH|Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG|TONLOSS| TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG|DVBYDT| DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK|HIGH|LOW|MAX|MIN |INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsCurrentacqStatus(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:STATUS`` command. + + Description: + - This command queries the status of the measurement for the specified power measurement + number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STATUS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STATUS? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:STATUS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqRms(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:RMS`` command. + + Description: + - This command queries the RMS value of the source selected for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:RMS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:RMS? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:RMS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqPopulation(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:POPUlation`` command. + + Description: + - This command queries the population (number of complete cycles) of the current acquisition + for the measurement parameter in the specified power measurement number. The power + measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POPUlation? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsCurrentacqPohcs(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:POHCS`` command. + + Description: + - This command queries the status of partial odd harmonic current for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCS? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POHCS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqPohcm(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:POHCM`` command. + + Description: + - This command queries the measured value of partial odd harmonic current for the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCM? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCM? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POHCM? 'harmonics' + ``` + """ + + +class PowerPowerItemResultsCurrentacqPohcl(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:POHCL`` command. + + Description: + - This command queries the limit of partial odd harmonic current for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCL? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCL? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POHCL? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqPk2pk(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:PK2PK`` command. + + Description: + - This command queries the peak-to-peak value of the current acquisition for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:PK2PK? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:PK2PK? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR|APPPWR| REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS| TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK|SWRIPRMS| SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + - ``'LRIPPKPK'`` are the parameters for the Line Ripple measurement. + """ # noqa: E501 + + +class PowerPowerItemResultsCurrentacqMinimum(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:MINimum`` command. + + Description: + - This command queries the minimum value of the current acquisition for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MINimum? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:MINimum? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + - ``'SWRIPPKPK'`` are the parameters for the Switching Ripple measurement. + """ # noqa: E501 + + +class PowerPowerItemResultsCurrentacqMean(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:MEAN`` command. + + Description: + - This command queries the mean value of the current acquisition for the measurement + parameter of the specified power measurement . + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MEAN? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:MEAN? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsCurrentacqMaximum(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:MAXimum`` command. + + Description: + - This command queries the maximum value of the current acquisition for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MAXimum? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:MAXimum? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS| Bpeak|Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsCurrentacqIrms(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:IRMS`` command. + + Description: + - This command queries the RMS current value for the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:IRMS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:IRMS? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:IRMS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqFrequency(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY`` command. + + Description: + - This command queries the fundamental frequency for the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:FREQUENCY? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqF3mag(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:F3MAG`` command. + + Description: + - This command queries the third harmonics magnitude value for the specified power + measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F3MAG? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F3MAG? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:F3MAG? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +class PowerPowerItemResultsCurrentacqF1mag(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:CURRentacq:F1MAG`` command. + + Description: + - This command queries the first harmonics magnitude value for the specified power + measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F1MAG? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F1MAG? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:F1MAG? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + """ + + +# pylint: disable=too-many-instance-attributes +class PowerPowerItemResultsCurrentacq(SCPICmdRead): + """The ``POWer:POWer:RESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RESUlts:CURRentacq?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RESUlts:CURRentacq?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.f1mag``: The ``POWer:POWer:RESUlts:CURRentacq:F1MAG`` command. + - ``.f3mag``: The ``POWer:POWer:RESUlts:CURRentacq:F3MAG`` command. + - ``.frequency``: The ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY`` command. + - ``.irms``: The ``POWer:POWer:RESUlts:CURRentacq:IRMS`` command. + - ``.maximum``: The ``POWer:POWer:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``POWer:POWer:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``POWer:POWer:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``POWer:POWer:RESUlts:CURRentacq:PK2PK`` command. + - ``.pohcl``: The ``POWer:POWer:RESUlts:CURRentacq:POHCL`` command. + - ``.pohcm``: The ``POWer:POWer:RESUlts:CURRentacq:POHCM`` command. + - ``.pohcs``: The ``POWer:POWer:RESUlts:CURRentacq:POHCS`` command. + - ``.population``: The ``POWer:POWer:RESUlts:CURRentacq:POPUlation`` command. + - ``.rms``: The ``POWer:POWer:RESUlts:CURRentacq:RMS`` command. + - ``.status``: The ``POWer:POWer:RESUlts:CURRentacq:STATUS`` command. + - ``.stddev``: The ``POWer:POWer:RESUlts:CURRentacq:STDDev`` command. + - ``.thdf``: The ``POWer:POWer:RESUlts:CURRentacq:THDF`` command. + - ``.thdr``: The ``POWer:POWer:RESUlts:CURRentacq:THDR`` command. + - ``.trpwr``: The ``POWer:POWer:RESUlts:CURRentacq:TRPWR`` command. + - ``.vrms``: The ``POWer:POWer:RESUlts:CURRentacq:VRMS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._f1mag = PowerPowerItemResultsCurrentacqF1mag(device, f"{self._cmd_syntax}:F1MAG") + self._f3mag = PowerPowerItemResultsCurrentacqF3mag(device, f"{self._cmd_syntax}:F3MAG") + self._frequency = PowerPowerItemResultsCurrentacqFrequency( + device, f"{self._cmd_syntax}:FREQUENCY" + ) + self._irms = PowerPowerItemResultsCurrentacqIrms(device, f"{self._cmd_syntax}:IRMS") + self._maximum = PowerPowerItemResultsCurrentacqMaximum( + device, f"{self._cmd_syntax}:MAXimum" + ) + self._mean = PowerPowerItemResultsCurrentacqMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = PowerPowerItemResultsCurrentacqMinimum( + device, f"{self._cmd_syntax}:MINimum" + ) + self._pk2pk = PowerPowerItemResultsCurrentacqPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._pohcl = PowerPowerItemResultsCurrentacqPohcl(device, f"{self._cmd_syntax}:POHCL") + self._pohcm = PowerPowerItemResultsCurrentacqPohcm(device, f"{self._cmd_syntax}:POHCM") + self._pohcs = PowerPowerItemResultsCurrentacqPohcs(device, f"{self._cmd_syntax}:POHCS") + self._population = PowerPowerItemResultsCurrentacqPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._rms = PowerPowerItemResultsCurrentacqRms(device, f"{self._cmd_syntax}:RMS") + self._status = PowerPowerItemResultsCurrentacqStatus(device, f"{self._cmd_syntax}:STATUS") + self._stddev = PowerPowerItemResultsCurrentacqStddev(device, f"{self._cmd_syntax}:STDDev") + self._thdf = PowerPowerItemResultsCurrentacqThdf(device, f"{self._cmd_syntax}:THDF") + self._thdr = PowerPowerItemResultsCurrentacqThdr(device, f"{self._cmd_syntax}:THDR") + self._trpwr = PowerPowerItemResultsCurrentacqTrpwr(device, f"{self._cmd_syntax}:TRPWR") + self._vrms = PowerPowerItemResultsCurrentacqVrms(device, f"{self._cmd_syntax}:VRMS") + + @property + def f1mag(self) -> PowerPowerItemResultsCurrentacqF1mag: + """Return the ``POWer:POWer:RESUlts:CURRentacq:F1MAG`` command. + + Description: + - This command queries the first harmonics magnitude value for the specified power + measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F1MAG? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F1MAG? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:F1MAG? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._f1mag + + @property + def f3mag(self) -> PowerPowerItemResultsCurrentacqF3mag: + """Return the ``POWer:POWer:RESUlts:CURRentacq:F3MAG`` command. + + Description: + - This command queries the third harmonics magnitude value for the specified power + measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F3MAG? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:F3MAG? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:F3MAG? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._f3mag + + @property + def frequency(self) -> PowerPowerItemResultsCurrentacqFrequency: + """Return the ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY`` command. + + Description: + - This command queries the fundamental frequency for the specified power measurement + number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:FREQUENCY? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._frequency + + @property + def irms(self) -> PowerPowerItemResultsCurrentacqIrms: + """Return the ``POWer:POWer:RESUlts:CURRentacq:IRMS`` command. + + Description: + - This command queries the RMS current value for the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:IRMS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:IRMS? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:IRMS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._irms + + @property + def maximum(self) -> PowerPowerItemResultsCurrentacqMaximum: + """Return the ``POWer:POWer:RESUlts:CURRentacq:MAXimum`` command. + + Description: + - This command queries the maximum value of the current acquisition for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MAXimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:MAXimum? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS| Bpeak|Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._maximum + + @property + def mean(self) -> PowerPowerItemResultsCurrentacqMean: + """Return the ``POWer:POWer:RESUlts:CURRentacq:MEAN`` command. + + Description: + - This command queries the mean value of the current acquisition for the measurement + parameter of the specified power measurement . + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MEAN? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:MEAN? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._mean + + @property + def minimum(self) -> PowerPowerItemResultsCurrentacqMinimum: + """Return the ``POWer:POWer:RESUlts:CURRentacq:MINimum`` command. + + Description: + - This command queries the minimum value of the current acquisition for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:MINimum? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:MINimum? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + - ``'SWRIPPKPK'`` are the parameters for the Switching Ripple measurement. + """ # noqa: E501 + return self._minimum + + @property + def pk2pk(self) -> PowerPowerItemResultsCurrentacqPk2pk: + """Return the ``POWer:POWer:RESUlts:CURRentacq:PK2PK`` command. + + Description: + - This command queries the peak-to-peak value of the current acquisition for the + measurement parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:PK2PK? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:PK2PK? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR|APPPWR| REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS| TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK|SWRIPRMS| SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + - ``'LRIPPKPK'`` are the parameters for the Line Ripple measurement. + """ # noqa: E501 + return self._pk2pk + + @property + def pohcl(self) -> PowerPowerItemResultsCurrentacqPohcl: + """Return the ``POWer:POWer:RESUlts:CURRentacq:POHCL`` command. + + Description: + - This command queries the limit of partial odd harmonic current for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCL? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCL? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POHCL? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._pohcl + + @property + def pohcm(self) -> PowerPowerItemResultsCurrentacqPohcm: + """Return the ``POWer:POWer:RESUlts:CURRentacq:POHCM`` command. + + Description: + - This command queries the measured value of partial odd harmonic current for the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCM? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCM? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POHCM? 'harmonics' + ``` + """ + return self._pohcm + + @property + def pohcs(self) -> PowerPowerItemResultsCurrentacqPohcs: + """Return the ``POWer:POWer:RESUlts:CURRentacq:POHCS`` command. + + Description: + - This command queries the status of partial odd harmonic current for the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POHCS? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POHCS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._pohcs + + @property + def population(self) -> PowerPowerItemResultsCurrentacqPopulation: + """Return the ``POWer:POWer:RESUlts:CURRentacq:POPUlation`` command. + + Description: + - This command queries the population (number of complete cycles) of the current + acquisition for the measurement parameter in the specified power measurement number. + The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:POPUlation? {InputPwr| Output1Pwr|Output2Pwr|Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br| Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS| VRMS|TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._population + + @property + def rms(self) -> PowerPowerItemResultsCurrentacqRms: + """Return the ``POWer:POWer:RESUlts:CURRentacq:RMS`` command. + + Description: + - This command queries the RMS value of the source selected for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:RMS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:RMS? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:RMS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._rms + + @property + def status(self) -> PowerPowerItemResultsCurrentacqStatus: + """Return the ``POWer:POWer:RESUlts:CURRentacq:STATUS`` command. + + Description: + - This command queries the status of the measurement for the specified power measurement + number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STATUS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STATUS? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:STATUS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._status + + @property + def stddev(self) -> PowerPowerItemResultsCurrentacqStddev: + """Return the ``POWer:POWer:RESUlts:CURRentacq:STDDev`` command. + + Description: + - This command queries the standard deviation value of the current acquisition for the + measurement parameter in the specified power measurement number. The power measurement + number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:STDDev? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:STDDev? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc|Hmax|IRipple| DeltaB|DeltaH|Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG|TONLOSS| TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG|DVBYDT| DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL|PKPK|HIGH|LOW|MAX|MIN |INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._stddev + + @property + def thdf(self) -> PowerPowerItemResultsCurrentacqThdf: + """Return the ``POWer:POWer:RESUlts:CURRentacq:THDF`` command. + + Description: + - This command queries the total harmonic distortion (fundamental) value for the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDF? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDF? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:THDF? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._thdf + + @property + def thdr(self) -> PowerPowerItemResultsCurrentacqThdr: + """Return the ``POWer:POWer:RESUlts:CURRentacq:THDR`` command. + + Description: + - This command queries the total harmonic distortion (RMS) value for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDR? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:THDR? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:THDR? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._thdr + + @property + def trpwr(self) -> PowerPowerItemResultsCurrentacqTrpwr: + """Return the ``POWer:POWer:RESUlts:CURRentacq:TRPWR`` command. + + Description: + - This command queries the true power value for the specified power measurement number. + The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:TRPWR? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:TRPWR? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:TRPWR? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._trpwr + + @property + def vrms(self) -> PowerPowerItemResultsCurrentacqVrms: + """Return the ``POWer:POWer:RESUlts:CURRentacq:VRMS`` command. + + Description: + - This command queries the RMS voltage value for the specified power measurement number. + The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:VRMS? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq:VRMS? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:CURRentacq:VRMS? 'harmonics' + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + """ + return self._vrms + + +class PowerPowerItemResultsAllacqsStddev(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:ALLAcqs:STDDev`` command. + + Description: + - This command queries the standard deviation value of all acquisitions for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:STDDev? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:STDDev? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc| Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS| TRUEPWR|APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ| ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG|TONLOSS| TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS| TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS| LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsAllacqsPopulation(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This command queries the population (number of complete cycles) of all acquisitions for + the measurement parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:POPUlation? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsAllacqsPk2pk(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This command queries the peak-to-peak value of all acquisitions for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:PK2PK? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR| PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR| IRMS|VRMS|TONENRG|TONLOSS|TOFFENRG| TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG| DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + - ``'SWRIPPKPK'`` are the parameters for the Switching Ripple measurement. + """ # noqa: E501 + + +class PowerPowerItemResultsAllacqsMinimum(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:ALLAcqs:MINimum`` command. + + Description: + - This command queries the minimum value of all acquisitions for the measurement parameter + of the specified power measurement . + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MINimum? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:MINimum? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS| Bpeak|Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR| PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR| IRMS|VRMS|TONENRG|TONLOSS|TOFFENRG| TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG| DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsAllacqsMean(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:ALLAcqs:MEAN`` command. + + Description: + - This command queries the mean value of all acquisitions for the measurement parameter in + the specified power measurement number . + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MEAN? argument`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:MEAN? {InputPwr|Output1Pwr|Output2Pwr| Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency| INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc|Hmax| IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ| ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG| TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsAllacqsMaximum(SCPICmdReadWithArguments): + """The ``POWer:POWer:RESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This command queries the maximum value of all acquisitions for the measurement parameter + in the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:MAXimum? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability| RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR|PHASE| PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG| TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified power + measurement number. Available results depend on the power measurement being taken in the + specified measurement number. The valid arguments are. + """ # noqa: E501 + + +class PowerPowerItemResultsAllacqs(SCPICmdRead): + """The ``POWer:POWer:RESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RESUlts:ALLAcqs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RESUlts:ALLAcqs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.maximum``: The ``POWer:POWer:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``POWer:POWer:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``POWer:POWer:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``POWer:POWer:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``POWer:POWer:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``POWer:POWer:RESUlts:ALLAcqs:STDDev`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._maximum = PowerPowerItemResultsAllacqsMaximum(device, f"{self._cmd_syntax}:MAXimum") + self._mean = PowerPowerItemResultsAllacqsMean(device, f"{self._cmd_syntax}:MEAN") + self._minimum = PowerPowerItemResultsAllacqsMinimum(device, f"{self._cmd_syntax}:MINimum") + self._pk2pk = PowerPowerItemResultsAllacqsPk2pk(device, f"{self._cmd_syntax}:PK2PK") + self._population = PowerPowerItemResultsAllacqsPopulation( + device, f"{self._cmd_syntax}:POPUlation" + ) + self._stddev = PowerPowerItemResultsAllacqsStddev(device, f"{self._cmd_syntax}:STDDev") + + @property + def maximum(self) -> PowerPowerItemResultsAllacqsMaximum: + """Return the ``POWer:POWer:RESUlts:ALLAcqs:MAXimum`` command. + + Description: + - This command queries the maximum value of all acquisitions for the measurement + parameter in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MAXimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MAXimum? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:MAXimum? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH|Permeability| RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR|PHASE| PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG| TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._maximum + + @property + def mean(self) -> PowerPowerItemResultsAllacqsMean: + """Return the ``POWer:POWer:RESUlts:ALLAcqs:MEAN`` command. + + Description: + - This command queries the mean value of all acquisitions for the measurement parameter + in the specified power measurement number . + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MEAN? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MEAN? argument`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:MEAN? {InputPwr|Output1Pwr|Output2Pwr| Output3Pwr|Efficiency1|Efficiency2| Efficiency3|TotalEfficiency| INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc|Hmax| IRipple|DeltaB|DeltaH|Permeability|RDS|TRUEPWR| APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ| ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG| TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE|AMPL| PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._mean + + @property + def minimum(self) -> PowerPowerItemResultsAllacqsMinimum: + """Return the ``POWer:POWer:RESUlts:ALLAcqs:MINimum`` command. + + Description: + - This command queries the minimum value of all acquisitions for the measurement + parameter of the specified power measurement . + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MINimum? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:MINimum? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:MINimum? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS| Bpeak|Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR| PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR| IRMS|VRMS|TONENRG|TONLOSS|TOFFENRG| TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG| DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._minimum + + @property + def pk2pk(self) -> PowerPowerItemResultsAllacqsPk2pk: + """Return the ``POWer:POWer:RESUlts:ALLAcqs:PK2PK`` command. + + Description: + - This command queries the peak-to-peak value of all acquisitions for the measurement + parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:PK2PK? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:PK2PK? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:PK2PK? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR| PWRFACTOR|PHASE|PWRFREQ|ICFACTOR|VCFACTOR| IRMS|VRMS|TONENRG|TONLOSS|TOFFENRG| TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS|TTLENRG| DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS|LRIPPKPK| SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK| HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + - ``'SWRIPPKPK'`` are the parameters for the Switching Ripple measurement. + """ # noqa: E501 + return self._pk2pk + + @property + def population(self) -> PowerPowerItemResultsAllacqsPopulation: + """Return the ``POWer:POWer:RESUlts:ALLAcqs:POPUlation`` command. + + Description: + - This command queries the population (number of complete cycles) of all acquisitions + for the measurement parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:POPUlation? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:POPUlation? argument`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:POPUlation? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak| Br|Hc|Hmax|IRipple|DeltaB|DeltaH| Permeability|RDS|TRUEPWR|APPPWR|REPWR|PWRFACTOR| PHASE|PWRFREQ|ICFACTOR|VCFACTOR|IRMS|VRMS| TONENRG|TONLOSS|TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS| TTLLOSS|TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT| LRIPRMS|LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD| FREQ|PDUTY|NDUTY|PPULSE|NPULSE| AMPL|PKPK|HIGH|LOW|MAX|MIN|INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._population + + @property + def stddev(self) -> PowerPowerItemResultsAllacqsStddev: + """Return the ``POWer:POWer:RESUlts:ALLAcqs:STDDev`` command. + + Description: + - This command queries the standard deviation value of all acquisitions for the + measurement parameter in the specified power measurement number. + + Usage: + - Using the ``.query(argument)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:STDDev? argument`` query. + - Using the ``.verify(argument, value)`` method will send the + ``POWer:POWer:RESUlts:ALLAcqs:STDDev? argument`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:RESUlts:ALLAcqs:STDDev? {InputPwr|Output1Pwr| Output2Pwr|Output3Pwr|Efficiency1|Efficiency2|Efficiency3| TotalEfficiency|INDUCT|IVSINTV|MAGLOSS|Bpeak|Br|Hc| Hmax|IRipple|DeltaB|DeltaH|Permeability|RDS| TRUEPWR|APPPWR|REPWR|PWRFACTOR|PHASE|PWRFREQ| ICFACTOR|VCFACTOR|IRMS|VRMS|TONENRG|TONLOSS| TOFFENRG|TOFFLOSS|CONDENRG|CONDLOSS|TTLLOSS| TTLENRG|DVBYDT|DIBYDT|SOAHITSCNT|LRIPRMS| LRIPPKPK|SWRIPRMS|SWRIPPKPK|PRIOD|FREQ|PDUTY| NDUTY|PPULSE|NPULSE|AMPL|PKPK|HIGH|LOW|MAX|MIN| INRUSH|CAPACITANCE|OUTPUT1| OUTPUT2|OUTPUT3|OUTPUT4|OUTPUT5|OUTPUT6|OUTPUT7| GAINCROSSOVERFREQ|PHASECROSSOVERFREQ|GM|PM| MAXPSRR|MAXPSRRFREQ|MINPSRR|MINPSRRFREQ} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = the measurement result that you want to return from the specified + power measurement number. Available results depend on the power measurement being + taken in the specified measurement number. The valid arguments are. + """ # noqa: E501 + return self._stddev + + +class PowerPowerItemResults(SCPICmdRead): + """The ``POWer:POWer:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RESUlts?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.allacqs``: The ``POWer:POWer:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``POWer:POWer:RESUlts:CURRentacq`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._allacqs = PowerPowerItemResultsAllacqs(device, f"{self._cmd_syntax}:ALLAcqs") + self._currentacq = PowerPowerItemResultsCurrentacq(device, f"{self._cmd_syntax}:CURRentacq") + + @property + def allacqs(self) -> PowerPowerItemResultsAllacqs: + """Return the ``POWer:POWer:RESUlts:ALLAcqs`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RESUlts:ALLAcqs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RESUlts:ALLAcqs?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.maximum``: The ``POWer:POWer:RESUlts:ALLAcqs:MAXimum`` command. + - ``.mean``: The ``POWer:POWer:RESUlts:ALLAcqs:MEAN`` command. + - ``.minimum``: The ``POWer:POWer:RESUlts:ALLAcqs:MINimum`` command. + - ``.pk2pk``: The ``POWer:POWer:RESUlts:ALLAcqs:PK2PK`` command. + - ``.population``: The ``POWer:POWer:RESUlts:ALLAcqs:POPUlation`` command. + - ``.stddev``: The ``POWer:POWer:RESUlts:ALLAcqs:STDDev`` command. + """ + return self._allacqs + + @property + def currentacq(self) -> PowerPowerItemResultsCurrentacq: + """Return the ``POWer:POWer:RESUlts:CURRentacq`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RESUlts:CURRentacq?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:RESUlts:CURRentacq?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.f1mag``: The ``POWer:POWer:RESUlts:CURRentacq:F1MAG`` command. + - ``.f3mag``: The ``POWer:POWer:RESUlts:CURRentacq:F3MAG`` command. + - ``.frequency``: The ``POWer:POWer:RESUlts:CURRentacq:FREQUENCY`` command. + - ``.irms``: The ``POWer:POWer:RESUlts:CURRentacq:IRMS`` command. + - ``.maximum``: The ``POWer:POWer:RESUlts:CURRentacq:MAXimum`` command. + - ``.mean``: The ``POWer:POWer:RESUlts:CURRentacq:MEAN`` command. + - ``.minimum``: The ``POWer:POWer:RESUlts:CURRentacq:MINimum`` command. + - ``.pk2pk``: The ``POWer:POWer:RESUlts:CURRentacq:PK2PK`` command. + - ``.pohcl``: The ``POWer:POWer:RESUlts:CURRentacq:POHCL`` command. + - ``.pohcm``: The ``POWer:POWer:RESUlts:CURRentacq:POHCM`` command. + - ``.pohcs``: The ``POWer:POWer:RESUlts:CURRentacq:POHCS`` command. + - ``.population``: The ``POWer:POWer:RESUlts:CURRentacq:POPUlation`` command. + - ``.rms``: The ``POWer:POWer:RESUlts:CURRentacq:RMS`` command. + - ``.status``: The ``POWer:POWer:RESUlts:CURRentacq:STATUS`` command. + - ``.stddev``: The ``POWer:POWer:RESUlts:CURRentacq:STDDev`` command. + - ``.thdf``: The ``POWer:POWer:RESUlts:CURRentacq:THDF`` command. + - ``.thdr``: The ``POWer:POWer:RESUlts:CURRentacq:THDR`` command. + - ``.trpwr``: The ``POWer:POWer:RESUlts:CURRentacq:TRPWR`` command. + - ``.vrms``: The ``POWer:POWer:RESUlts:CURRentacq:VRMS`` command. + """ + return self._currentacq + + +class PowerPowerItemReflevelsPercentType(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:TYPE`` command. + + Description: + - This command sets or queries the reference levels for the specified power measurement + number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - POWer:POWer:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``TENNinety`` to set the low reference levels as 10% and high reference levels as 90%. + - ``TWENtyeighty`` to set the low reference levels as 20% and high reference levels as 80%. + - ``CUSTom`` to set the custom low, high, and mid reference levels for rising and falling + edges. + """ + + +class PowerPowerItemReflevelsPercentRisemid(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the rising edge for mid reference level in percentage for the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:RISEMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:RISEMid + - POWer:POWer:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +class PowerPowerItemReflevelsPercentRiselow(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the rising edge for low reference level in percentage for the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:RISELow?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:RISELow + - POWer:POWer:REFLevels:PERCent:RISELow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +class PowerPowerItemReflevelsPercentRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the rising edge for high reference level in percentage for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:RISEHigh?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:RISEHigh + - POWer:POWer:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +class PowerPowerItemReflevelsPercentHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the hysteresis in percentage for the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:HYSTeresis + - POWer:POWer:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +class PowerPowerItemReflevelsPercentFallmid(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the falling edge for mid reference level in percentage for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:FALLMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:FALLMid + - POWer:POWer:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +class PowerPowerItemReflevelsPercentFalllow(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the falling edge for low reference level in percentage for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:FALLLow?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:FALLLow + - POWer:POWer:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +class PowerPowerItemReflevelsPercentFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the falling edge for high reference level in percentage for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:FALLHigh?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:FALLHigh + - POWer:POWer:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + + +# pylint: disable=too-many-instance-attributes +class PowerPowerItemReflevelsPercent(SCPICmdRead): + """The ``POWer:POWer:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels:PERCent?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``POWer:POWer:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``POWer:POWer:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``POWer:POWer:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``POWer:POWer:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``POWer:POWer:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``POWer:POWer:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``POWer:POWer:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``POWer:POWer:REFLevels:PERCent:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = PowerPowerItemReflevelsPercentFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = PowerPowerItemReflevelsPercentFalllow(device, f"{self._cmd_syntax}:FALLLow") + self._fallmid = PowerPowerItemReflevelsPercentFallmid(device, f"{self._cmd_syntax}:FALLMid") + self._hysteresis = PowerPowerItemReflevelsPercentHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = PowerPowerItemReflevelsPercentRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = PowerPowerItemReflevelsPercentRiselow(device, f"{self._cmd_syntax}:RISELow") + self._risemid = PowerPowerItemReflevelsPercentRisemid(device, f"{self._cmd_syntax}:RISEMid") + self._type = PowerPowerItemReflevelsPercentType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> PowerPowerItemReflevelsPercentFallhigh: + """Return the ``POWer:POWer:REFLevels:PERCent:FALLHigh`` command. + + Description: + - This command sets or queries the falling edge for high reference level in percentage + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:FALLHigh + - POWer:POWer:REFLevels:PERCent:FALLHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._fallhigh + + @property + def falllow(self) -> PowerPowerItemReflevelsPercentFalllow: + """Return the ``POWer:POWer:REFLevels:PERCent:FALLLow`` command. + + Description: + - This command sets or queries the falling edge for low reference level in percentage + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLLow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:FALLLow + - POWer:POWer:REFLevels:PERCent:FALLLow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._falllow + + @property + def fallmid(self) -> PowerPowerItemReflevelsPercentFallmid: + """Return the ``POWer:POWer:REFLevels:PERCent:FALLMid`` command. + + Description: + - This command sets or queries the falling edge for mid reference level in percentage + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:FALLMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:FALLMid + - POWer:POWer:REFLevels:PERCent:FALLMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._fallmid + + @property + def hysteresis(self) -> PowerPowerItemReflevelsPercentHysteresis: + """Return the ``POWer:POWer:REFLevels:PERCent:HYSTeresis`` command. + + Description: + - This command sets or queries the hysteresis in percentage for the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:HYSTeresis + - POWer:POWer:REFLevels:PERCent:HYSTeresis? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._hysteresis + + @property + def risehigh(self) -> PowerPowerItemReflevelsPercentRisehigh: + """Return the ``POWer:POWer:REFLevels:PERCent:RISEHigh`` command. + + Description: + - This command sets or queries the rising edge for high reference level in percentage + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:RISEHigh + - POWer:POWer:REFLevels:PERCent:RISEHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._risehigh + + @property + def riselow(self) -> PowerPowerItemReflevelsPercentRiselow: + """Return the ``POWer:POWer:REFLevels:PERCent:RISELow`` command. + + Description: + - This command sets or queries the rising edge for low reference level in percentage for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISELow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:RISELow + - POWer:POWer:REFLevels:PERCent:RISELow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._riselow + + @property + def risemid(self) -> PowerPowerItemReflevelsPercentRisemid: + """Return the ``POWer:POWer:REFLevels:PERCent:RISEMid`` command. + + Description: + - This command sets or queries the rising edge for mid reference level in percentage for + the specified power measurement number. The power measurement number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:RISEMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:RISEMid + - POWer:POWer:REFLevels:PERCent:RISEMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 1 to 99. + """ + return self._risemid + + @property + def type(self) -> PowerPowerItemReflevelsPercentType: + """Return the ``POWer:POWer:REFLevels:PERCent:TYPE`` command. + + Description: + - This command sets or queries the reference levels for the specified power measurement + number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent:TYPE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:PERCent:TYPE {TENNinety|TWENtyeighty|CUSTom} + - POWer:POWer:REFLevels:PERCent:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``TENNinety`` to set the low reference levels as 10% and high reference levels as 90%. + - ``TWENtyeighty`` to set the low reference levels as 20% and high reference levels as + 80%. + - ``CUSTom`` to set the custom low, high, and mid reference levels for rising and + falling edges. + """ + return self._type + + +class PowerPowerItemReflevelsMethod(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method to configure reference level values for the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:METHod?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels:METHod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:REFLevels:METHod value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:METHod {PERCent|ABSolute} + - POWer:POWer:REFLevels:METHod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``PERCent`` sets the power measurement to use absolute values to configure reference level + values. + - ``ABSolute`` sets the power measurement to use percentage to configure reference level + values. + """ + + +class PowerPowerItemReflevelsBasetop(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the reference level base top method for the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:BASETop?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels:BASETop?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - POWer:POWer:REFLevels:BASETop? + ``` + """ + + +class PowerPowerItemReflevelsAbsoluteType(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the type of measurement levels when reference level is set + to absolute for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute:TYPE?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - POWer:POWer:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``SAME`` : select when the rising edge and falling edge reference levels are same. + - ``UNIQue`` : select when the rising edge and falling edge reference levels are different. + """ + + +class PowerPowerItemReflevelsAbsoluteRisemid(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the rising edge for mid reference level in absolute units for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute:RISEMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:RISEMid + - POWer:POWer:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + + +class PowerPowerItemReflevelsAbsoluteRiselow(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the rising edge for low reference level in absolute units for + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute:RISELow?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:RISELow + - POWer:POWer:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + + +class PowerPowerItemReflevelsAbsoluteRisehigh(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the rising edge for high reference level in absolute units + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:RISEHigh + - POWer:POWer:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + + +class PowerPowerItemReflevelsAbsoluteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the absolute hysteresis value for the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:HYSTeresis + - POWer:POWer:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from 0.0000005 to 10. + """ + + +class PowerPowerItemReflevelsAbsoluteFallmid(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the falling edge for mid reference level in absolute units + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute:FALLMid?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:FALLMid + - POWer:POWer:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + + +class PowerPowerItemReflevelsAbsoluteFalllow(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the falling edge for low reference level in absolute units + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute:FALLLow?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:FALLLow + - POWer:POWer:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + + +class PowerPowerItemReflevelsAbsoluteFallhigh(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the falling edge for high reference level in absolute units + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:FALLHigh + - POWer:POWer:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + + +# pylint: disable=too-many-instance-attributes +class PowerPowerItemReflevelsAbsolute(SCPICmdRead): + """The ``POWer:POWer:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels:ABSolute?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fallhigh``: The ``POWer:POWer:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``POWer:POWer:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``POWer:POWer:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``POWer:POWer:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``POWer:POWer:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``POWer:POWer:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``POWer:POWer:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``POWer:POWer:REFLevels:ABSolute:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fallhigh = PowerPowerItemReflevelsAbsoluteFallhigh( + device, f"{self._cmd_syntax}:FALLHigh" + ) + self._falllow = PowerPowerItemReflevelsAbsoluteFalllow( + device, f"{self._cmd_syntax}:FALLLow" + ) + self._fallmid = PowerPowerItemReflevelsAbsoluteFallmid( + device, f"{self._cmd_syntax}:FALLMid" + ) + self._hysteresis = PowerPowerItemReflevelsAbsoluteHysteresis( + device, f"{self._cmd_syntax}:HYSTeresis" + ) + self._risehigh = PowerPowerItemReflevelsAbsoluteRisehigh( + device, f"{self._cmd_syntax}:RISEHigh" + ) + self._riselow = PowerPowerItemReflevelsAbsoluteRiselow( + device, f"{self._cmd_syntax}:RISELow" + ) + self._risemid = PowerPowerItemReflevelsAbsoluteRisemid( + device, f"{self._cmd_syntax}:RISEMid" + ) + self._type = PowerPowerItemReflevelsAbsoluteType(device, f"{self._cmd_syntax}:TYPE") + + @property + def fallhigh(self) -> PowerPowerItemReflevelsAbsoluteFallhigh: + """Return the ``POWer:POWer:REFLevels:ABSolute:FALLHigh`` command. + + Description: + - This command sets or queries the falling edge for high reference level in absolute + units for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:FALLHigh + - POWer:POWer:REFLevels:ABSolute:FALLHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + return self._fallhigh + + @property + def falllow(self) -> PowerPowerItemReflevelsAbsoluteFalllow: + """Return the ``POWer:POWer:REFLevels:ABSolute:FALLLow`` command. + + Description: + - This command sets or queries the falling edge for low reference level in absolute + units for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLLow?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLLow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLLow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:FALLLow + - POWer:POWer:REFLevels:ABSolute:FALLLow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + return self._falllow + + @property + def fallmid(self) -> PowerPowerItemReflevelsAbsoluteFallmid: + """Return the ``POWer:POWer:REFLevels:ABSolute:FALLMid`` command. + + Description: + - This command sets or queries the falling edge for mid reference level in absolute + units for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLMid?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:FALLMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:FALLMid + - POWer:POWer:REFLevels:ABSolute:FALLMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + return self._fallmid + + @property + def hysteresis(self) -> PowerPowerItemReflevelsAbsoluteHysteresis: + """Return the ``POWer:POWer:REFLevels:ABSolute:HYSTeresis`` command. + + Description: + - This command sets or queries the absolute hysteresis value for the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:HYSTeresis?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:HYSTeresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:HYSTeresis value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:HYSTeresis + - POWer:POWer:REFLevels:ABSolute:HYSTeresis? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from 0.0000005 to 10. + """ + return self._hysteresis + + @property + def risehigh(self) -> PowerPowerItemReflevelsAbsoluteRisehigh: + """Return the ``POWer:POWer:REFLevels:ABSolute:RISEHigh`` command. + + Description: + - This command sets or queries the rising edge for high reference level in absolute + units for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEHigh?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEHigh?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEHigh value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:RISEHigh + - POWer:POWer:REFLevels:ABSolute:RISEHigh? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + return self._risehigh + + @property + def riselow(self) -> PowerPowerItemReflevelsAbsoluteRiselow: + """Return the ``POWer:POWer:REFLevels:ABSolute:RISELow`` command. + + Description: + - This command sets or queries the rising edge for low reference level in absolute units + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISELow?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISELow?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISELow value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:RISELow + - POWer:POWer:REFLevels:ABSolute:RISELow? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + return self._riselow + + @property + def risemid(self) -> PowerPowerItemReflevelsAbsoluteRisemid: + """Return the ``POWer:POWer:REFLevels:ABSolute:RISEMid`` command. + + Description: + - This command sets or queries the rising edge for mid reference level in absolute units + for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEMid?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEMid?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:RISEMid value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:RISEMid + - POWer:POWer:REFLevels:ABSolute:RISEMid? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` ranges from -40000 to 40000. + """ + return self._risemid + + @property + def type(self) -> PowerPowerItemReflevelsAbsoluteType: + """Return the ``POWer:POWer:REFLevels:ABSolute:TYPE`` command. + + Description: + - This command sets or queries the type of measurement levels when reference level is + set to absolute for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:REFLevels:ABSolute:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:TYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute:TYPE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:ABSolute:TYPE {SAME|UNIQue} + - POWer:POWer:REFLevels:ABSolute:TYPE? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``SAME`` : select when the rising edge and falling edge reference levels are same. + - ``UNIQue`` : select when the rising edge and falling edge reference levels are + different. + """ + return self._type + + +class PowerPowerItemReflevels(SCPICmdRead): + """The ``POWer:POWer:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.absolute``: The ``POWer:POWer:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``POWer:POWer:REFLevels:BASETop`` command. + - ``.method``: The ``POWer:POWer:REFLevels:METHod`` command. + - ``.percent``: The ``POWer:POWer:REFLevels:PERCent`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._absolute = PowerPowerItemReflevelsAbsolute(device, f"{self._cmd_syntax}:ABSolute") + self._basetop = PowerPowerItemReflevelsBasetop(device, f"{self._cmd_syntax}:BASETop") + self._method = PowerPowerItemReflevelsMethod(device, f"{self._cmd_syntax}:METHod") + self._percent = PowerPowerItemReflevelsPercent(device, f"{self._cmd_syntax}:PERCent") + + @property + def absolute(self) -> PowerPowerItemReflevelsAbsolute: + """Return the ``POWer:POWer:REFLevels:ABSolute`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:ABSolute?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:ABSolute?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``POWer:POWer:REFLevels:ABSolute:FALLHigh`` command. + - ``.falllow``: The ``POWer:POWer:REFLevels:ABSolute:FALLLow`` command. + - ``.fallmid``: The ``POWer:POWer:REFLevels:ABSolute:FALLMid`` command. + - ``.hysteresis``: The ``POWer:POWer:REFLevels:ABSolute:HYSTeresis`` command. + - ``.risehigh``: The ``POWer:POWer:REFLevels:ABSolute:RISEHigh`` command. + - ``.riselow``: The ``POWer:POWer:REFLevels:ABSolute:RISELow`` command. + - ``.risemid``: The ``POWer:POWer:REFLevels:ABSolute:RISEMid`` command. + - ``.type``: The ``POWer:POWer:REFLevels:ABSolute:TYPE`` command. + """ + return self._absolute + + @property + def basetop(self) -> PowerPowerItemReflevelsBasetop: + """Return the ``POWer:POWer:REFLevels:BASETop`` command. + + Description: + - This command sets or queries the reference level base top method for the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:BASETop?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:BASETop?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:BASETop value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:BASETop {AUTO|MINMax|MEANhistogram|MODEhistogram|EYEhistogram} + - POWer:POWer:REFLevels:BASETop? + ``` + """ # noqa: E501 + return self._basetop + + @property + def method(self) -> PowerPowerItemReflevelsMethod: + """Return the ``POWer:POWer:REFLevels:METHod`` command. + + Description: + - This command sets or queries the method to configure reference level values for the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:METHod?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels:METHod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:REFLevels:METHod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:REFLevels:METHod {PERCent|ABSolute} + - POWer:POWer:REFLevels:METHod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``PERCent`` sets the power measurement to use absolute values to configure reference + level values. + - ``ABSolute`` sets the power measurement to use percentage to configure reference level + values. + """ + return self._method + + @property + def percent(self) -> PowerPowerItemReflevelsPercent: + """Return the ``POWer:POWer:REFLevels:PERCent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels:PERCent?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:REFLevels:PERCent?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.fallhigh``: The ``POWer:POWer:REFLevels:PERCent:FALLHigh`` command. + - ``.falllow``: The ``POWer:POWer:REFLevels:PERCent:FALLLow`` command. + - ``.fallmid``: The ``POWer:POWer:REFLevels:PERCent:FALLMid`` command. + - ``.hysteresis``: The ``POWer:POWer:REFLevels:PERCent:HYSTeresis`` command. + - ``.risehigh``: The ``POWer:POWer:REFLevels:PERCent:RISEHigh`` command. + - ``.riselow``: The ``POWer:POWer:REFLevels:PERCent:RISELow`` command. + - ``.risemid``: The ``POWer:POWer:REFLevels:PERCent:RISEMid`` command. + - ``.type``: The ``POWer:POWer:REFLevels:PERCent:TYPE`` command. + """ + return self._percent + + +class PowerPowerItemRdsonVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:RDSON:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for RDSon measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON:VSOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:RDSON:VSOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:RDSON:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:RDSON:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemRdsonIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:RDSON:ISOURce`` command. + + Description: + - This command sets or queries the current source for RDSon measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON:ISOURce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:RDSON:ISOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:RDSON:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:RDSON:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemRdsonDevicetype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:RDSON:DEVICEType`` command. + + Description: + - This command sets or queries the device type for the power drain source on resistance + measurement for RDSon measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON:DEVICEType?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON:DEVICEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:RDSON:DEVICEType value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:RDSON:DEVICEType {SWITCHING|PNJUNCTION} + - POWer:POWer:RDSON:DEVICEType? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``SWITCHING`` sets the Device Type to a switching device (v/i). + - ``PNJUNCTION`` sets the Device Type to a PN Junction device (dv/di). + """ + + +class PowerPowerItemRdson(SCPICmdRead): + """The ``POWer:POWer:RDSON`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.devicetype``: The ``POWer:POWer:RDSON:DEVICEType`` command. + - ``.isource``: The ``POWer:POWer:RDSON:ISOURce`` command. + - ``.vsource``: The ``POWer:POWer:RDSON:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._devicetype = PowerPowerItemRdsonDevicetype(device, f"{self._cmd_syntax}:DEVICEType") + self._isource = PowerPowerItemRdsonIsource(device, f"{self._cmd_syntax}:ISOURce") + self._vsource = PowerPowerItemRdsonVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def devicetype(self) -> PowerPowerItemRdsonDevicetype: + """Return the ``POWer:POWer:RDSON:DEVICEType`` command. + + Description: + - This command sets or queries the device type for the power drain source on resistance + measurement for RDSon measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON:DEVICEType?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON:DEVICEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:RDSON:DEVICEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:RDSON:DEVICEType {SWITCHING|PNJUNCTION} + - POWer:POWer:RDSON:DEVICEType? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``SWITCHING`` sets the Device Type to a switching device (v/i). + - ``PNJUNCTION`` sets the Device Type to a PN Junction device (dv/di). + """ + return self._devicetype + + @property + def isource(self) -> PowerPowerItemRdsonIsource: + """Return the ``POWer:POWer:RDSON:ISOURce`` command. + + Description: + - This command sets or queries the current source for RDSon measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:RDSON:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:RDSON:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:RDSON:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def vsource(self) -> PowerPowerItemRdsonVsource: + """Return the ``POWer:POWer:RDSON:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for RDSon measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:RDSON:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:RDSON:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:RDSON:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemPsrrTestconnection(SCPICmdWrite): + """The ``POWer:POWer:PSRR:TESTCONNection`` command. + + Description: + - This command tests the connection with the external instrument for the specified Power + Supply Rejection Ratio (PSRR) measurement. + + Usage: + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:TESTCONNection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:TESTCONNection {EXECute} + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + - ``EXECute`` runs the test connection function. + """ + + +class PowerPowerItemPsrrStopfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:STOPFREQuency`` command. + + Description: + - This command sets or queries the stop frequency value for the Power Supply Rejection Ratio + (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:STOPFREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:STOPFREQuency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:STOPFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:STOPFREQuency + - POWer:POWer:PSRR:STOPFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the stop frequency for the measurement, in the range of 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrStartfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:STARTFREQuency`` command. + + Description: + - This command sets or queries the start frequency value for the Power Supply Rejection + Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:STARTFREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:STARTFREQuency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:STARTFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:STARTFREQuency + - POWer:POWer:PSRR:STARTFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the starting frequency for the measurement, in the range of 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrPpd(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:PPD`` command. + + Description: + - This command sets or queries the points per decade (PPD) value for the Power Supply + Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:PPD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:PPD?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:PPD value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:PPD + - POWer:POWer:PSRR:PPD? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the PPD value for the measurement, in the range of 10 to 100 points. + """ + + +class PowerPowerItemPsrrOutputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:OUTPUTSOurce`` command. + + Description: + - This command sets or queries the output source for the Power Supply Rejection Ratio (PSRR) + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:OUTPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:OUTPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:OUTPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:OUTPUTSOurce CH + - POWer:POWer:PSRR:OUTPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the output source. + """ + + +class PowerPowerItemPsrrInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for the Power Supply Rejection Ratio (PSRR) + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:INPUTSOurce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:INPUTSOurce CH + - POWer:POWer:PSRR:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the input source. + """ + + +class PowerPowerItemPsrrImpedance(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:IMPEDance`` command. + + Description: + - This command sets or queries the vertical termination impedance for the Power Supply + Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:IMPEDance?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:IMPEDance?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:IMPEDance value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:IMPEDance {FIFTy|HIGHZ} + - POWer:POWer:PSRR:IMPEDance? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FIFTy`` sets the impedance to be 50 Ω. + - ``HIGHZ`` sets the impedance to be 1 MΩ. + """ + + +class PowerPowerItemPsrrGenerator(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:GENerator`` command. + + Description: + - Sets or queries the generator source for the Power Supply Rejection Ratio (PSRR) power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:GENerator?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:GENerator?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:GENerator value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:GENerator {INTernal|EXTernal} + - POWer:POWer:PSRR:GENerator? + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + - ``INTernal`` sets the internal generator as the source for the Power Supply Rejection + Ratio (PSRR) power measurement. + - ``EXTernal`` sets the external generator as the source for the Power Supply Rejection + Ratio (PSRR) power measurement. + """ + + +class PowerPowerItemPsrrGenipaddress(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:GENIPADDress`` command. + + Description: + - Sets or queries the instrument's IP Address associated with the specified Power Supply + Rejection Ratio (PSRR) measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:GENIPADDress?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:GENIPADDress?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:GENIPADDress value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:GENIPADDress + - POWer:POWer:PSRR:GENIPADDress? + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. is the IP address of the + generator. + """ + + +class PowerPowerItemPsrrFreq9val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ9Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ9Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ9Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ9Val + - POWer:POWer:PSRR:FREQ9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq8val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ8Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ8Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ8Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ8Val + - POWer:POWer:PSRR:FREQ8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq7val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ7Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ7Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ7Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ7Val + - POWer:POWer:PSRR:FREQ7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq6val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ6Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ6Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ6Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ6Val + - POWer:POWer:PSRR:FREQ6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq5val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ5Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ5Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ5Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ5Val + - POWer:POWer:PSRR:FREQ5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq4val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ4Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ4Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ4Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ4Val + - POWer:POWer:PSRR:FREQ4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq3val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ3Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ3Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ3Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ3Val + - POWer:POWer:PSRR:FREQ3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq2val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ2Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ2Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ2Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ2Val + - POWer:POWer:PSRR:FREQ2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq1val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ1Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ1Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ1Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ1Val + - POWer:POWer:PSRR:FREQ1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq11val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ11Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ11Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ11Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ11Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ11Val + - POWer:POWer:PSRR:FREQ11Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrFreq10val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:FREQ10Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ10Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:FREQ10Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ10Val + - POWer:POWer:PSRR:FREQ10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemPsrrConstamplitude(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:CONSTAMPlitude`` command. + + Description: + - This command sets or queries the constant amplitude voltage for the Power Supply Rejection + Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:CONSTAMPlitude?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:CONSTAMPlitude?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:CONSTAMPlitude value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:CONSTAMPlitude + - POWer:POWer:PSRR:CONSTAMPlitude? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the constant amplitude voltage value for the measurement, in the range of + -100 V to 100 V. + """ + + +class PowerPowerItemPsrrConnectstatus(SCPICmdRead): + """The ``POWer:POWer:PSRR:CONNECTSTATus`` command. + + Description: + - Queries the external instrument's connection status for the specified Power Supply + Rejection Ratio (PSRR) measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:CONNECTSTATus?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:CONNECTSTATus?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:CONNECTSTATus? + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + """ + + +class PowerPowerItemPsrrAutorbw(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AUTORbw`` command. + + Description: + - This command enables Auto RBW computation. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AUTORbw?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AUTORbw?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AUTORbw value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AUTORbw {True|False} + - POWer:POWer:PSRR:AUTORbw? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``True`` enables Auto RBW computation. + - ``False`` disables Auto RBW computation. + """ + + +class PowerPowerItemPsrrAnalysismethod(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:ANALYSISMethod`` command. + + Description: + - This command sets or queries the Analysis Method for PSRR measurements. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:ANALYSISMethod?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:ANALYSISMethod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:ANALYSISMethod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:ANALYSISMethod {SV|FFT} + - POWer:POWer:PSRR:ANALYSISMethod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``SV`` sets the Analysis Method as Spectrum View. + - ``FFT`` sets the Analysis Method as FFT. + """ + + +class PowerPowerItemPsrrAmpmode(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMPMode`` command. + + Description: + - This command sets or queries the amplitude mode for the Power Supply Rejection Ratio + (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMPMode?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMPMode?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMPMode value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMPMode {CONSTant|PROFile} + - POWer:POWer:PSRR:AMPMode? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CONSTant`` sets the amplitude mode to output a constant amplitude signal from the DUT + stimulus generator for all frequency bands. + - ``PROFile`` enables configuring the generator to set amplitude values for each frequency + band. + """ + + +class PowerPowerItemPsrrAmp9val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP9Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP9Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP9Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP9Val + - POWer:POWer:PSRR:AMP9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp8val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP8Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP8Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP8Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP8Val + - POWer:POWer:PSRR:AMP8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp7val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP7Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP7Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP7Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP7Val + - POWer:POWer:PSRR:AMP7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp6val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP6Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP6Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP6Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP6Val + - POWer:POWer:PSRR:AMP6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp5val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP5Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP5Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP5Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP5Val + - POWer:POWer:PSRR:AMP5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp4val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP4Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP4Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP4Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP4Val + - POWer:POWer:PSRR:AMP4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp3val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP3Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP3Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP3Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP3Val + - POWer:POWer:PSRR:AMP3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp2val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP2Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP2Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP2Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP2Val + - POWer:POWer:PSRR:AMP2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp1val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP1Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP1Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP1Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP1Val + - POWer:POWer:PSRR:AMP1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemPsrrAmp10val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PSRR:AMP10Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP10Val?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP10Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP10Val + - POWer:POWer:PSRR:AMP10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItemPsrr(SCPICmdRead): + """The ``POWer:POWer:PSRR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ampmode``: The ``POWer:POWer:PSRR:AMPMode`` command. + - ``.amp1val``: The ``POWer:POWer:PSRR:AMP1Val`` command. + - ``.amp2val``: The ``POWer:POWer:PSRR:AMP2Val`` command. + - ``.amp3val``: The ``POWer:POWer:PSRR:AMP3Val`` command. + - ``.amp4val``: The ``POWer:POWer:PSRR:AMP4Val`` command. + - ``.amp5val``: The ``POWer:POWer:PSRR:AMP5Val`` command. + - ``.amp6val``: The ``POWer:POWer:PSRR:AMP6Val`` command. + - ``.amp7val``: The ``POWer:POWer:PSRR:AMP7Val`` command. + - ``.amp8val``: The ``POWer:POWer:PSRR:AMP8Val`` command. + - ``.amp9val``: The ``POWer:POWer:PSRR:AMP9Val`` command. + - ``.amp10val``: The ``POWer:POWer:PSRR:AMP10Val`` command. + - ``.analysismethod``: The ``POWer:POWer:PSRR:ANALYSISMethod`` command. + - ``.autorbw``: The ``POWer:POWer:PSRR:AUTORbw`` command. + - ``.connectstatus``: The ``POWer:POWer:PSRR:CONNECTSTATus`` command. + - ``.constamplitude``: The ``POWer:POWer:PSRR:CONSTAMPlitude`` command. + - ``.freq1val``: The ``POWer:POWer:PSRR:FREQ1Val`` command. + - ``.freq2val``: The ``POWer:POWer:PSRR:FREQ2Val`` command. + - ``.freq3val``: The ``POWer:POWer:PSRR:FREQ3Val`` command. + - ``.freq4val``: The ``POWer:POWer:PSRR:FREQ4Val`` command. + - ``.freq5val``: The ``POWer:POWer:PSRR:FREQ5Val`` command. + - ``.freq6val``: The ``POWer:POWer:PSRR:FREQ6Val`` command. + - ``.freq7val``: The ``POWer:POWer:PSRR:FREQ7Val`` command. + - ``.freq8val``: The ``POWer:POWer:PSRR:FREQ8Val`` command. + - ``.freq9val``: The ``POWer:POWer:PSRR:FREQ9Val`` command. + - ``.freq10val``: The ``POWer:POWer:PSRR:FREQ10Val`` command. + - ``.freq11val``: The ``POWer:POWer:PSRR:FREQ11Val`` command. + - ``.genipaddress``: The ``POWer:POWer:PSRR:GENIPADDress`` command. + - ``.generator``: The ``POWer:POWer:PSRR:GENerator`` command. + - ``.impedance``: The ``POWer:POWer:PSRR:IMPEDance`` command. + - ``.inputsource``: The ``POWer:POWer:PSRR:INPUTSOurce`` command. + - ``.outputsource``: The ``POWer:POWer:PSRR:OUTPUTSOurce`` command. + - ``.ppd``: The ``POWer:POWer:PSRR:PPD`` command. + - ``.startfrequency``: The ``POWer:POWer:PSRR:STARTFREQuency`` command. + - ``.stopfrequency``: The ``POWer:POWer:PSRR:STOPFREQuency`` command. + - ``.testconnection``: The ``POWer:POWer:PSRR:TESTCONNection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ampmode = PowerPowerItemPsrrAmpmode(device, f"{self._cmd_syntax}:AMPMode") + self._amp1val = PowerPowerItemPsrrAmp1val(device, f"{self._cmd_syntax}:AMP1Val") + self._amp2val = PowerPowerItemPsrrAmp2val(device, f"{self._cmd_syntax}:AMP2Val") + self._amp3val = PowerPowerItemPsrrAmp3val(device, f"{self._cmd_syntax}:AMP3Val") + self._amp4val = PowerPowerItemPsrrAmp4val(device, f"{self._cmd_syntax}:AMP4Val") + self._amp5val = PowerPowerItemPsrrAmp5val(device, f"{self._cmd_syntax}:AMP5Val") + self._amp6val = PowerPowerItemPsrrAmp6val(device, f"{self._cmd_syntax}:AMP6Val") + self._amp7val = PowerPowerItemPsrrAmp7val(device, f"{self._cmd_syntax}:AMP7Val") + self._amp8val = PowerPowerItemPsrrAmp8val(device, f"{self._cmd_syntax}:AMP8Val") + self._amp9val = PowerPowerItemPsrrAmp9val(device, f"{self._cmd_syntax}:AMP9Val") + self._amp10val = PowerPowerItemPsrrAmp10val(device, f"{self._cmd_syntax}:AMP10Val") + self._analysismethod = PowerPowerItemPsrrAnalysismethod( + device, f"{self._cmd_syntax}:ANALYSISMethod" + ) + self._autorbw = PowerPowerItemPsrrAutorbw(device, f"{self._cmd_syntax}:AUTORbw") + self._connectstatus = PowerPowerItemPsrrConnectstatus( + device, f"{self._cmd_syntax}:CONNECTSTATus" + ) + self._constamplitude = PowerPowerItemPsrrConstamplitude( + device, f"{self._cmd_syntax}:CONSTAMPlitude" + ) + self._freq1val = PowerPowerItemPsrrFreq1val(device, f"{self._cmd_syntax}:FREQ1Val") + self._freq2val = PowerPowerItemPsrrFreq2val(device, f"{self._cmd_syntax}:FREQ2Val") + self._freq3val = PowerPowerItemPsrrFreq3val(device, f"{self._cmd_syntax}:FREQ3Val") + self._freq4val = PowerPowerItemPsrrFreq4val(device, f"{self._cmd_syntax}:FREQ4Val") + self._freq5val = PowerPowerItemPsrrFreq5val(device, f"{self._cmd_syntax}:FREQ5Val") + self._freq6val = PowerPowerItemPsrrFreq6val(device, f"{self._cmd_syntax}:FREQ6Val") + self._freq7val = PowerPowerItemPsrrFreq7val(device, f"{self._cmd_syntax}:FREQ7Val") + self._freq8val = PowerPowerItemPsrrFreq8val(device, f"{self._cmd_syntax}:FREQ8Val") + self._freq9val = PowerPowerItemPsrrFreq9val(device, f"{self._cmd_syntax}:FREQ9Val") + self._freq10val = PowerPowerItemPsrrFreq10val(device, f"{self._cmd_syntax}:FREQ10Val") + self._freq11val = PowerPowerItemPsrrFreq11val(device, f"{self._cmd_syntax}:FREQ11Val") + self._genipaddress = PowerPowerItemPsrrGenipaddress( + device, f"{self._cmd_syntax}:GENIPADDress" + ) + self._generator = PowerPowerItemPsrrGenerator(device, f"{self._cmd_syntax}:GENerator") + self._impedance = PowerPowerItemPsrrImpedance(device, f"{self._cmd_syntax}:IMPEDance") + self._inputsource = PowerPowerItemPsrrInputsource(device, f"{self._cmd_syntax}:INPUTSOurce") + self._outputsource = PowerPowerItemPsrrOutputsource( + device, f"{self._cmd_syntax}:OUTPUTSOurce" + ) + self._ppd = PowerPowerItemPsrrPpd(device, f"{self._cmd_syntax}:PPD") + self._startfrequency = PowerPowerItemPsrrStartfrequency( + device, f"{self._cmd_syntax}:STARTFREQuency" + ) + self._stopfrequency = PowerPowerItemPsrrStopfrequency( + device, f"{self._cmd_syntax}:STOPFREQuency" + ) + self._testconnection = PowerPowerItemPsrrTestconnection( + device, f"{self._cmd_syntax}:TESTCONNection" + ) + + @property + def ampmode(self) -> PowerPowerItemPsrrAmpmode: + """Return the ``POWer:POWer:PSRR:AMPMode`` command. + + Description: + - This command sets or queries the amplitude mode for the Power Supply Rejection Ratio + (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMPMode?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMPMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMPMode value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMPMode {CONSTant|PROFile} + - POWer:POWer:PSRR:AMPMode? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CONSTant`` sets the amplitude mode to output a constant amplitude signal from the + DUT stimulus generator for all frequency bands. + - ``PROFile`` enables configuring the generator to set amplitude values for each + frequency band. + """ + return self._ampmode + + @property + def amp1val(self) -> PowerPowerItemPsrrAmp1val: + """Return the ``POWer:POWer:PSRR:AMP1Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP1Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP1Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP1Val + - POWer:POWer:PSRR:AMP1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp1val + + @property + def amp2val(self) -> PowerPowerItemPsrrAmp2val: + """Return the ``POWer:POWer:PSRR:AMP2Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP2Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP2Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP2Val + - POWer:POWer:PSRR:AMP2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp2val + + @property + def amp3val(self) -> PowerPowerItemPsrrAmp3val: + """Return the ``POWer:POWer:PSRR:AMP3Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP3Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP3Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP3Val + - POWer:POWer:PSRR:AMP3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp3val + + @property + def amp4val(self) -> PowerPowerItemPsrrAmp4val: + """Return the ``POWer:POWer:PSRR:AMP4Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP4Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP4Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP4Val + - POWer:POWer:PSRR:AMP4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp4val + + @property + def amp5val(self) -> PowerPowerItemPsrrAmp5val: + """Return the ``POWer:POWer:PSRR:AMP5Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP5Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP5Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP5Val + - POWer:POWer:PSRR:AMP5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp5val + + @property + def amp6val(self) -> PowerPowerItemPsrrAmp6val: + """Return the ``POWer:POWer:PSRR:AMP6Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP6Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP6Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP6Val + - POWer:POWer:PSRR:AMP6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp6val + + @property + def amp7val(self) -> PowerPowerItemPsrrAmp7val: + """Return the ``POWer:POWer:PSRR:AMP7Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP7Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP7Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP7Val + - POWer:POWer:PSRR:AMP7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp7val + + @property + def amp8val(self) -> PowerPowerItemPsrrAmp8val: + """Return the ``POWer:POWer:PSRR:AMP8Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP8Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP8Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP8Val + - POWer:POWer:PSRR:AMP8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp8val + + @property + def amp9val(self) -> PowerPowerItemPsrrAmp9val: + """Return the ``POWer:POWer:PSRR:AMP9Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP9Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AMP9Val value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP9Val + - POWer:POWer:PSRR:AMP9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp9val + + @property + def amp10val(self) -> PowerPowerItemPsrrAmp10val: + """Return the ``POWer:POWer:PSRR:AMP10Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AMP10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AMP10Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:AMP10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AMP10Val + - POWer:POWer:PSRR:AMP10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp10val + + @property + def analysismethod(self) -> PowerPowerItemPsrrAnalysismethod: + """Return the ``POWer:POWer:PSRR:ANALYSISMethod`` command. + + Description: + - This command sets or queries the Analysis Method for PSRR measurements. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:ANALYSISMethod?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:ANALYSISMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:ANALYSISMethod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:ANALYSISMethod {SV|FFT} + - POWer:POWer:PSRR:ANALYSISMethod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``SV`` sets the Analysis Method as Spectrum View. + - ``FFT`` sets the Analysis Method as FFT. + """ + return self._analysismethod + + @property + def autorbw(self) -> PowerPowerItemPsrrAutorbw: + """Return the ``POWer:POWer:PSRR:AUTORbw`` command. + + Description: + - This command enables Auto RBW computation. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:AUTORbw?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:AUTORbw?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:AUTORbw value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:AUTORbw {True|False} + - POWer:POWer:PSRR:AUTORbw? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``True`` enables Auto RBW computation. + - ``False`` disables Auto RBW computation. + """ + return self._autorbw + + @property + def connectstatus(self) -> PowerPowerItemPsrrConnectstatus: + """Return the ``POWer:POWer:PSRR:CONNECTSTATus`` command. + + Description: + - Queries the external instrument's connection status for the specified Power Supply + Rejection Ratio (PSRR) measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:CONNECTSTATus?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:CONNECTSTATus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:CONNECTSTATus? + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + """ + return self._connectstatus + + @property + def constamplitude(self) -> PowerPowerItemPsrrConstamplitude: + """Return the ``POWer:POWer:PSRR:CONSTAMPlitude`` command. + + Description: + - This command sets or queries the constant amplitude voltage for the Power Supply + Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:CONSTAMPlitude?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:CONSTAMPlitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:CONSTAMPlitude value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:CONSTAMPlitude + - POWer:POWer:PSRR:CONSTAMPlitude? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the constant amplitude voltage value for the measurement, in the range of + -100 V to 100 V. + """ + return self._constamplitude + + @property + def freq1val(self) -> PowerPowerItemPsrrFreq1val: + """Return the ``POWer:POWer:PSRR:FREQ1Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ1Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ1Val + - POWer:POWer:PSRR:FREQ1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq1val + + @property + def freq2val(self) -> PowerPowerItemPsrrFreq2val: + """Return the ``POWer:POWer:PSRR:FREQ2Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ2Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ2Val + - POWer:POWer:PSRR:FREQ2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq2val + + @property + def freq3val(self) -> PowerPowerItemPsrrFreq3val: + """Return the ``POWer:POWer:PSRR:FREQ3Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ3Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ3Val + - POWer:POWer:PSRR:FREQ3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq3val + + @property + def freq4val(self) -> PowerPowerItemPsrrFreq4val: + """Return the ``POWer:POWer:PSRR:FREQ4Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ4Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ4Val + - POWer:POWer:PSRR:FREQ4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq4val + + @property + def freq5val(self) -> PowerPowerItemPsrrFreq5val: + """Return the ``POWer:POWer:PSRR:FREQ5Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ5Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ5Val + - POWer:POWer:PSRR:FREQ5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq5val + + @property + def freq6val(self) -> PowerPowerItemPsrrFreq6val: + """Return the ``POWer:POWer:PSRR:FREQ6Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ6Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ6Val + - POWer:POWer:PSRR:FREQ6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq6val + + @property + def freq7val(self) -> PowerPowerItemPsrrFreq7val: + """Return the ``POWer:POWer:PSRR:FREQ7Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ7Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ7Val + - POWer:POWer:PSRR:FREQ7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq7val + + @property + def freq8val(self) -> PowerPowerItemPsrrFreq8val: + """Return the ``POWer:POWer:PSRR:FREQ8Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ8Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ8Val + - POWer:POWer:PSRR:FREQ8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq8val + + @property + def freq9val(self) -> PowerPowerItemPsrrFreq9val: + """Return the ``POWer:POWer:PSRR:FREQ9Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ9Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ9Val + - POWer:POWer:PSRR:FREQ9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq9val + + @property + def freq10val(self) -> PowerPowerItemPsrrFreq10val: + """Return the ``POWer:POWer:PSRR:FREQ10Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ10Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ10Val + - POWer:POWer:PSRR:FREQ10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq10val + + @property + def freq11val(self) -> PowerPowerItemPsrrFreq11val: + """Return the ``POWer:POWer:PSRR:FREQ11Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Power Supply Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:FREQ11Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:FREQ11Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:FREQ11Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:FREQ11Val + - POWer:POWer:PSRR:FREQ11Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq11val + + @property + def genipaddress(self) -> PowerPowerItemPsrrGenipaddress: + """Return the ``POWer:POWer:PSRR:GENIPADDress`` command. + + Description: + - Sets or queries the instrument's IP Address associated with the specified Power Supply + Rejection Ratio (PSRR) measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:GENIPADDress?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:GENIPADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:GENIPADDress value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:GENIPADDress + - POWer:POWer:PSRR:GENIPADDress? + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. is the IP address of + the generator. + """ + return self._genipaddress + + @property + def generator(self) -> PowerPowerItemPsrrGenerator: + """Return the ``POWer:POWer:PSRR:GENerator`` command. + + Description: + - Sets or queries the generator source for the Power Supply Rejection Ratio (PSRR) power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:GENerator?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:GENerator?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:GENerator value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:GENerator {INTernal|EXTernal} + - POWer:POWer:PSRR:GENerator? + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + - ``INTernal`` sets the internal generator as the source for the Power Supply Rejection + Ratio (PSRR) power measurement. + - ``EXTernal`` sets the external generator as the source for the Power Supply Rejection + Ratio (PSRR) power measurement. + """ + return self._generator + + @property + def impedance(self) -> PowerPowerItemPsrrImpedance: + """Return the ``POWer:POWer:PSRR:IMPEDance`` command. + + Description: + - This command sets or queries the vertical termination impedance for the Power Supply + Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:IMPEDance?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:IMPEDance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:IMPEDance value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:IMPEDance {FIFTy|HIGHZ} + - POWer:POWer:PSRR:IMPEDance? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FIFTy`` sets the impedance to be 50 Ω. + - ``HIGHZ`` sets the impedance to be 1 MΩ. + """ + return self._impedance + + @property + def inputsource(self) -> PowerPowerItemPsrrInputsource: + """Return the ``POWer:POWer:PSRR:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for the Power Supply Rejection Ratio + (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:INPUTSOurce CH + - POWer:POWer:PSRR:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the input source. + """ + return self._inputsource + + @property + def outputsource(self) -> PowerPowerItemPsrrOutputsource: + """Return the ``POWer:POWer:PSRR:OUTPUTSOurce`` command. + + Description: + - This command sets or queries the output source for the Power Supply Rejection Ratio + (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:OUTPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:OUTPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:OUTPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:OUTPUTSOurce CH + - POWer:POWer:PSRR:OUTPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the output source. + """ + return self._outputsource + + @property + def ppd(self) -> PowerPowerItemPsrrPpd: + """Return the ``POWer:POWer:PSRR:PPD`` command. + + Description: + - This command sets or queries the points per decade (PPD) value for the Power Supply + Rejection Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:PPD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR:PPD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PSRR:PPD value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:PPD + - POWer:POWer:PSRR:PPD? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the PPD value for the measurement, in the range of 10 to 100 points. + """ + return self._ppd + + @property + def startfrequency(self) -> PowerPowerItemPsrrStartfrequency: + """Return the ``POWer:POWer:PSRR:STARTFREQuency`` command. + + Description: + - This command sets or queries the start frequency value for the Power Supply Rejection + Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:STARTFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:STARTFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:STARTFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:STARTFREQuency + - POWer:POWer:PSRR:STARTFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the starting frequency for the measurement, in the range of 10 Hz to 50 + MHz. + """ + return self._startfrequency + + @property + def stopfrequency(self) -> PowerPowerItemPsrrStopfrequency: + """Return the ``POWer:POWer:PSRR:STOPFREQuency`` command. + + Description: + - This command sets or queries the stop frequency value for the Power Supply Rejection + Ratio (PSRR) power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR:STOPFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PSRR:STOPFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:STOPFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:STOPFREQuency + - POWer:POWer:PSRR:STOPFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the stop frequency for the measurement, in the range of 10 Hz to 50 MHz. + """ + return self._stopfrequency + + @property + def testconnection(self) -> PowerPowerItemPsrrTestconnection: + """Return the ``POWer:POWer:PSRR:TESTCONNection`` command. + + Description: + - This command tests the connection with the external instrument for the specified Power + Supply Rejection Ratio (PSRR) measurement. + + Usage: + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PSRR:TESTCONNection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PSRR:TESTCONNection {EXECute} + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + - ``EXECute`` runs the test connection function. + """ + return self._testconnection + + +class PowerPowerItemPreset(SCPICmdWrite): + """The ``POWer:POWer:PRESET`` command. + + Description: + - This command runs a power preset action for the specified power measurement number. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:POWer:PRESET value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PRESET {EXECute} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``EXECute`` runs the power preset action. + """ + + +class PowerPowerItemPpulsewidthInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PPULSEWIDTH:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for positive pulse width measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PPULSEWIDTH:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PPULSEWIDTH:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PPULSEWIDTH:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PPULSEWIDTH:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PPULSEWIDTH:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemPpulsewidth(SCPICmdRead): + """The ``POWer:POWer:PPULSEWIDTH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PPULSEWIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PPULSEWIDTH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:PPULSEWIDTH:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemPpulsewidthInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemPpulsewidthInputsource: + """Return the ``POWer:POWer:PPULSEWIDTH:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for positive pulse width measurement in + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:PPULSEWIDTH:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PPULSEWIDTH:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PPULSEWIDTH:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PPULSEWIDTH:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PPULSEWIDTH:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemPowerqualityVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:POWERQUALITY:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for power quality measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:POWERQUALITY:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:POWERQUALITY:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemPowerqualityStype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:POWERQUALITY:STYPe`` command. + + Description: + - This command sets or queries the source type. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:STYPe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:POWERQUALITY:STYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:STYPe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:STYPe {AC|DC} + - POWer:POWer:POWERQUALITY:STYPe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AC`` sets the signal type as AC. + - ``DC`` sets the signal type as DC. + """ + + +class PowerPowerItemPowerqualityIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:POWERQUALITY:ISOURce`` command. + + Description: + - This command sets or queries the current source for power quality measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:POWERQUALITY:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:ISOURce {CH|MATH|REF} + - POWer:POWer:POWERQUALITY:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemPowerqualityFreference(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:POWERQUALITY:FREFerence`` command. + + Description: + - This command sets or queries the frequency reference type for power quality measurement in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:FREFerence?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:POWERQUALITY:FREFerence?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:FREFerence value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:FREFerence {VOLTage|CURRent} + - POWer:POWer:POWERQUALITY:FREFerence? + ``` + """ + + +class PowerPowerItemPowerqualityCcycles(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:POWERQUALITY:CCYCles`` command. + + Description: + - This command sets or queries the calculate cycles over full cycles settings for the + specified power quality measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:CCYCles?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:POWERQUALITY:CCYCles?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:CCYCles value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:CCYCles {ON|OFF 1|0} + - POWer:POWer:POWERQUALITY:CCYCles? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``1`` selects the calculate cycles over full cycles. + - ``ON`` selects the calculate cycles over full cycles. + - ``0`` unselects the calculate cycles over full cycles. + - ``OFF`` unselects the calculate cycles over full cycles. + """ + + +class PowerPowerItemPowerquality(SCPICmdRead): + """The ``POWer:POWer:POWERQUALITY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:POWERQUALITY?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ccycles``: The ``POWer:POWer:POWERQUALITY:CCYCles`` command. + - ``.freference``: The ``POWer:POWer:POWERQUALITY:FREFerence`` command. + - ``.isource``: The ``POWer:POWer:POWERQUALITY:ISOURce`` command. + - ``.stype``: The ``POWer:POWer:POWERQUALITY:STYPe`` command. + - ``.vsource``: The ``POWer:POWer:POWERQUALITY:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ccycles = PowerPowerItemPowerqualityCcycles(device, f"{self._cmd_syntax}:CCYCles") + self._freference = PowerPowerItemPowerqualityFreference( + device, f"{self._cmd_syntax}:FREFerence" + ) + self._isource = PowerPowerItemPowerqualityIsource(device, f"{self._cmd_syntax}:ISOURce") + self._stype = PowerPowerItemPowerqualityStype(device, f"{self._cmd_syntax}:STYPe") + self._vsource = PowerPowerItemPowerqualityVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def ccycles(self) -> PowerPowerItemPowerqualityCcycles: + """Return the ``POWer:POWer:POWERQUALITY:CCYCles`` command. + + Description: + - This command sets or queries the calculate cycles over full cycles settings for the + specified power quality measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:CCYCles?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:POWERQUALITY:CCYCles?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:CCYCles value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:CCYCles {ON|OFF 1|0} + - POWer:POWer:POWERQUALITY:CCYCles? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``1`` selects the calculate cycles over full cycles. + - ``ON`` selects the calculate cycles over full cycles. + - ``0`` unselects the calculate cycles over full cycles. + - ``OFF`` unselects the calculate cycles over full cycles. + """ + return self._ccycles + + @property + def freference(self) -> PowerPowerItemPowerqualityFreference: + """Return the ``POWer:POWer:POWERQUALITY:FREFerence`` command. + + Description: + - This command sets or queries the frequency reference type for power quality + measurement in the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:POWERQUALITY:FREFerence?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:POWERQUALITY:FREFerence?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:FREFerence value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:FREFerence {VOLTage|CURRent} + - POWer:POWer:POWERQUALITY:FREFerence? + ``` + """ + return self._freference + + @property + def isource(self) -> PowerPowerItemPowerqualityIsource: + """Return the ``POWer:POWer:POWERQUALITY:ISOURce`` command. + + Description: + - This command sets or queries the current source for power quality measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:POWERQUALITY:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:ISOURce {CH|MATH|REF} + - POWer:POWer:POWERQUALITY:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def stype(self) -> PowerPowerItemPowerqualityStype: + """Return the ``POWer:POWer:POWERQUALITY:STYPe`` command. + + Description: + - This command sets or queries the source type. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:STYPe?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:POWERQUALITY:STYPe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:STYPe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:STYPe {AC|DC} + - POWer:POWer:POWERQUALITY:STYPe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AC`` sets the signal type as AC. + - ``DC`` sets the signal type as DC. + """ + return self._stype + + @property + def vsource(self) -> PowerPowerItemPowerqualityVsource: + """Return the ``POWer:POWer:POWERQUALITY:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for power quality measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:POWERQUALITY:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:POWERQUALITY:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:POWERQUALITY:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:POWERQUALITY:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemPeriodInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PERIOD:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for period measurement in the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PERIOD:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PERIOD:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PERIOD:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PERIOD:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PERIOD:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemPeriodEdge(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PERIOD:EDGe`` command. + + Description: + - This command sets or queries the edge type for period measurement in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PERIOD:EDGe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PERIOD:EDGe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PERIOD:EDGe value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PERIOD:EDGe {RISE|FALL} + - POWer:POWer:PERIOD:EDGe? + ``` + """ + + +class PowerPowerItemPeriod(SCPICmdRead): + """The ``POWer:POWer:PERIOD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PERIOD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PERIOD?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edge``: The ``POWer:POWer:PERIOD:EDGe`` command. + - ``.inputsource``: The ``POWer:POWer:PERIOD:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = PowerPowerItemPeriodEdge(device, f"{self._cmd_syntax}:EDGe") + self._inputsource = PowerPowerItemPeriodInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def edge(self) -> PowerPowerItemPeriodEdge: + """Return the ``POWer:POWer:PERIOD:EDGe`` command. + + Description: + - This command sets or queries the edge type for period measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PERIOD:EDGe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PERIOD:EDGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:PERIOD:EDGe value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PERIOD:EDGe {RISE|FALL} + - POWer:POWer:PERIOD:EDGe? + ``` + """ + return self._edge + + @property + def inputsource(self) -> PowerPowerItemPeriodInputsource: + """Return the ``POWer:POWer:PERIOD:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for period measurement in the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PERIOD:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PERIOD:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PERIOD:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PERIOD:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PERIOD:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemPdutycycleInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PDUTYCYCLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for positive duty cycle measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PDUTYCYCLE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PDUTYCYCLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PDUTYCYCLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemPdutycycleEdgetype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:PDUTYCYCLE:EDGEType`` command. + + Description: + - This command sets or queries the clock edge type for positive duty cycle measurement in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PDUTYCYCLE:EDGEType?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PDUTYCYCLE:EDGEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:EDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PDUTYCYCLE:EDGEType {S_Ch|CH|MATH|REF} + - POWer:POWer:PDUTYCYCLE:EDGEType? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + + +class PowerPowerItemPdutycycle(SCPICmdRead): + """The ``POWer:POWer:PDUTYCYCLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PDUTYCYCLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PDUTYCYCLE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edgetype``: The ``POWer:POWer:PDUTYCYCLE:EDGEType`` command. + - ``.inputsource``: The ``POWer:POWer:PDUTYCYCLE:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edgetype = PowerPowerItemPdutycycleEdgetype(device, f"{self._cmd_syntax}:EDGEType") + self._inputsource = PowerPowerItemPdutycycleInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def edgetype(self) -> PowerPowerItemPdutycycleEdgetype: + """Return the ``POWer:POWer:PDUTYCYCLE:EDGEType`` command. + + Description: + - This command sets or queries the clock edge type for positive duty cycle measurement + in the specified power measurement number. The power measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PDUTYCYCLE:EDGEType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:EDGEType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:EDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PDUTYCYCLE:EDGEType {S_Ch|CH|MATH|REF} + - POWer:POWer:PDUTYCYCLE:EDGEType? + ``` + + Info: + - ``S_Ch`` specifies the remote scope number and the analog channel as the source. + - ``CH`` specifies an analog channel as the source. + - ``Math`` specifies a math waveform as the source. + - ``REF`` specifies a reference waveform as the source. + """ + return self._edgetype + + @property + def inputsource(self) -> PowerPowerItemPdutycycleInputsource: + """Return the ``POWer:POWer:PDUTYCYCLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for positive duty cycle measurement in + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PDUTYCYCLE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:PDUTYCYCLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:PDUTYCYCLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:PDUTYCYCLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemNpulsewidthInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:NPULSEWIDTH:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for negative pulse width measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NPULSEWIDTH:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:NPULSEWIDTH:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:NPULSEWIDTH:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:NPULSEWIDTH:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:NPULSEWIDTH:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemNpulsewidth(SCPICmdRead): + """The ``POWer:POWer:NPULSEWIDTH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NPULSEWIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:NPULSEWIDTH?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:NPULSEWIDTH:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemNpulsewidthInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemNpulsewidthInputsource: + """Return the ``POWer:POWer:NPULSEWIDTH:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for negative pulse width measurement in + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:NPULSEWIDTH:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:NPULSEWIDTH:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:NPULSEWIDTH:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:NPULSEWIDTH:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:NPULSEWIDTH:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemNdutycycleInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:NDUTYCYCLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for negative duty cycle measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NDUTYCYCLE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:NDUTYCYCLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:NDUTYCYCLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemNdutycycleEdgetype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:NDUTYCYCLE:EDGEType`` command. + + Description: + - This command sets or queries the clock edge type for negative duty cycle measurement in + the specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NDUTYCYCLE:EDGEType?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:NDUTYCYCLE:EDGEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:EDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:NDUTYCYCLE:EDGEType {RISE|FALL|BOTH} + - POWer:POWer:NDUTYCYCLE:EDGEType? + ``` + """ + + +class PowerPowerItemNdutycycle(SCPICmdRead): + """The ``POWer:POWer:NDUTYCYCLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NDUTYCYCLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:NDUTYCYCLE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edgetype``: The ``POWer:POWer:NDUTYCYCLE:EDGEType`` command. + - ``.inputsource``: The ``POWer:POWer:NDUTYCYCLE:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edgetype = PowerPowerItemNdutycycleEdgetype(device, f"{self._cmd_syntax}:EDGEType") + self._inputsource = PowerPowerItemNdutycycleInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def edgetype(self) -> PowerPowerItemNdutycycleEdgetype: + """Return the ``POWer:POWer:NDUTYCYCLE:EDGEType`` command. + + Description: + - This command sets or queries the clock edge type for negative duty cycle measurement + in the specified power measurement number. The power measurement number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NDUTYCYCLE:EDGEType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:EDGEType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:EDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:NDUTYCYCLE:EDGEType {RISE|FALL|BOTH} + - POWer:POWer:NDUTYCYCLE:EDGEType? + ``` + """ + return self._edgetype + + @property + def inputsource(self) -> PowerPowerItemNdutycycleInputsource: + """Return the ``POWer:POWer:NDUTYCYCLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for negative duty cycle measurement in + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NDUTYCYCLE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:NDUTYCYCLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:NDUTYCYCLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:NDUTYCYCLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemMagpropertyVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:VSOURce`` command. + + Description: + - This command sets or queries the primary winding voltage source for the magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertyUnits(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:UNITs`` command. + + Description: + - This command sets or queries the units for magnetic measurements of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:UNITs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY:UNITs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:UNITs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:UNITs {SI|CGS} + - POWer:POWer:MAGPROPERTY:UNITs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``SI`` sets the measurement to International System of Units. + - ``CGS`` sets the measurement to Gaussian units. + """ + + +class PowerPowerItemMagpropertySecwindings(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SECWINDings`` command. + + Description: + - This command sets or queries the number of secondary windings for the magnetic property + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SECWINDings?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECWINDings?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECWINDings value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SECWINDings {None|ONE|TWO|THREE|FOUR|FIVE|SIX} + - POWer:POWer:MAGPROPERTY:SECWINDings? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``None`` , ONE, TWO, THREE, FOUR, FIVE, SIX sets the number of secondary windings to the + specified value. + """ + + +class PowerPowerItemMagpropertySecvolt(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SECVolt`` command. + + Description: + - This command enables or disables secondary voltage input for measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SECVolt?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY:SECVolt?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECVolt value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SECVolt {True|False} + - POWer:POWer:MAGPROPERTY:SECVolt? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``True`` enables secondary voltage source. + - ``False`` disables secondary voltage source. + """ + + +class PowerPowerItemMagpropertySecphase(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SECPhase`` command. + + Description: + - This command sets or returns the value for the phase difference between secondary and + primary voltage. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SECPhase?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY:SECPhase?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECPhase value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SECPhase + - POWer:POWer:MAGPROPERTY:SECPhase? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` sets the value for the phase difference between secondary and primary voltage, + in the range of -180 to 180 degrees. + """ + + +class PowerPowerItemMagpropertySec6turns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC6TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 6 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC6TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC6TURNs + - POWer:POWer:MAGPROPERTY:SEC6TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to 1,000,000. + """ + + +class PowerPowerItemMagpropertySec6source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC6SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding 6 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC6SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC6SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC6SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertySec5turns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC5TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 5 for magnetic + measurement of the specified power measurement badge. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC5TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC5TURNs + - POWer:POWer:MAGPROPERTY:SEC5TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to 1,000,000. + """ + + +class PowerPowerItemMagpropertySec5source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC5SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding 5 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC5SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC5SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC5SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertySec4turns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC4TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 4 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC4TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC4TURNs + - POWer:POWer:MAGPROPERTY:SEC4TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to 1,000,000. + """ + + +class PowerPowerItemMagpropertySec4source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC4SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding 4 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC4SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC4SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC4SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertySec3turns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC3TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 3 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC3TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC3TURNs + - POWer:POWer:MAGPROPERTY:SEC3TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to 1,000,000. + """ + + +class PowerPowerItemMagpropertySec3source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC3SOURce`` command. + + Description: + - This command sets or queries the current source channel for secondary winding 3 for + magnetic measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC3SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC3SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC3SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertySec2turns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC2TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 2 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC2TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC2TURNs + - POWer:POWer:MAGPROPERTY:SEC2TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to 1,000,000. + """ + + +class PowerPowerItemMagpropertySec2source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC2SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding2 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC2SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC2SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC2SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertySec1turns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC1TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 1 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC1TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC1TURNs + - POWer:POWer:MAGPROPERTY:SEC1TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to 1,000,000. + """ + + +class PowerPowerItemMagpropertySec1source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:SEC1SOURce`` command. + + Description: + - This command sets or queries the current source channel for secondary winding 1 for + magnetic measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC1SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC1SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC1SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertyPrimaryturns(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs`` command. + + Description: + - This command sets or queries the number of primary turns for magnetic measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:PRIMARYTURNs + - POWer:POWer:MAGPROPERTY:PRIMARYTURNs? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ```` is the integer number of turns in the primary winding, in the range of 1 to 1 M. + """ + + +class PowerPowerItemMagpropertyLength(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:LENgth`` command. + + Description: + - This command sets or queries the conductor length of the primary winding for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:LENgth?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY:LENgth?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:LENgth value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:LENgth + - POWer:POWer:MAGPROPERTY:LENgth? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ```` is the magnetic length, in the range of 1.00E-09 through 1,000,000. + """ + + +class PowerPowerItemMagpropertyIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:ISOURce`` command. + + Description: + - This command sets or queries the current source for the magnetic property measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:ISOURce? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagpropertyEdgesource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:EDGESOURce`` command. + + Description: + - This command sets or queries the edge source type for the magnetic property measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:EDGESOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:EDGESOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:EDGESOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:EDGESOURce {Current|VOLTAGE} + - POWer:POWer:MAGPROPERTY:EDGESOURce? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent of + the number shown on a power measurement badge in the UI. + - ``Current`` sets the measurement to use the primary voltage source as the signal edge for + the magnetic property measurement. + - ``VOLTAGE`` sets the measurement to use the primary current source as the signal edge for + the magnetic property measurement. + """ + + +class PowerPowerItemMagpropertyAreaofcrosssection(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY:AREAofcrosssection`` command. + + Description: + - This command sets or queries the coil cross section area for magnetic measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:MAGPROPERTY:AREAofcrosssection?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:AREAofcrosssection?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:AREAofcrosssection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:AREAofcrosssection + - POWer:POWer:MAGPROPERTY:AREAofcrosssection? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ```` is the cross section area in square meters, in the range of 1 nanometer2 to 1 + M2. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItemMagproperty(SCPICmdRead): + """The ``POWer:POWer:MAGPROPERTY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.areaofcrosssection``: The ``POWer:POWer:MAGPROPERTY:AREAofcrosssection`` command. + - ``.edgesource``: The ``POWer:POWer:MAGPROPERTY:EDGESOURce`` command. + - ``.isource``: The ``POWer:POWer:MAGPROPERTY:ISOURce`` command. + - ``.length``: The ``POWer:POWer:MAGPROPERTY:LENgth`` command. + - ``.primaryturns``: The ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs`` command. + - ``.sec1source``: The ``POWer:POWer:MAGPROPERTY:SEC1SOURce`` command. + - ``.sec1turns``: The ``POWer:POWer:MAGPROPERTY:SEC1TURNs`` command. + - ``.sec2source``: The ``POWer:POWer:MAGPROPERTY:SEC2SOURce`` command. + - ``.sec2turns``: The ``POWer:POWer:MAGPROPERTY:SEC2TURNs`` command. + - ``.sec3source``: The ``POWer:POWer:MAGPROPERTY:SEC3SOURce`` command. + - ``.sec3turns``: The ``POWer:POWer:MAGPROPERTY:SEC3TURNs`` command. + - ``.sec4source``: The ``POWer:POWer:MAGPROPERTY:SEC4SOURce`` command. + - ``.sec4turns``: The ``POWer:POWer:MAGPROPERTY:SEC4TURNs`` command. + - ``.sec5source``: The ``POWer:POWer:MAGPROPERTY:SEC5SOURce`` command. + - ``.sec5turns``: The ``POWer:POWer:MAGPROPERTY:SEC5TURNs`` command. + - ``.sec6source``: The ``POWer:POWer:MAGPROPERTY:SEC6SOURce`` command. + - ``.sec6turns``: The ``POWer:POWer:MAGPROPERTY:SEC6TURNs`` command. + - ``.secphase``: The ``POWer:POWer:MAGPROPERTY:SECPhase`` command. + - ``.secvolt``: The ``POWer:POWer:MAGPROPERTY:SECVolt`` command. + - ``.secwindings``: The ``POWer:POWer:MAGPROPERTY:SECWINDings`` command. + - ``.units``: The ``POWer:POWer:MAGPROPERTY:UNITs`` command. + - ``.vsource``: The ``POWer:POWer:MAGPROPERTY:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._areaofcrosssection = PowerPowerItemMagpropertyAreaofcrosssection( + device, f"{self._cmd_syntax}:AREAofcrosssection" + ) + self._edgesource = PowerPowerItemMagpropertyEdgesource( + device, f"{self._cmd_syntax}:EDGESOURce" + ) + self._isource = PowerPowerItemMagpropertyIsource(device, f"{self._cmd_syntax}:ISOURce") + self._length = PowerPowerItemMagpropertyLength(device, f"{self._cmd_syntax}:LENgth") + self._primaryturns = PowerPowerItemMagpropertyPrimaryturns( + device, f"{self._cmd_syntax}:PRIMARYTURNs" + ) + self._sec1source = PowerPowerItemMagpropertySec1source( + device, f"{self._cmd_syntax}:SEC1SOURce" + ) + self._sec1turns = PowerPowerItemMagpropertySec1turns( + device, f"{self._cmd_syntax}:SEC1TURNs" + ) + self._sec2source = PowerPowerItemMagpropertySec2source( + device, f"{self._cmd_syntax}:SEC2SOURce" + ) + self._sec2turns = PowerPowerItemMagpropertySec2turns( + device, f"{self._cmd_syntax}:SEC2TURNs" + ) + self._sec3source = PowerPowerItemMagpropertySec3source( + device, f"{self._cmd_syntax}:SEC3SOURce" + ) + self._sec3turns = PowerPowerItemMagpropertySec3turns( + device, f"{self._cmd_syntax}:SEC3TURNs" + ) + self._sec4source = PowerPowerItemMagpropertySec4source( + device, f"{self._cmd_syntax}:SEC4SOURce" + ) + self._sec4turns = PowerPowerItemMagpropertySec4turns( + device, f"{self._cmd_syntax}:SEC4TURNs" + ) + self._sec5source = PowerPowerItemMagpropertySec5source( + device, f"{self._cmd_syntax}:SEC5SOURce" + ) + self._sec5turns = PowerPowerItemMagpropertySec5turns( + device, f"{self._cmd_syntax}:SEC5TURNs" + ) + self._sec6source = PowerPowerItemMagpropertySec6source( + device, f"{self._cmd_syntax}:SEC6SOURce" + ) + self._sec6turns = PowerPowerItemMagpropertySec6turns( + device, f"{self._cmd_syntax}:SEC6TURNs" + ) + self._secphase = PowerPowerItemMagpropertySecphase(device, f"{self._cmd_syntax}:SECPhase") + self._secvolt = PowerPowerItemMagpropertySecvolt(device, f"{self._cmd_syntax}:SECVolt") + self._secwindings = PowerPowerItemMagpropertySecwindings( + device, f"{self._cmd_syntax}:SECWINDings" + ) + self._units = PowerPowerItemMagpropertyUnits(device, f"{self._cmd_syntax}:UNITs") + self._vsource = PowerPowerItemMagpropertyVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def areaofcrosssection(self) -> PowerPowerItemMagpropertyAreaofcrosssection: + """Return the ``POWer:POWer:MAGPROPERTY:AREAofcrosssection`` command. + + Description: + - This command sets or queries the coil cross section area for magnetic measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:MAGPROPERTY:AREAofcrosssection?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:AREAofcrosssection?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:AREAofcrosssection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:AREAofcrosssection + - POWer:POWer:MAGPROPERTY:AREAofcrosssection? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ```` is the cross section area in square meters, in the range of 1 nanometer2 to + 1 M2. + """ + return self._areaofcrosssection + + @property + def edgesource(self) -> PowerPowerItemMagpropertyEdgesource: + """Return the ``POWer:POWer:MAGPROPERTY:EDGESOURce`` command. + + Description: + - This command sets or queries the edge source type for the magnetic property + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:EDGESOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:EDGESOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:EDGESOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:EDGESOURce {Current|VOLTAGE} + - POWer:POWer:MAGPROPERTY:EDGESOURce? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent + of the number shown on a power measurement badge in the UI. + - ``Current`` sets the measurement to use the primary voltage source as the signal edge + for the magnetic property measurement. + - ``VOLTAGE`` sets the measurement to use the primary current source as the signal edge + for the magnetic property measurement. + """ + return self._edgesource + + @property + def isource(self) -> PowerPowerItemMagpropertyIsource: + """Return the ``POWer:POWer:MAGPROPERTY:ISOURce`` command. + + Description: + - This command sets or queries the current source for the magnetic property measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:ISOURce? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def length(self) -> PowerPowerItemMagpropertyLength: + """Return the ``POWer:POWer:MAGPROPERTY:LENgth`` command. + + Description: + - This command sets or queries the conductor length of the primary winding for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:LENgth?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:LENgth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:LENgth value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:LENgth + - POWer:POWer:MAGPROPERTY:LENgth? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ```` is the magnetic length, in the range of 1.00E-09 through 1,000,000. + """ + return self._length + + @property + def primaryturns(self) -> PowerPowerItemMagpropertyPrimaryturns: + """Return the ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs`` command. + + Description: + - This command sets or queries the number of primary turns for magnetic measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:PRIMARYTURNs + - POWer:POWer:MAGPROPERTY:PRIMARYTURNs? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ```` is the integer number of turns in the primary winding, in the range of 1 to + 1 M. + """ + return self._primaryturns + + @property + def sec1source(self) -> PowerPowerItemMagpropertySec1source: + """Return the ``POWer:POWer:MAGPROPERTY:SEC1SOURce`` command. + + Description: + - This command sets or queries the current source channel for secondary winding 1 for + magnetic measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC1SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC1SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC1SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._sec1source + + @property + def sec1turns(self) -> PowerPowerItemMagpropertySec1turns: + """Return the ``POWer:POWer:MAGPROPERTY:SEC1TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 1 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC1TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC1TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC1TURNs + - POWer:POWer:MAGPROPERTY:SEC1TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to + 1,000,000. + """ + return self._sec1turns + + @property + def sec2source(self) -> PowerPowerItemMagpropertySec2source: + """Return the ``POWer:POWer:MAGPROPERTY:SEC2SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding2 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC2SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC2SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC2SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._sec2source + + @property + def sec2turns(self) -> PowerPowerItemMagpropertySec2turns: + """Return the ``POWer:POWer:MAGPROPERTY:SEC2TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 2 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC2TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC2TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC2TURNs + - POWer:POWer:MAGPROPERTY:SEC2TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to + 1,000,000. + """ + return self._sec2turns + + @property + def sec3source(self) -> PowerPowerItemMagpropertySec3source: + """Return the ``POWer:POWer:MAGPROPERTY:SEC3SOURce`` command. + + Description: + - This command sets or queries the current source channel for secondary winding 3 for + magnetic measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC3SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC3SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC3SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._sec3source + + @property + def sec3turns(self) -> PowerPowerItemMagpropertySec3turns: + """Return the ``POWer:POWer:MAGPROPERTY:SEC3TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 3 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC3TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC3TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC3TURNs + - POWer:POWer:MAGPROPERTY:SEC3TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to + 1,000,000. + """ + return self._sec3turns + + @property + def sec4source(self) -> PowerPowerItemMagpropertySec4source: + """Return the ``POWer:POWer:MAGPROPERTY:SEC4SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding 4 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC4SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC4SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC4SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._sec4source + + @property + def sec4turns(self) -> PowerPowerItemMagpropertySec4turns: + """Return the ``POWer:POWer:MAGPROPERTY:SEC4TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 4 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC4TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC4TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC4TURNs + - POWer:POWer:MAGPROPERTY:SEC4TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to + 1,000,000. + """ + return self._sec4turns + + @property + def sec5source(self) -> PowerPowerItemMagpropertySec5source: + """Return the ``POWer:POWer:MAGPROPERTY:SEC5SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding 5 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC5SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC5SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC5SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._sec5source + + @property + def sec5turns(self) -> PowerPowerItemMagpropertySec5turns: + """Return the ``POWer:POWer:MAGPROPERTY:SEC5TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 5 for magnetic + measurement of the specified power measurement badge. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC5TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC5TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC5TURNs + - POWer:POWer:MAGPROPERTY:SEC5TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to + 1,000,000. + """ + return self._sec5turns + + @property + def sec6source(self) -> PowerPowerItemMagpropertySec6source: + """Return the ``POWer:POWer:MAGPROPERTY:SEC6SOURce`` command. + + Description: + - This command sets or queries the current source for secondary winding 6 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC6SOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6SOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6SOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC6SOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:SEC6SOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._sec6source + + @property + def sec6turns(self) -> PowerPowerItemMagpropertySec6turns: + """Return the ``POWer:POWer:MAGPROPERTY:SEC6TURNs`` command. + + Description: + - This command sets or queries the number of turns of secondary winding 6 for magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SEC6TURNs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6TURNs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SEC6TURNs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SEC6TURNs + - POWer:POWer:MAGPROPERTY:SEC6TURNs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ```` is the number of turns on the secondary winding, and ranges from 0 to + 1,000,000. + """ + return self._sec6turns + + @property + def secphase(self) -> PowerPowerItemMagpropertySecphase: + """Return the ``POWer:POWer:MAGPROPERTY:SECPhase`` command. + + Description: + - This command sets or returns the value for the phase difference between secondary and + primary voltage. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SECPhase?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECPhase?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECPhase value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SECPhase + - POWer:POWer:MAGPROPERTY:SECPhase? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` sets the value for the phase difference between secondary and primary + voltage, in the range of -180 to 180 degrees. + """ + return self._secphase + + @property + def secvolt(self) -> PowerPowerItemMagpropertySecvolt: + """Return the ``POWer:POWer:MAGPROPERTY:SECVolt`` command. + + Description: + - This command enables or disables secondary voltage input for measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:SECVolt?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECVolt?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECVolt value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SECVolt {True|False} + - POWer:POWer:MAGPROPERTY:SECVolt? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``True`` enables secondary voltage source. + - ``False`` disables secondary voltage source. + """ + return self._secvolt + + @property + def secwindings(self) -> PowerPowerItemMagpropertySecwindings: + """Return the ``POWer:POWer:MAGPROPERTY:SECWINDings`` command. + + Description: + - This command sets or queries the number of secondary windings for the magnetic + property measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:MAGPROPERTY:SECWINDings?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECWINDings?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:SECWINDings value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:SECWINDings {None|ONE|TWO|THREE|FOUR|FIVE|SIX} + - POWer:POWer:MAGPROPERTY:SECWINDings? + ``` + + Info: + - ``Power`` is the magnetic property power measurement number. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``None`` , ONE, TWO, THREE, FOUR, FIVE, SIX sets the number of secondary windings to + the specified value. + """ + return self._secwindings + + @property + def units(self) -> PowerPowerItemMagpropertyUnits: + """Return the ``POWer:POWer:MAGPROPERTY:UNITs`` command. + + Description: + - This command sets or queries the units for magnetic measurements of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:UNITs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:UNITs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:UNITs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:UNITs {SI|CGS} + - POWer:POWer:MAGPROPERTY:UNITs? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``SI`` sets the measurement to International System of Units. + - ``CGS`` sets the measurement to Gaussian units. + """ + return self._units + + @property + def vsource(self) -> PowerPowerItemMagpropertyVsource: + """Return the ``POWer:POWer:MAGPROPERTY:VSOURce`` command. + + Description: + - This command sets or queries the primary winding voltage source for the magnetic + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGPROPERTY:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGPROPERTY:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGPROPERTY:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemMagneticlossVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGNETICLOSS:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for magnetic measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGNETICLOSS:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGNETICLOSS:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGNETICLOSS:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGNETICLOSS:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGNETICLOSS:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagneticlossIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:MAGNETICLOSS:ISOURce`` command. + + Description: + - This command sets or queries the current source for the magnetic loss measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGNETICLOSS:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGNETICLOSS:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGNETICLOSS:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGNETICLOSS:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGNETICLOSS:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemMagneticloss(SCPICmdRead): + """The ``POWer:POWer:MAGNETICLOSS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGNETICLOSS?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGNETICLOSS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.isource``: The ``POWer:POWer:MAGNETICLOSS:ISOURce`` command. + - ``.vsource``: The ``POWer:POWer:MAGNETICLOSS:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._isource = PowerPowerItemMagneticlossIsource(device, f"{self._cmd_syntax}:ISOURce") + self._vsource = PowerPowerItemMagneticlossVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def isource(self) -> PowerPowerItemMagneticlossIsource: + """Return the ``POWer:POWer:MAGNETICLOSS:ISOURce`` command. + + Description: + - This command sets or queries the current source for the magnetic loss measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGNETICLOSS:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGNETICLOSS:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGNETICLOSS:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGNETICLOSS:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGNETICLOSS:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def vsource(self) -> PowerPowerItemMagneticlossVsource: + """Return the ``POWer:POWer:MAGNETICLOSS:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for magnetic measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGNETICLOSS:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:MAGNETICLOSS:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:MAGNETICLOSS:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:MAGNETICLOSS:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:MAGNETICLOSS:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemLinerippleLfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:LINERIPPLE:LFREQuency`` command. + + Description: + - This command sets or queries the frequency present for line ripple measurement of the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LINERIPPLE:LFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:LINERIPPLE:LFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:LINERIPPLE:LFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:LINERIPPLE:LFREQuency {FIFty|SIXty|FOURHundred} + - POWer:POWer:LINERIPPLE:LFREQuency? + ``` + """ + + +class PowerPowerItemLinerippleInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:LINERIPPLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for line ripple measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LINERIPPLE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:LINERIPPLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:LINERIPPLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:LINERIPPLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:LINERIPPLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemLineripple(SCPICmdRead): + """The ``POWer:POWer:LINERIPPLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LINERIPPLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:LINERIPPLE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:LINERIPPLE:INPUTSOurce`` command. + - ``.lfrequency``: The ``POWer:POWer:LINERIPPLE:LFREQuency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemLinerippleInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._lfrequency = PowerPowerItemLinerippleLfrequency( + device, f"{self._cmd_syntax}:LFREQuency" + ) + + @property + def inputsource(self) -> PowerPowerItemLinerippleInputsource: + """Return the ``POWer:POWer:LINERIPPLE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for line ripple measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LINERIPPLE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:LINERIPPLE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:LINERIPPLE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:LINERIPPLE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:LINERIPPLE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + @property + def lfrequency(self) -> PowerPowerItemLinerippleLfrequency: + """Return the ``POWer:POWer:LINERIPPLE:LFREQuency`` command. + + Description: + - This command sets or queries the frequency present for line ripple measurement of the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LINERIPPLE:LFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:LINERIPPLE:LFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:LINERIPPLE:LFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:LINERIPPLE:LFREQuency {FIFty|SIXty|FOURHundred} + - POWer:POWer:LINERIPPLE:LFREQuency? + ``` + """ + return self._lfrequency + + +class PowerPowerItemLabel(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:LABel`` command. + + Description: + - This command sets or queries the label for the specified power measurement. As the label + can contain non 7-bit ASCII text, it is stored in Percent Encoding format. The power + measurement badge is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:LABel value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:LABel + - POWer:POWer:LABel? + ``` + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class PowerPowerItemIvsintegralvVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IVSINTEGRALV:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for I vs Integral V measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IVSINTEGRALV:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IVSINTEGRALV:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IVSINTEGRALV:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IVSINTEGRALV:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:IVSINTEGRALV:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemIvsintegralvIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IVSINTEGRALV:ISOURce`` command. + + Description: + - This command sets or queries the current source for I vs Integral V measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IVSINTEGRALV:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IVSINTEGRALV:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IVSINTEGRALV:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IVSINTEGRALV:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:IVSINTEGRALV:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemIvsintegralv(SCPICmdRead): + """The ``POWer:POWer:IVSINTEGRALV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IVSINTEGRALV?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IVSINTEGRALV?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.isource``: The ``POWer:POWer:IVSINTEGRALV:ISOURce`` command. + - ``.vsource``: The ``POWer:POWer:IVSINTEGRALV:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._isource = PowerPowerItemIvsintegralvIsource(device, f"{self._cmd_syntax}:ISOURce") + self._vsource = PowerPowerItemIvsintegralvVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def isource(self) -> PowerPowerItemIvsintegralvIsource: + """Return the ``POWer:POWer:IVSINTEGRALV:ISOURce`` command. + + Description: + - This command sets or queries the current source for I vs Integral V measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IVSINTEGRALV:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IVSINTEGRALV:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IVSINTEGRALV:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IVSINTEGRALV:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:IVSINTEGRALV:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def vsource(self) -> PowerPowerItemIvsintegralvVsource: + """Return the ``POWer:POWer:IVSINTEGRALV:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for I vs Integral V measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IVSINTEGRALV:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IVSINTEGRALV:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IVSINTEGRALV:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IVSINTEGRALV:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:IVSINTEGRALV:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` sets the channel specifier; is 1 through 8 and is limited by the number + of FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemInrushcurrentPeakcurrent(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INRUSHcurrent:PEAKCURRent`` command. + + Description: + - This command sets or returns the peak current value of the specified Inrush Current + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INRUSHcurrent:PEAKCURRent?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:PEAKCURRent?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:PEAKCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INRUSHcurrent:PEAKCURRent + - POWer:POWer:INRUSHcurrent:PEAKCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the peak current value, in amps, in + the range -100 A to 100 A. + """ + + +class PowerPowerItemInrushcurrentInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INRUSHcurrent:INPUTSOurce`` command. + + Description: + - This command sets or returns the input source of the specified Inrush Current measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INRUSHcurrent:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INRUSHcurrent:INPUTSOurce {CH|MATH|REF} + - POWer:POWer:INRUSHcurrent:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + + +class PowerPowerItemInrushcurrent(SCPICmdRead): + """The ``POWer:POWer:INRUSHcurrent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INRUSHcurrent?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INRUSHcurrent?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:INRUSHcurrent:INPUTSOurce`` command. + - ``.peakcurrent``: The ``POWer:POWer:INRUSHcurrent:PEAKCURRent`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemInrushcurrentInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._peakcurrent = PowerPowerItemInrushcurrentPeakcurrent( + device, f"{self._cmd_syntax}:PEAKCURRent" + ) + + @property + def inputsource(self) -> PowerPowerItemInrushcurrentInputsource: + """Return the ``POWer:POWer:INRUSHcurrent:INPUTSOurce`` command. + + Description: + - This command sets or returns the input source of the specified Inrush Current + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:INRUSHcurrent:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INRUSHcurrent:INPUTSOurce {CH|MATH|REF} + - POWer:POWer:INRUSHcurrent:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the + number shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number + shown on a Math waveform badge in the UI. + """ + return self._inputsource + + @property + def peakcurrent(self) -> PowerPowerItemInrushcurrentPeakcurrent: + """Return the ``POWer:POWer:INRUSHcurrent:PEAKCURRent`` command. + + Description: + - This command sets or returns the peak current value of the specified Inrush Current + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:INRUSHcurrent:PEAKCURRent?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:PEAKCURRent?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INRUSHcurrent:PEAKCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INRUSHcurrent:PEAKCURRent + - POWer:POWer:INRUSHcurrent:PEAKCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the peak current value, in amps, + in the range -100 A to 100 A. + """ + return self._peakcurrent + + +class PowerPowerItemInputcapVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INPUTCAP:VSOURce`` command. + + Description: + - This command sets or queries the input voltage source of the specified Input Capacitance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:INPUTCAP:VSOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:VSOURce {CH|REF|MATH} + - POWer:POWer:INPUTCAP:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + + +class PowerPowerItemInputcapPeakvoltage(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INPUTCAP:PEAKVOLTage`` command. + + Description: + - This command sets or queries the peak voltage value of the specified Input Capacitance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:PEAKVOLTage?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP:PEAKVOLTage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INPUTCAP:PEAKVOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:PEAKVOLTage + - POWer:POWer:INPUTCAP:PEAKVOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the peak voltage value in the range + -100 V to 100 V. + """ + + +class PowerPowerItemInputcapPeakcurrent(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INPUTCAP:PEAKCURRent`` command. + + Description: + - This command sets or queries the peak current value of the specified Input Capacitance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:PEAKCURRent?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP:PEAKCURRent?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INPUTCAP:PEAKCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:PEAKCURRent + - POWer:POWer:INPUTCAP:PEAKCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` is a floating point number that represents the peak current value, in amps, in + the range -100 A to 100 A. + """ + + +class PowerPowerItemInputcapIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INPUTCAP:ISOURce`` command. + + Description: + - This command sets or queries the inrush current input source of the specified Input + Capacitance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:INPUTCAP:ISOURce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:ISOURce {CH|REF|MATH} + - POWer:POWer:INPUTCAP:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the number + shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number shown + on a Math waveform badge in the UI. + """ + + +class PowerPowerItemInputcap(SCPICmdRead): + """The ``POWer:POWer:INPUTCAP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.isource``: The ``POWer:POWer:INPUTCAP:ISOURce`` command. + - ``.peakcurrent``: The ``POWer:POWer:INPUTCAP:PEAKCURRent`` command. + - ``.peakvoltage``: The ``POWer:POWer:INPUTCAP:PEAKVOLTage`` command. + - ``.vsource``: The ``POWer:POWer:INPUTCAP:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._isource = PowerPowerItemInputcapIsource(device, f"{self._cmd_syntax}:ISOURce") + self._peakcurrent = PowerPowerItemInputcapPeakcurrent( + device, f"{self._cmd_syntax}:PEAKCURRent" + ) + self._peakvoltage = PowerPowerItemInputcapPeakvoltage( + device, f"{self._cmd_syntax}:PEAKVOLTage" + ) + self._vsource = PowerPowerItemInputcapVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def isource(self) -> PowerPowerItemInputcapIsource: + """Return the ``POWer:POWer:INPUTCAP:ISOURce`` command. + + Description: + - This command sets or queries the inrush current input source of the specified Input + Capacitance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INPUTCAP:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:ISOURce {CH|REF|MATH} + - POWer:POWer:INPUTCAP:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the + number shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number + shown on a Math waveform badge in the UI. + """ + return self._isource + + @property + def peakcurrent(self) -> PowerPowerItemInputcapPeakcurrent: + """Return the ``POWer:POWer:INPUTCAP:PEAKCURRent`` command. + + Description: + - This command sets or queries the peak current value of the specified Input Capacitance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:PEAKCURRent?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INPUTCAP:PEAKCURRent?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INPUTCAP:PEAKCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:PEAKCURRent + - POWer:POWer:INPUTCAP:PEAKCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the peak current value, in amps, + in the range -100 A to 100 A. + """ + return self._peakcurrent + + @property + def peakvoltage(self) -> PowerPowerItemInputcapPeakvoltage: + """Return the ``POWer:POWer:INPUTCAP:PEAKVOLTage`` command. + + Description: + - This command sets or queries the peak voltage value of the specified Input Capacitance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:PEAKVOLTage?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INPUTCAP:PEAKVOLTage?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INPUTCAP:PEAKVOLTage value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:PEAKVOLTage + - POWer:POWer:INPUTCAP:PEAKVOLTage? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` is a floating point number that represents the peak voltage value in the + range -100 V to 100 V. + """ + return self._peakvoltage + + @property + def vsource(self) -> PowerPowerItemInputcapVsource: + """Return the ``POWer:POWer:INPUTCAP:VSOURce`` command. + + Description: + - This command sets or queries the input voltage source of the specified Input + Capacitance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INPUTCAP:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INPUTCAP:VSOURce {CH|REF|MATH} + - POWer:POWer:INPUTCAP:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` is the channel specifier in the range of 1 through 8 and is limited by the + number of instrument input channels. + - ``REF`` is the Reference waveform specifier ≥1. This is the equivalent of the + number shown on a Reference waveform badge in the UI. + - ``MATH`` is the Math waveform specifier ≥1. This is the equivalent of the number + shown on a Math waveform badge in the UI. + """ + return self._vsource + + +class PowerPowerItemInductanceVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INDUCTANCE:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for inductance measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INDUCTANCE:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INDUCTANCE:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INDUCTANCE:VSOURce {CH|MATH|REF} + - POWer:POWer:INDUCTANCE:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemInductanceIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INDUCTANCE:ISOUrce`` command. + + Description: + - This command sets or queries the current signal source for the inductance measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE:ISOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INDUCTANCE:ISOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INDUCTANCE:ISOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INDUCTANCE:ISOUrce {CH|MATH|REF} + - POWer:POWer:INDUCTANCE:ISOUrce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemInductanceEdgesource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:INDUCTANCE:EDGESource`` command. + + Description: + - This command sets or queries the edge source for the power inductance measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE:EDGESource?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INDUCTANCE:EDGESource?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INDUCTANCE:EDGESource value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INDUCTANCE:EDGESource {S_Ch|CH|MATH|REF} + - POWer:POWer:INDUCTANCE:EDGESource? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemInductance(SCPICmdRead): + """The ``POWer:POWer:INDUCTANCE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INDUCTANCE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edgesource``: The ``POWer:POWer:INDUCTANCE:EDGESource`` command. + - ``.isource``: The ``POWer:POWer:INDUCTANCE:ISOUrce`` command. + - ``.vsource``: The ``POWer:POWer:INDUCTANCE:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edgesource = PowerPowerItemInductanceEdgesource( + device, f"{self._cmd_syntax}:EDGESource" + ) + self._isource = PowerPowerItemInductanceIsource(device, f"{self._cmd_syntax}:ISOUrce") + self._vsource = PowerPowerItemInductanceVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def edgesource(self) -> PowerPowerItemInductanceEdgesource: + """Return the ``POWer:POWer:INDUCTANCE:EDGESource`` command. + + Description: + - This command sets or queries the edge source for the power inductance measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE:EDGESource?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INDUCTANCE:EDGESource?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INDUCTANCE:EDGESource value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INDUCTANCE:EDGESource {S_Ch|CH|MATH|REF} + - POWer:POWer:INDUCTANCE:EDGESource? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._edgesource + + @property + def isource(self) -> PowerPowerItemInductanceIsource: + """Return the ``POWer:POWer:INDUCTANCE:ISOUrce`` command. + + Description: + - This command sets or queries the current signal source for the inductance measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE:ISOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INDUCTANCE:ISOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INDUCTANCE:ISOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INDUCTANCE:ISOUrce {CH|MATH|REF} + - POWer:POWer:INDUCTANCE:ISOUrce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def vsource(self) -> PowerPowerItemInductanceVsource: + """Return the ``POWer:POWer:INDUCTANCE:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for inductance measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:INDUCTANCE:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:INDUCTANCE:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:INDUCTANCE:VSOURce {CH|MATH|REF} + - POWer:POWer:INDUCTANCE:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemImpedanceTestconnection(SCPICmdWrite): + """The ``POWer:POWer:IMPEDANCE:TESTCONNection`` command. + + Description: + - This command tests the connection with the external instrument for the specified Impedance + measurement. + + Usage: + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:TESTCONNection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:TESTCONNection {EXECute} + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``EXECute`` runs the test connection function. + """ + + +class PowerPowerItemImpedanceStopfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:STOPFREQuency`` command. + + Description: + - Sets or queries the value of the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:STOPFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STOPFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STOPFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:STOPFREQuency + - POWer:POWer:IMPEDANCE:STOPFREQuency? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` specifies the start frequency, in the range of 10 Hz to 50 MHz. + """ + + +class PowerPowerItemImpedanceStartfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:STARTFREQuency`` command. + + Description: + - Sets or queries the value for the start frequency of the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:STARTFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STARTFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STARTFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:STARTFREQuency + - POWer:POWer:IMPEDANCE:STARTFREQuency? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` is a floating point number representing the start frequency, in the range of 10 + Hz to 50 MHz. + """ + + +class PowerPowerItemImpedancePpd(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:PPD`` command. + + Description: + - Sets or queries the value for points per decade for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:PPD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:PPD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:IMPEDANCE:PPD value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:PPD + - POWer:POWer:IMPEDANCE:PPD? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` specifies the number of frequency points between the start and stop frequency in + terms of log scale, in the range of 10 to 100 points. + """ + + +class PowerPowerItemImpedanceOutputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:OUTPUTSOurce`` command. + + Description: + - Sets or queries the source for the Impedance output measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:OUTPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:OUTPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:OUTPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:OUTPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:IMPEDANCE:OUTPUTSOurce? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies the instrument input channel number. + - ``MATH`` specifies the instrument math waveform number. + - ``REF`` specifies the instrument reference waveform number. + """ + + +class PowerPowerItemImpedanceInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:INPUTSOurce`` command. + + Description: + - Sets or queries the source for the Impedance input measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:IMPEDANCE:INPUTSOurce? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies the instrument input channel number. + - ``MATH`` specifies the instrument math waveform number. + - ``REF`` specifies the instrument reference waveform number. + """ + + +class PowerPowerItemImpedanceImpedance(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:IMPEDANCE`` command. + + Description: + - Sets or queries the output impedance of the generator for the specified Impedance power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:IMPEDANCE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:IMPEDANCE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:IMPEDANCE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:IMPEDANCE {FIFTy|HIGHZ} + - POWer:POWer:IMPEDANCE:IMPEDANCE? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FIFTy`` sets the measurement impedance to 50`Ω. + - ``HIGHZ`` sets the measurement impedance to 1`MΩ. + """ + + +class PowerPowerItemImpedanceGenerator(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:GENerator`` command. + + Description: + - Sets or queries the generator source for the Impedance power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:GENerator?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:GENerator?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENerator value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:GENerator {INTernal|EXTernal} + - POWer:POWer:IMPEDANCE:GENerator? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``INTernal`` sets the internal generator as the source for the Impedance power + measurement. + - ``EXTernal`` sets the external generator as the source for the Impedance power + measurement. Supported external generators are the Tektronix AFG31000 and AFG3000 series. + """ + + +class PowerPowerItemImpedanceGenipaddress(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:GENIPADDress`` command. + + Description: + - Sets or queries the external generator IP Address associated with the specified Impedance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:GENIPADDress?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENIPADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENIPADDress value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:GENIPADDress + - POWer:POWer:IMPEDANCE:GENIPADDress? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. is the IP address + of the generator. + """ + + +class PowerPowerItemImpedanceFreq9val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ9Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ9Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ9Val + - POWer:POWer:IMPEDANCE:FREQ9Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq8val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ8Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ8Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ8Val + - POWer:POWer:IMPEDANCE:FREQ8Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq7val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ7Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ7Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ7Val + - POWer:POWer:IMPEDANCE:FREQ7Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq6val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ6Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ6Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ6Val + - POWer:POWer:IMPEDANCE:FREQ6Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq5val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ5Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ5Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ5Val + - POWer:POWer:IMPEDANCE:FREQ5Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq4val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ4Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ4Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ4Val + - POWer:POWer:IMPEDANCE:FREQ4Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq3val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ3Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ3Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ3Val + - POWer:POWer:IMPEDANCE:FREQ3Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq2val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ2Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ2Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ2Val + - POWer:POWer:IMPEDANCE:FREQ2Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq1val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ1Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ1Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ1Val + - POWer:POWer:IMPEDANCE:FREQ1Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceFreq10val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:FREQ10Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:FREQ10Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ10Val + - POWer:POWer:IMPEDANCE:FREQ10Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a maximum + of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next profile + step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, then the + Step one stop frequency is 2`MHz. + """ + + +class PowerPowerItemImpedanceConstamplitude(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:CONSTAMPlitude`` command. + + Description: + - Sets or queries the constant amplitude value for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:CONSTAMPlitude?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:CONSTAMPlitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:CONSTAMPlitude value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:CONSTAMPlitude + - POWer:POWer:IMPEDANCE:CONSTAMPlitude? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` specifies the constant amplitude value, in the range of -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceConnectstatus(SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:CONNECTSTATus`` command. + + Description: + - Queries the instrument's connection status to the external generator, for the specified + Impedance measurement. The Impedance measurement generator IP address (for external + generators) is set with ``POWER:POWERX:IMPEDANCE:GENIPADDRESS``. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:CONNECTSTATus?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:CONNECTSTATus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:CONNECTSTATus? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + """ + + +class PowerPowerItemImpedanceAutorbw(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AUTORbw`` command. + + Description: + - This command enables Auto RBW computation. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AUTORbw?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AUTORbw?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AUTORbw value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AUTORbw {True|False} + - POWer:POWer:IMPEDANCE:AUTORbw? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``True`` enables Auto RBW computation. + - ``False`` disables Auto RBW computation. + """ + + +class PowerPowerItemImpedanceAnalysismethod(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:ANALYSISMethod`` command. + + Description: + - This command sets or queries the Analysis Method for Impedance measurements. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:ANALYSISMethod?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:ANALYSISMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:ANALYSISMethod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:ANALYSISMethod {SV|FFT} + - POWer:POWer:IMPEDANCE:ANALYSISMethod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``SV`` sets the Analysis Method as Spectrum View. + - ``FFT`` sets the Analysis Method as FFT. + """ + + +class PowerPowerItemImpedanceAmpmode(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMPMode`` command. + + Description: + - Sets or queries the power amplitude mode for the Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMPMode?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMPMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMPMode value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMPMode {CONSTant|PROFile} + - POWer:POWer:IMPEDANCE:AMPMode? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``CONSTant`` sets the generator to output a constant level signal. + - ``PROFile`` uses related commands to set the generator output signal profile (Start + frequency, Stop frequency, and Amplitude for each profile step). + """ + + +class PowerPowerItemImpedanceAmp9val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP9Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP9Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP9Val + - POWer:POWer:IMPEDANCE:AMP9Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp8val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP8Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP8Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP8Val + - POWer:POWer:IMPEDANCE:AMP8Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp7val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP7Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP7Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP7Val + - POWer:POWer:IMPEDANCE:AMP7Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp6val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP6Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP6Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP6Val + - POWer:POWer:IMPEDANCE:AMP6Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp5val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP5Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP5Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP5Val + - POWer:POWer:IMPEDANCE:AMP5Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp4val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP4Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP4Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP4Val + - POWer:POWer:IMPEDANCE:AMP4Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp3val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP3Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP3Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP3Val + - POWer:POWer:IMPEDANCE:AMP3Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp2val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP2Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP2Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP2Val + - POWer:POWer:IMPEDANCE:AMP2Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp1val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP1Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP1Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP1Val + - POWer:POWer:IMPEDANCE:AMP1Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +class PowerPowerItemImpedanceAmp10val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE:AMP10Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, for + the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:AMP10Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP10Val + - POWer:POWer:IMPEDANCE:AMP10Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a maximum of + 10. + - ```` sets the generator output amplitude for the specified profile step, in the range + -100 V to 100 V. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItemImpedance(SCPICmdRead): + """The ``POWer:POWer:IMPEDANCE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``POWer`` is the number of the Impedance power measurement. + + Properties: + - ``.ampmode``: The ``POWer:POWer:IMPEDANCE:AMPMode`` command. + - ``.amp1val``: The ``POWer:POWer:IMPEDANCE:AMP1Val`` command. + - ``.amp2val``: The ``POWer:POWer:IMPEDANCE:AMP2Val`` command. + - ``.amp3val``: The ``POWer:POWer:IMPEDANCE:AMP3Val`` command. + - ``.amp4val``: The ``POWer:POWer:IMPEDANCE:AMP4Val`` command. + - ``.amp5val``: The ``POWer:POWer:IMPEDANCE:AMP5Val`` command. + - ``.amp6val``: The ``POWer:POWer:IMPEDANCE:AMP6Val`` command. + - ``.amp7val``: The ``POWer:POWer:IMPEDANCE:AMP7Val`` command. + - ``.amp8val``: The ``POWer:POWer:IMPEDANCE:AMP8Val`` command. + - ``.amp9val``: The ``POWer:POWer:IMPEDANCE:AMP9Val`` command. + - ``.amp10val``: The ``POWer:POWer:IMPEDANCE:AMP10Val`` command. + - ``.analysismethod``: The ``POWer:POWer:IMPEDANCE:ANALYSISMethod`` command. + - ``.autorbw``: The ``POWer:POWer:IMPEDANCE:AUTORbw`` command. + - ``.connectstatus``: The ``POWer:POWer:IMPEDANCE:CONNECTSTATus`` command. + - ``.constamplitude``: The ``POWer:POWer:IMPEDANCE:CONSTAMPlitude`` command. + - ``.freq1val``: The ``POWer:POWer:IMPEDANCE:FREQ1Val`` command. + - ``.freq2val``: The ``POWer:POWer:IMPEDANCE:FREQ2Val`` command. + - ``.freq3val``: The ``POWer:POWer:IMPEDANCE:FREQ3Val`` command. + - ``.freq4val``: The ``POWer:POWer:IMPEDANCE:FREQ4Val`` command. + - ``.freq5val``: The ``POWer:POWer:IMPEDANCE:FREQ5Val`` command. + - ``.freq6val``: The ``POWer:POWer:IMPEDANCE:FREQ6Val`` command. + - ``.freq7val``: The ``POWer:POWer:IMPEDANCE:FREQ7Val`` command. + - ``.freq8val``: The ``POWer:POWer:IMPEDANCE:FREQ8Val`` command. + - ``.freq9val``: The ``POWer:POWer:IMPEDANCE:FREQ9Val`` command. + - ``.freq10val``: The ``POWer:POWer:IMPEDANCE:FREQ10Val`` command. + - ``.genipaddress``: The ``POWer:POWer:IMPEDANCE:GENIPADDress`` command. + - ``.generator``: The ``POWer:POWer:IMPEDANCE:GENerator`` command. + - ``.impedance``: The ``POWer:POWer:IMPEDANCE:IMPEDANCE`` command. + - ``.inputsource``: The ``POWer:POWer:IMPEDANCE:INPUTSOurce`` command. + - ``.outputsource``: The ``POWer:POWer:IMPEDANCE:OUTPUTSOurce`` command. + - ``.ppd``: The ``POWer:POWer:IMPEDANCE:PPD`` command. + - ``.startfrequency``: The ``POWer:POWer:IMPEDANCE:STARTFREQuency`` command. + - ``.stopfrequency``: The ``POWer:POWer:IMPEDANCE:STOPFREQuency`` command. + - ``.testconnection``: The ``POWer:POWer:IMPEDANCE:TESTCONNection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ampmode = PowerPowerItemImpedanceAmpmode(device, f"{self._cmd_syntax}:AMPMode") + self._amp1val = PowerPowerItemImpedanceAmp1val(device, f"{self._cmd_syntax}:AMP1Val") + self._amp2val = PowerPowerItemImpedanceAmp2val(device, f"{self._cmd_syntax}:AMP2Val") + self._amp3val = PowerPowerItemImpedanceAmp3val(device, f"{self._cmd_syntax}:AMP3Val") + self._amp4val = PowerPowerItemImpedanceAmp4val(device, f"{self._cmd_syntax}:AMP4Val") + self._amp5val = PowerPowerItemImpedanceAmp5val(device, f"{self._cmd_syntax}:AMP5Val") + self._amp6val = PowerPowerItemImpedanceAmp6val(device, f"{self._cmd_syntax}:AMP6Val") + self._amp7val = PowerPowerItemImpedanceAmp7val(device, f"{self._cmd_syntax}:AMP7Val") + self._amp8val = PowerPowerItemImpedanceAmp8val(device, f"{self._cmd_syntax}:AMP8Val") + self._amp9val = PowerPowerItemImpedanceAmp9val(device, f"{self._cmd_syntax}:AMP9Val") + self._amp10val = PowerPowerItemImpedanceAmp10val(device, f"{self._cmd_syntax}:AMP10Val") + self._analysismethod = PowerPowerItemImpedanceAnalysismethod( + device, f"{self._cmd_syntax}:ANALYSISMethod" + ) + self._autorbw = PowerPowerItemImpedanceAutorbw(device, f"{self._cmd_syntax}:AUTORbw") + self._connectstatus = PowerPowerItemImpedanceConnectstatus( + device, f"{self._cmd_syntax}:CONNECTSTATus" + ) + self._constamplitude = PowerPowerItemImpedanceConstamplitude( + device, f"{self._cmd_syntax}:CONSTAMPlitude" + ) + self._freq1val = PowerPowerItemImpedanceFreq1val(device, f"{self._cmd_syntax}:FREQ1Val") + self._freq2val = PowerPowerItemImpedanceFreq2val(device, f"{self._cmd_syntax}:FREQ2Val") + self._freq3val = PowerPowerItemImpedanceFreq3val(device, f"{self._cmd_syntax}:FREQ3Val") + self._freq4val = PowerPowerItemImpedanceFreq4val(device, f"{self._cmd_syntax}:FREQ4Val") + self._freq5val = PowerPowerItemImpedanceFreq5val(device, f"{self._cmd_syntax}:FREQ5Val") + self._freq6val = PowerPowerItemImpedanceFreq6val(device, f"{self._cmd_syntax}:FREQ6Val") + self._freq7val = PowerPowerItemImpedanceFreq7val(device, f"{self._cmd_syntax}:FREQ7Val") + self._freq8val = PowerPowerItemImpedanceFreq8val(device, f"{self._cmd_syntax}:FREQ8Val") + self._freq9val = PowerPowerItemImpedanceFreq9val(device, f"{self._cmd_syntax}:FREQ9Val") + self._freq10val = PowerPowerItemImpedanceFreq10val(device, f"{self._cmd_syntax}:FREQ10Val") + self._genipaddress = PowerPowerItemImpedanceGenipaddress( + device, f"{self._cmd_syntax}:GENIPADDress" + ) + self._generator = PowerPowerItemImpedanceGenerator(device, f"{self._cmd_syntax}:GENerator") + self._impedance = PowerPowerItemImpedanceImpedance(device, f"{self._cmd_syntax}:IMPEDANCE") + self._inputsource = PowerPowerItemImpedanceInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._outputsource = PowerPowerItemImpedanceOutputsource( + device, f"{self._cmd_syntax}:OUTPUTSOurce" + ) + self._ppd = PowerPowerItemImpedancePpd(device, f"{self._cmd_syntax}:PPD") + self._startfrequency = PowerPowerItemImpedanceStartfrequency( + device, f"{self._cmd_syntax}:STARTFREQuency" + ) + self._stopfrequency = PowerPowerItemImpedanceStopfrequency( + device, f"{self._cmd_syntax}:STOPFREQuency" + ) + self._testconnection = PowerPowerItemImpedanceTestconnection( + device, f"{self._cmd_syntax}:TESTCONNection" + ) + + @property + def ampmode(self) -> PowerPowerItemImpedanceAmpmode: + """Return the ``POWer:POWer:IMPEDANCE:AMPMode`` command. + + Description: + - Sets or queries the power amplitude mode for the Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMPMode?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMPMode?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMPMode value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMPMode {CONSTant|PROFile} + - POWer:POWer:IMPEDANCE:AMPMode? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``CONSTant`` sets the generator to output a constant level signal. + - ``PROFile`` uses related commands to set the generator output signal profile (Start + frequency, Stop frequency, and Amplitude for each profile step). + """ + return self._ampmode + + @property + def amp1val(self) -> PowerPowerItemImpedanceAmp1val: + """Return the ``POWer:POWer:IMPEDANCE:AMP1Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP1Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP1Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP1Val + - POWer:POWer:IMPEDANCE:AMP1Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp1val + + @property + def amp2val(self) -> PowerPowerItemImpedanceAmp2val: + """Return the ``POWer:POWer:IMPEDANCE:AMP2Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP2Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP2Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP2Val + - POWer:POWer:IMPEDANCE:AMP2Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp2val + + @property + def amp3val(self) -> PowerPowerItemImpedanceAmp3val: + """Return the ``POWer:POWer:IMPEDANCE:AMP3Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP3Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP3Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP3Val + - POWer:POWer:IMPEDANCE:AMP3Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp3val + + @property + def amp4val(self) -> PowerPowerItemImpedanceAmp4val: + """Return the ``POWer:POWer:IMPEDANCE:AMP4Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP4Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP4Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP4Val + - POWer:POWer:IMPEDANCE:AMP4Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp4val + + @property + def amp5val(self) -> PowerPowerItemImpedanceAmp5val: + """Return the ``POWer:POWer:IMPEDANCE:AMP5Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP5Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP5Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP5Val + - POWer:POWer:IMPEDANCE:AMP5Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp5val + + @property + def amp6val(self) -> PowerPowerItemImpedanceAmp6val: + """Return the ``POWer:POWer:IMPEDANCE:AMP6Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP6Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP6Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP6Val + - POWer:POWer:IMPEDANCE:AMP6Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp6val + + @property + def amp7val(self) -> PowerPowerItemImpedanceAmp7val: + """Return the ``POWer:POWer:IMPEDANCE:AMP7Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP7Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP7Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP7Val + - POWer:POWer:IMPEDANCE:AMP7Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp7val + + @property + def amp8val(self) -> PowerPowerItemImpedanceAmp8val: + """Return the ``POWer:POWer:IMPEDANCE:AMP8Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP8Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP8Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP8Val + - POWer:POWer:IMPEDANCE:AMP8Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp8val + + @property + def amp9val(self) -> PowerPowerItemImpedanceAmp9val: + """Return the ``POWer:POWer:IMPEDANCE:AMP9Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP9Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP9Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP9Val + - POWer:POWer:IMPEDANCE:AMP9Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp9val + + @property + def amp10val(self) -> PowerPowerItemImpedanceAmp10val: + """Return the ``POWer:POWer:IMPEDANCE:AMP10Val`` command. + + Description: + - Sets or queries the signal generator amplitude setting of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AMP10Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP10Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AMP10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AMP10Val + - POWer:POWer:IMPEDANCE:AMP10Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``AMP`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the generator output amplitude for the specified profile step, in the + range -100 V to 100 V. + """ + return self._amp10val + + @property + def analysismethod(self) -> PowerPowerItemImpedanceAnalysismethod: + """Return the ``POWer:POWer:IMPEDANCE:ANALYSISMethod`` command. + + Description: + - This command sets or queries the Analysis Method for Impedance measurements. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:IMPEDANCE:ANALYSISMethod?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:ANALYSISMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:ANALYSISMethod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:ANALYSISMethod {SV|FFT} + - POWer:POWer:IMPEDANCE:ANALYSISMethod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``SV`` sets the Analysis Method as Spectrum View. + - ``FFT`` sets the Analysis Method as FFT. + """ + return self._analysismethod + + @property + def autorbw(self) -> PowerPowerItemImpedanceAutorbw: + """Return the ``POWer:POWer:IMPEDANCE:AUTORbw`` command. + + Description: + - This command enables Auto RBW computation. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:AUTORbw?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AUTORbw?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:AUTORbw value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:AUTORbw {True|False} + - POWer:POWer:IMPEDANCE:AUTORbw? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``True`` enables Auto RBW computation. + - ``False`` disables Auto RBW computation. + """ + return self._autorbw + + @property + def connectstatus(self) -> PowerPowerItemImpedanceConnectstatus: + """Return the ``POWer:POWer:IMPEDANCE:CONNECTSTATus`` command. + + Description: + - Queries the instrument's connection status to the external generator, for the + specified Impedance measurement. The Impedance measurement generator IP address (for + external generators) is set with ``POWER:POWERX:IMPEDANCE:GENIPADDRESS``. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:IMPEDANCE:CONNECTSTATus?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:CONNECTSTATus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:CONNECTSTATus? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + """ + return self._connectstatus + + @property + def constamplitude(self) -> PowerPowerItemImpedanceConstamplitude: + """Return the ``POWer:POWer:IMPEDANCE:CONSTAMPlitude`` command. + + Description: + - Sets or queries the constant amplitude value for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:IMPEDANCE:CONSTAMPlitude?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:CONSTAMPlitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:CONSTAMPlitude value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:CONSTAMPlitude + - POWer:POWer:IMPEDANCE:CONSTAMPlitude? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` specifies the constant amplitude value, in the range of -100 V to 100 V. + """ + return self._constamplitude + + @property + def freq1val(self) -> PowerPowerItemImpedanceFreq1val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ1Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ1Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ1Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ1Val + - POWer:POWer:IMPEDANCE:FREQ1Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq1val + + @property + def freq2val(self) -> PowerPowerItemImpedanceFreq2val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ2Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ2Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ2Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ2Val + - POWer:POWer:IMPEDANCE:FREQ2Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq2val + + @property + def freq3val(self) -> PowerPowerItemImpedanceFreq3val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ3Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ3Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ3Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ3Val + - POWer:POWer:IMPEDANCE:FREQ3Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq3val + + @property + def freq4val(self) -> PowerPowerItemImpedanceFreq4val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ4Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ4Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ4Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ4Val + - POWer:POWer:IMPEDANCE:FREQ4Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq4val + + @property + def freq5val(self) -> PowerPowerItemImpedanceFreq5val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ5Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ5Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ5Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ5Val + - POWer:POWer:IMPEDANCE:FREQ5Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq5val + + @property + def freq6val(self) -> PowerPowerItemImpedanceFreq6val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ6Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ6Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ6Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ6Val + - POWer:POWer:IMPEDANCE:FREQ6Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq6val + + @property + def freq7val(self) -> PowerPowerItemImpedanceFreq7val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ7Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ7Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ7Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ7Val + - POWer:POWer:IMPEDANCE:FREQ7Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq7val + + @property + def freq8val(self) -> PowerPowerItemImpedanceFreq8val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ8Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ8Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ8Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ8Val + - POWer:POWer:IMPEDANCE:FREQ8Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq8val + + @property + def freq9val(self) -> PowerPowerItemImpedanceFreq9val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ9Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ9Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ9Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ9Val + - POWer:POWer:IMPEDANCE:FREQ9Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq9val + + @property + def freq10val(self) -> PowerPowerItemImpedanceFreq10val: + """Return the ``POWer:POWer:IMPEDANCE:FREQ10Val`` command. + + Description: + - Sets or queries the signal generator start frequency of the specified profile step, + for the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:FREQ10Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ10Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:FREQ10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:FREQ10Val + - POWer:POWer:IMPEDANCE:FREQ10Val? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FREQ`` specifies the number of the profile step. x has a minimum of 1 and a + maximum of 10. + - ```` sets the start frequency, in the range of 10 Hz to 50 MHz, for the specified + profile step. You can only set the starting frequency for each profile step; the stop + frequency is automatically set to same value as the start frequency of the next + profile step. For example, if Step one is set to 1`MHz, and Step two is set to 2`MHz, + then the Step one stop frequency is 2`MHz. + """ + return self._freq10val + + @property + def genipaddress(self) -> PowerPowerItemImpedanceGenipaddress: + """Return the ``POWer:POWer:IMPEDANCE:GENIPADDress`` command. + + Description: + - Sets or queries the external generator IP Address associated with the specified + Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:GENIPADDress?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENIPADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENIPADDress value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:GENIPADDress + - POWer:POWer:IMPEDANCE:GENIPADDress? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. is the IP + address of the generator. + """ + return self._genipaddress + + @property + def generator(self) -> PowerPowerItemImpedanceGenerator: + """Return the ``POWer:POWer:IMPEDANCE:GENerator`` command. + + Description: + - Sets or queries the generator source for the Impedance power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:GENerator?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENerator?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:GENerator value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:GENerator {INTernal|EXTernal} + - POWer:POWer:IMPEDANCE:GENerator? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``INTernal`` sets the internal generator as the source for the Impedance power + measurement. + - ``EXTernal`` sets the external generator as the source for the Impedance power + measurement. Supported external generators are the Tektronix AFG31000 and AFG3000 + series. + """ + return self._generator + + @property + def impedance(self) -> PowerPowerItemImpedanceImpedance: + """Return the ``POWer:POWer:IMPEDANCE:IMPEDANCE`` command. + + Description: + - Sets or queries the output impedance of the generator for the specified Impedance + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:IMPEDANCE?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:IMPEDANCE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:IMPEDANCE value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:IMPEDANCE {FIFTy|HIGHZ} + - POWer:POWer:IMPEDANCE:IMPEDANCE? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``FIFTy`` sets the measurement impedance to 50`Ω. + - ``HIGHZ`` sets the measurement impedance to 1`MΩ. + """ + return self._impedance + + @property + def inputsource(self) -> PowerPowerItemImpedanceInputsource: + """Return the ``POWer:POWer:IMPEDANCE:INPUTSOurce`` command. + + Description: + - Sets or queries the source for the Impedance input measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:IMPEDANCE:INPUTSOurce? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies the instrument input channel number. + - ``MATH`` specifies the instrument math waveform number. + - ``REF`` specifies the instrument reference waveform number. + """ + return self._inputsource + + @property + def outputsource(self) -> PowerPowerItemImpedanceOutputsource: + """Return the ``POWer:POWer:IMPEDANCE:OUTPUTSOurce`` command. + + Description: + - Sets or queries the source for the Impedance output measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:OUTPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:OUTPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:OUTPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:OUTPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:IMPEDANCE:OUTPUTSOurce? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` specifies the instrument input channel number. + - ``MATH`` specifies the instrument math waveform number. + - ``REF`` specifies the instrument reference waveform number. + """ + return self._outputsource + + @property + def ppd(self) -> PowerPowerItemImpedancePpd: + """Return the ``POWer:POWer:IMPEDANCE:PPD`` command. + + Description: + - Sets or queries the value for points per decade for the specified Impedance + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE:PPD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE:PPD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:PPD value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:PPD + - POWer:POWer:IMPEDANCE:PPD? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` specifies the number of frequency points between the start and stop + frequency in terms of log scale, in the range of 10 to 100 points. + """ + return self._ppd + + @property + def startfrequency(self) -> PowerPowerItemImpedanceStartfrequency: + """Return the ``POWer:POWer:IMPEDANCE:STARTFREQuency`` command. + + Description: + - Sets or queries the value for the start frequency of the specified Impedance + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:IMPEDANCE:STARTFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STARTFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STARTFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:STARTFREQuency + - POWer:POWer:IMPEDANCE:STARTFREQuency? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` is a floating point number representing the start frequency, in the range of + 10 Hz to 50 MHz. + """ + return self._startfrequency + + @property + def stopfrequency(self) -> PowerPowerItemImpedanceStopfrequency: + """Return the ``POWer:POWer:IMPEDANCE:STOPFREQuency`` command. + + Description: + - Sets or queries the value of the specified Impedance measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:IMPEDANCE:STOPFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STOPFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:STOPFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:STOPFREQuency + - POWer:POWer:IMPEDANCE:STOPFREQuency? + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ```` specifies the start frequency, in the range of 10 Hz to 50 MHz. + """ + return self._stopfrequency + + @property + def testconnection(self) -> PowerPowerItemImpedanceTestconnection: + """Return the ``POWer:POWer:IMPEDANCE:TESTCONNection`` command. + + Description: + - This command tests the connection with the external instrument for the specified + Impedance measurement. + + Usage: + - Using the ``.write(value)`` method will send the + ``POWer:POWer:IMPEDANCE:TESTCONNection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:IMPEDANCE:TESTCONNection {EXECute} + ``` + + Info: + - ``POWer`` is the number of the Impedance power measurement. + - ``EXECute`` runs the test connection function. + """ + return self._testconnection + + +class PowerPowerItemHarmonicsVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for SOA measurement of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:VSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:VSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:HARMONICS:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemHarmonicsUnits(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:UNITs`` command. + + Description: + - This command sets or queries the harmonics results units of the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:UNITs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:UNITs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:HARMONICS:UNITs value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:UNITs {LOG|LINear} + - POWer:POWer:HARMONICS:UNITs? + ``` + """ + + +class PowerPowerItemHarmonicsStartfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:STARTFREQUEncy`` command. + + Description: + - This command sets or queries the value for the start frequency for the Harmonics + measurement. in the range of 1 Hz to 1 GHz. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:STARTFREQUEncy?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:STARTFREQUEncy?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:STARTFREQUEncy value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:STARTFREQUEncy + - POWer:POWer:HARMONICS:STARTFREQUEncy? + ``` + + Info: + - ``POWer`` is the Power measurement. + - ```` sets the starting frequency, in hertz. + """ + + +class PowerPowerItemHarmonicsStandard(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:STANDard`` command. + + Description: + - This command sets or queries the test mode for harmonics measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:STANDard?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:STANDard?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:STANDard value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:STANDard {NONe|IEC|MIL|AM14|DO160|CUSTOM} + - POWer:POWer:HARMONICS:STANDard? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``NONe`` = No standard. + - ``IEC`` = IEC 61000-3-2 standard. + - ``MIL`` = MIL-STD-1399 standard. + - ``AM14`` = AM14 standard. + - ``DO160`` = DO160 standard. + - ``CUSTOM`` = CUSTOM standard. + """ + + +class PowerPowerItemHarmonicsRcurrent(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:RCURRent`` command. + + Description: + - This command sets or queries the rated current for the harmonics measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:RCURRent?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:RCURRent?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:RCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:RCURRent + - POWer:POWer:HARMONICS:RCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` ranges from 0 to 100. + """ + + +class PowerPowerItemHarmonicsPowerrating(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:POWERRating`` command. + + Description: + - This command sets or queries the power level for the harmonics measurement of the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:POWERRating?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:POWERRating?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:POWERRating value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:POWERRating {HIGH|LOW} + - POWer:POWer:HARMONICS:POWERRating? + ``` + """ + + +class PowerPowerItemHarmonicsPfactor(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:PFACtor`` command. + + Description: + - This command sets or queries the value of power factor for the harmonics measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:PFACtor?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:PFACtor?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:PFACtor value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:PFACtor + - POWer:POWer:HARMONICS:PFACtor? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` ranges from 0 to 1. + """ + + +class PowerPowerItemHarmonicsOddeven(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:ODDEVen`` command. + + Description: + - This command sets or queries the harmonics value analysis format of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:ODDEVen?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:ODDEVen?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:ODDEVen value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:ODDEVen {ALL|ODD|EVEN} + - POWer:POWer:HARMONICS:ODDEVen? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``ALL`` to display all harmonics values. + - ``ODD`` to display only the odd values of harmonics. + - ``EVEN`` to display only the even values of harmonics. + """ + + +class PowerPowerItemHarmonicsLinefrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:LINEFREQUEncy`` command. + + Description: + - This command sets or queries the value for the line frequency for the Harmonics + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:LINEFREQUEncy?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:LINEFREQUEncy?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:LINEFREQUEncy value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:LINEFREQUEncy {Auto|FIFTyhz|SIXTyhz |THREESIXTyhz|FOURHUNDREdhz|SIXFIFTyhz|EIGHTHUNDREdhz|CUSTom + - POWer:POWer:HARMONICS:LINEFREQUEncy? + ``` + + Info: + - ``POWer`` is the Power measurement identifier number. + - ``Auto`` automatically detects and sets the line frequency value. + - ``FIFTyhz`` sets the line frequency value to 50 Hz. + - ``SIXTyhz`` sets the line frequency value to 60 Hz. + - ``THREESIXTyhz`` sets the line frequency value to 360 Hz. + - ``FOURHUNDREdhz`` sets the line frequency value to 400 Hz. + - ``SIXFIFTyhz`` sets the line frequency value to 650 Hz. + - ``EIGHTHUNDREdhz`` sets the line frequency value to 800 Hz. + - ``CUSTom`` sets the line frequency value to Custom. The default value for custom is 100 + Hz. Use the ``POWER:POWERX:HARMONICS:LINEFREQUENCY`` command to set a custom line + frequency value. + """ # noqa: E501 + + +class PowerPowerItemHarmonicsIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:ISOURce`` command. + + Description: + - This command sets or queries the current source for SOA measurement of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:ISOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:ISOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:HARMONICS:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemHarmonicsIpower(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:IPOWer`` command. + + Description: + - This command sets or queries the input power value for the harmonics measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:IPOWer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:IPOWer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:HARMONICS:IPOWer value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:IPOWer + - POWer:POWer:HARMONICS:IPOWer? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` ranges from 0 to 600. + """ + + +class PowerPowerItemHarmonicsHsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:HSOURce`` command. + + Description: + - This command sets or queries the source type for the harmonics measurement of the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:HSOURce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:HSOURce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:HSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:HSOURce {CURRent|VOLTage} + - POWer:POWer:HARMONICS:HSOURce? + ``` + """ + + +class PowerPowerItemHarmonicsHorder(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:HORDer`` command. + + Description: + - This command sets or queries the order value for the harmonics measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:HORDer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:HORDer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:HARMONICS:HORDer value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:HORDer + - POWer:POWer:HARMONICS:HORDer? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` ranges from 40 to 100. + """ + + +class PowerPowerItemHarmonicsFundcurrent(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:FUNDCURRent`` command. + + Description: + - This command sets or queries the fundamental current value for the harmonics measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:FUNDCURRent?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:FUNDCURRent?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:FUNDCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:FUNDCURRent + - POWer:POWer:HARMONICS:FUNDCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ```` ranges from 0 to 16. + """ + + +class PowerPowerItemHarmonicsCmethod(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:CMEThod`` command. + + Description: + - This command sets or queries the fundamental current method for the harmonics measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:CMEThod?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:CMEThod?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:CMEThod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:CMEThod {RATed|MEASured} + - POWer:POWer:HARMONICS:CMEThod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``RATed`` : select to use the standard input current values in the measurement. + - ``MEASured`` : select to use the measured the input current values in the measurement. + """ + + +class PowerPowerItemHarmonicsClfile(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:CLFile`` command. + + Description: + - This command sets or queries the custom limits file path for the harmonics measurement. + The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:CLFile?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:CLFile?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:HARMONICS:CLFile value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:CLFile + - POWer:POWer:HARMONICS:CLFile? + ``` + + Info: + - ```` specifies the custom limits file path that can be loaded when the harmonics + standard type selected is CUSTom. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class PowerPowerItemHarmonicsClass(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:HARMONICS:CLASs`` command. + + Description: + - This command sets or queries the class type for the harmonics measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:CLASs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:CLASs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:HARMONICS:CLASs value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:CLASs {CLASSA|CLASSB|CLASSC|CLASSD} + - POWer:POWer:HARMONICS:CLASs? + ``` + """ + + +# pylint: disable=too-many-instance-attributes +class PowerPowerItemHarmonics(SCPICmdRead): + """The ``POWer:POWer:HARMONICS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.class``: The ``POWer:POWer:HARMONICS:CLASs`` command. + - ``.clfile``: The ``POWer:POWer:HARMONICS:CLFile`` command. + - ``.cmethod``: The ``POWer:POWer:HARMONICS:CMEThod`` command. + - ``.fundcurrent``: The ``POWer:POWer:HARMONICS:FUNDCURRent`` command. + - ``.horder``: The ``POWer:POWer:HARMONICS:HORDer`` command. + - ``.hsource``: The ``POWer:POWer:HARMONICS:HSOURce`` command. + - ``.ipower``: The ``POWer:POWer:HARMONICS:IPOWer`` command. + - ``.isource``: The ``POWer:POWer:HARMONICS:ISOURce`` command. + - ``.linefrequency``: The ``POWer:POWer:HARMONICS:LINEFREQUEncy`` command. + - ``.oddeven``: The ``POWer:POWer:HARMONICS:ODDEVen`` command. + - ``.pfactor``: The ``POWer:POWer:HARMONICS:PFACtor`` command. + - ``.powerrating``: The ``POWer:POWer:HARMONICS:POWERRating`` command. + - ``.rcurrent``: The ``POWer:POWer:HARMONICS:RCURRent`` command. + - ``.standard``: The ``POWer:POWer:HARMONICS:STANDard`` command. + - ``.startfrequency``: The ``POWer:POWer:HARMONICS:STARTFREQUEncy`` command. + - ``.units``: The ``POWer:POWer:HARMONICS:UNITs`` command. + - ``.vsource``: The ``POWer:POWer:HARMONICS:VSOURce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._class = PowerPowerItemHarmonicsClass(device, f"{self._cmd_syntax}:CLASs") + self._clfile = PowerPowerItemHarmonicsClfile(device, f"{self._cmd_syntax}:CLFile") + self._cmethod = PowerPowerItemHarmonicsCmethod(device, f"{self._cmd_syntax}:CMEThod") + self._fundcurrent = PowerPowerItemHarmonicsFundcurrent( + device, f"{self._cmd_syntax}:FUNDCURRent" + ) + self._horder = PowerPowerItemHarmonicsHorder(device, f"{self._cmd_syntax}:HORDer") + self._hsource = PowerPowerItemHarmonicsHsource(device, f"{self._cmd_syntax}:HSOURce") + self._ipower = PowerPowerItemHarmonicsIpower(device, f"{self._cmd_syntax}:IPOWer") + self._isource = PowerPowerItemHarmonicsIsource(device, f"{self._cmd_syntax}:ISOURce") + self._linefrequency = PowerPowerItemHarmonicsLinefrequency( + device, f"{self._cmd_syntax}:LINEFREQUEncy" + ) + self._oddeven = PowerPowerItemHarmonicsOddeven(device, f"{self._cmd_syntax}:ODDEVen") + self._pfactor = PowerPowerItemHarmonicsPfactor(device, f"{self._cmd_syntax}:PFACtor") + self._powerrating = PowerPowerItemHarmonicsPowerrating( + device, f"{self._cmd_syntax}:POWERRating" + ) + self._rcurrent = PowerPowerItemHarmonicsRcurrent(device, f"{self._cmd_syntax}:RCURRent") + self._standard = PowerPowerItemHarmonicsStandard(device, f"{self._cmd_syntax}:STANDard") + self._startfrequency = PowerPowerItemHarmonicsStartfrequency( + device, f"{self._cmd_syntax}:STARTFREQUEncy" + ) + self._units = PowerPowerItemHarmonicsUnits(device, f"{self._cmd_syntax}:UNITs") + self._vsource = PowerPowerItemHarmonicsVsource(device, f"{self._cmd_syntax}:VSOURce") + + @property + def class_(self) -> PowerPowerItemHarmonicsClass: + """Return the ``POWer:POWer:HARMONICS:CLASs`` command. + + Description: + - This command sets or queries the class type for the harmonics measurement in the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:CLASs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:CLASs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:CLASs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:CLASs {CLASSA|CLASSB|CLASSC|CLASSD} + - POWer:POWer:HARMONICS:CLASs? + ``` + """ + return self._class + + @property + def clfile(self) -> PowerPowerItemHarmonicsClfile: + """Return the ``POWer:POWer:HARMONICS:CLFile`` command. + + Description: + - This command sets or queries the custom limits file path for the harmonics + measurement. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:CLFile?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:CLFile?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:CLFile value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:CLFile + - POWer:POWer:HARMONICS:CLFile? + ``` + + Info: + - ```` specifies the custom limits file path that can be loaded when the + harmonics standard type selected is CUSTom. + """ + return self._clfile + + @property + def cmethod(self) -> PowerPowerItemHarmonicsCmethod: + """Return the ``POWer:POWer:HARMONICS:CMEThod`` command. + + Description: + - This command sets or queries the fundamental current method for the harmonics + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:CMEThod?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:CMEThod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:CMEThod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:CMEThod {RATed|MEASured} + - POWer:POWer:HARMONICS:CMEThod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``RATed`` : select to use the standard input current values in the measurement. + - ``MEASured`` : select to use the measured the input current values in the measurement. + """ + return self._cmethod + + @property + def fundcurrent(self) -> PowerPowerItemHarmonicsFundcurrent: + """Return the ``POWer:POWer:HARMONICS:FUNDCURRent`` command. + + Description: + - This command sets or queries the fundamental current value for the harmonics + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:FUNDCURRent?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:FUNDCURRent?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:FUNDCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:FUNDCURRent + - POWer:POWer:HARMONICS:FUNDCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` ranges from 0 to 16. + """ + return self._fundcurrent + + @property + def horder(self) -> PowerPowerItemHarmonicsHorder: + """Return the ``POWer:POWer:HARMONICS:HORDer`` command. + + Description: + - This command sets or queries the order value for the harmonics measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:HORDer?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:HORDer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:HORDer value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:HORDer + - POWer:POWer:HARMONICS:HORDer? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` ranges from 40 to 100. + """ + return self._horder + + @property + def hsource(self) -> PowerPowerItemHarmonicsHsource: + """Return the ``POWer:POWer:HARMONICS:HSOURce`` command. + + Description: + - This command sets or queries the source type for the harmonics measurement of the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:HSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:HSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:HSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:HSOURce {CURRent|VOLTage} + - POWer:POWer:HARMONICS:HSOURce? + ``` + """ + return self._hsource + + @property + def ipower(self) -> PowerPowerItemHarmonicsIpower: + """Return the ``POWer:POWer:HARMONICS:IPOWer`` command. + + Description: + - This command sets or queries the input power value for the harmonics measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:IPOWer?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:IPOWer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:IPOWer value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:IPOWer + - POWer:POWer:HARMONICS:IPOWer? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` ranges from 0 to 600. + """ + return self._ipower + + @property + def isource(self) -> PowerPowerItemHarmonicsIsource: + """Return the ``POWer:POWer:HARMONICS:ISOURce`` command. + + Description: + - This command sets or queries the current source for SOA measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:ISOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:ISOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:ISOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:ISOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:HARMONICS:ISOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def linefrequency(self) -> PowerPowerItemHarmonicsLinefrequency: + """Return the ``POWer:POWer:HARMONICS:LINEFREQUEncy`` command. + + Description: + - This command sets or queries the value for the line frequency for the Harmonics + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:HARMONICS:LINEFREQUEncy?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:LINEFREQUEncy?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:LINEFREQUEncy value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:LINEFREQUEncy {Auto|FIFTyhz|SIXTyhz |THREESIXTyhz|FOURHUNDREdhz|SIXFIFTyhz|EIGHTHUNDREdhz|CUSTom + - POWer:POWer:HARMONICS:LINEFREQUEncy? + ``` + + Info: + - ``POWer`` is the Power measurement identifier number. + - ``Auto`` automatically detects and sets the line frequency value. + - ``FIFTyhz`` sets the line frequency value to 50 Hz. + - ``SIXTyhz`` sets the line frequency value to 60 Hz. + - ``THREESIXTyhz`` sets the line frequency value to 360 Hz. + - ``FOURHUNDREdhz`` sets the line frequency value to 400 Hz. + - ``SIXFIFTyhz`` sets the line frequency value to 650 Hz. + - ``EIGHTHUNDREdhz`` sets the line frequency value to 800 Hz. + - ``CUSTom`` sets the line frequency value to Custom. The default value for custom is + 100 Hz. Use the ``POWER:POWERX:HARMONICS:LINEFREQUENCY`` command to set a custom line + frequency value. + """ # noqa: E501 + return self._linefrequency + + @property + def oddeven(self) -> PowerPowerItemHarmonicsOddeven: + """Return the ``POWer:POWer:HARMONICS:ODDEVen`` command. + + Description: + - This command sets or queries the harmonics value analysis format of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:ODDEVen?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:ODDEVen?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:ODDEVen value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:ODDEVen {ALL|ODD|EVEN} + - POWer:POWer:HARMONICS:ODDEVen? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``ALL`` to display all harmonics values. + - ``ODD`` to display only the odd values of harmonics. + - ``EVEN`` to display only the even values of harmonics. + """ + return self._oddeven + + @property + def pfactor(self) -> PowerPowerItemHarmonicsPfactor: + """Return the ``POWer:POWer:HARMONICS:PFACtor`` command. + + Description: + - This command sets or queries the value of power factor for the harmonics measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:PFACtor?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:PFACtor?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:PFACtor value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:PFACtor + - POWer:POWer:HARMONICS:PFACtor? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` ranges from 0 to 1. + """ + return self._pfactor + + @property + def powerrating(self) -> PowerPowerItemHarmonicsPowerrating: + """Return the ``POWer:POWer:HARMONICS:POWERRating`` command. + + Description: + - This command sets or queries the power level for the harmonics measurement of the + specified power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:POWERRating?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:POWERRating?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:POWERRating value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:POWERRating {HIGH|LOW} + - POWer:POWer:HARMONICS:POWERRating? + ``` + """ + return self._powerrating + + @property + def rcurrent(self) -> PowerPowerItemHarmonicsRcurrent: + """Return the ``POWer:POWer:HARMONICS:RCURRent`` command. + + Description: + - This command sets or queries the rated current for the harmonics measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:RCURRent?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:RCURRent?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:RCURRent value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:RCURRent + - POWer:POWer:HARMONICS:RCURRent? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ```` ranges from 0 to 100. + """ + return self._rcurrent + + @property + def standard(self) -> PowerPowerItemHarmonicsStandard: + """Return the ``POWer:POWer:HARMONICS:STANDard`` command. + + Description: + - This command sets or queries the test mode for harmonics measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:STANDard?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:STANDard?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:STANDard value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:STANDard {NONe|IEC|MIL|AM14|DO160|CUSTOM} + - POWer:POWer:HARMONICS:STANDard? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``NONe`` = No standard. + - ``IEC`` = IEC 61000-3-2 standard. + - ``MIL`` = MIL-STD-1399 standard. + - ``AM14`` = AM14 standard. + - ``DO160`` = DO160 standard. + - ``CUSTOM`` = CUSTOM standard. + """ + return self._standard + + @property + def startfrequency(self) -> PowerPowerItemHarmonicsStartfrequency: + """Return the ``POWer:POWer:HARMONICS:STARTFREQUEncy`` command. + + Description: + - This command sets or queries the value for the start frequency for the Harmonics + measurement. in the range of 1 Hz to 1 GHz. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:HARMONICS:STARTFREQUEncy?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:STARTFREQUEncy?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:STARTFREQUEncy value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:STARTFREQUEncy + - POWer:POWer:HARMONICS:STARTFREQUEncy? + ``` + + Info: + - ``POWer`` is the Power measurement. + - ```` sets the starting frequency, in hertz. + """ + return self._startfrequency + + @property + def units(self) -> PowerPowerItemHarmonicsUnits: + """Return the ``POWer:POWer:HARMONICS:UNITs`` command. + + Description: + - This command sets or queries the harmonics results units of the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:UNITs?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS:UNITs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:UNITs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:UNITs {LOG|LINear} + - POWer:POWer:HARMONICS:UNITs? + ``` + """ + return self._units + + @property + def vsource(self) -> PowerPowerItemHarmonicsVsource: + """Return the ``POWer:POWer:HARMONICS:VSOURce`` command. + + Description: + - This command sets or queries the voltage source for SOA measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS:VSOURce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:HARMONICS:VSOURce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:HARMONICS:VSOURce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:HARMONICS:VSOURce {S_Ch|CH|MATH|REF} + - POWer:POWer:HARMONICS:VSOURce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemGatingGlobal(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:GATing:GLOBal`` command. + + Description: + - This command sets or queries the gating settings for the specified power measurement + number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:GATing:GLOBal?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:GATing:GLOBal?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:GATing:GLOBal value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:GATing:GLOBal {ON|OFF|1|0} + - POWer:POWer:GATing:GLOBal? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``1`` selects the gating settings as Global. + - ``ON`` selects the gating settings as Global. + - ``0`` selects the gating settings as Local. + - ``OFF`` selects the gating settings as Local. + """ + + +class PowerPowerItemGating(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:GATing`` command. + + Description: + - This command sets or queries the gating type for the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:GATing?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:GATing value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:GATing {NONE|CURSOR|SCREEN|LOGIC} + - POWer:POWer:GATing? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``NONE`` makes measurement across the entire waveform record. + - ``CURSOR`` makes measurements on that portion of the waveform between the cursors. + Selecting Cursors opens cursors on the measurement source. Set the cursors so that the + waveform area of interest is in between the cursors. + - ``SCREEN`` takes measurements on that portion of the waveform shown in the display. When + Zoom is on, the display is the zoom window. + - ``LOGIC`` takes measurements only when the logical state of a specified waveform is true. + + Properties: + - ``.global``: The ``POWer:POWer:GATing:GLOBal`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._global = PowerPowerItemGatingGlobal(device, f"{self._cmd_syntax}:GLOBal") + + @property + def global_(self) -> PowerPowerItemGatingGlobal: + """Return the ``POWer:POWer:GATing:GLOBal`` command. + + Description: + - This command sets or queries the gating settings for the specified power measurement + number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:GATing:GLOBal?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:GATing:GLOBal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:GATing:GLOBal value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:GATing:GLOBal {ON|OFF|1|0} + - POWer:POWer:GATing:GLOBal? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``1`` selects the gating settings as Global. + - ``ON`` selects the gating settings as Global. + - ``0`` selects the gating settings as Local. + - ``OFF`` selects the gating settings as Local. + """ + return self._global + + +class PowerPowerItemFrequencyInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:FREQUENCY:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for frequency measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:FREQUENCY:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:FREQUENCY:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:FREQUENCY:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:FREQUENCY:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:FREQUENCY:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemFrequencyEdge(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:FREQUENCY:EDGe`` command. + + Description: + - This command sets or queries the edge type for frequency measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:FREQUENCY:EDGe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:FREQUENCY:EDGe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:FREQUENCY:EDGe value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:FREQUENCY:EDGe {RISE|FALL} + - POWer:POWer:FREQUENCY:EDGe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the power measurement badge on the UI. + """ + + +class PowerPowerItemFrequency(SCPICmdRead): + """The ``POWer:POWer:FREQUENCY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:FREQUENCY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:FREQUENCY?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edge``: The ``POWer:POWer:FREQUENCY:EDGe`` command. + - ``.inputsource``: The ``POWer:POWer:FREQUENCY:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = PowerPowerItemFrequencyEdge(device, f"{self._cmd_syntax}:EDGe") + self._inputsource = PowerPowerItemFrequencyInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def edge(self) -> PowerPowerItemFrequencyEdge: + """Return the ``POWer:POWer:FREQUENCY:EDGe`` command. + + Description: + - This command sets or queries the edge type for frequency measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:FREQUENCY:EDGe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:FREQUENCY:EDGe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:FREQUENCY:EDGe value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:FREQUENCY:EDGe {RISE|FALL} + - POWer:POWer:FREQUENCY:EDGe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the power measurement badge on the UI. + """ + return self._edge + + @property + def inputsource(self) -> PowerPowerItemFrequencyInputsource: + """Return the ``POWer:POWer:FREQUENCY:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for frequency measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:FREQUENCY:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:FREQUENCY:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:FREQUENCY:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:FREQUENCY:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:FREQUENCY:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemEfficiencyVsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:VSOUrce`` command. + + Description: + - This command sets or queries the voltage source for the power Efficiency measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VSOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:EFFICIENCY:VSOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VSOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VSOUrce {CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VSOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyVout3source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:VOUT3SOUrce`` command. + + Description: + - This command sets or queries the output 3 voltage source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VOUT3SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT3SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VOUT3SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT3SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyVout2source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:VOUT2SOUrce`` command. + + Description: + - This command sets or queries the output 2 voltage source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VOUT2SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT2SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VOUT2SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT2SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyVout1source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:VOUT1SOUrce`` command. + + Description: + - This command sets or queries the output 1 voltage source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VOUT1SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT1SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT1SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VOUT1SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT1SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyOutputtype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:OUTPUTType`` command. + + Description: + - This command sets or queries the output type (AC or DC) for power Efficiency measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUTType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUTType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUTType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUTType {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUTType? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge of the UI. + - ``AC`` sets the output voltage type to AC. + - ``DC`` sets the output voltage type to DC. + """ + + +class PowerPowerItemEfficiencyOutput3type(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:OUTPUT3Type`` command. + + Description: + - ``POWer:POWer:EFFICIENCY:OUTPUT3Type This`` command sets or queries the Output3 type + (AC or DC) for the power Efficiency measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUT3Type?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT3Type?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT3Type value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUT3Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT3Type? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge of the UI. + - ``AC`` sets the Output3 voltage type to AC. + - ``DC`` sets the Output3 voltage type to DC. + """ + + +class PowerPowerItemEfficiencyOutput2type(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:OUTPUT2Type`` command. + + Description: + - ``POWer:POWer:EFFICIENCY:OUTPUT2Type This`` command sets or queries the Output2 type + (AC or DC) for the power Efficiency measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUT2Type?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT2Type?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT2Type value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUT2Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT2Type? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge of the UI. + - ``AC`` sets the Output2 voltage type to AC. + - ``DC`` sets the Output2 voltage type to DC. + """ + + +class PowerPowerItemEfficiencyOutput1type(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:OUTPUT1Type`` command. + + Description: + - ``POWer:POWer:EFFICIENCY:OUTPUT1Type This`` command sets or queries the Output1 type + (AC or DC) for the power Efficiency measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUT1Type?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT1Type?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT1Type value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUT1Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT1Type? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge of the UI. + - ``AC`` sets the output1 voltage type to AC. + - ``DC`` sets the output1 voltage type to DC. + """ + + +class PowerPowerItemEfficiencyNumofoutputs(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:NUMOFOutputs`` command. + + Description: + - This command sets or queries the number of outputs for the power Efficiency measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:NUMOFOutputs?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:NUMOFOutputs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:NUMOFOutputs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:NUMOFOutputs {ONE|TWO|THREE} + - POWer:POWer:EFFICIENCY:NUMOFOutputs? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``ONE`` , TWO, THREE sets the number of outputs to test in the power efficiency + measurement. + """ + + +class PowerPowerItemEfficiencyIsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:ISOUrce`` command. + + Description: + - This command sets or queries the current source for the power Efficiency measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:ISOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:EFFICIENCY:ISOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:ISOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:ISOUrce {CH|MATH|REF} + - POWer:POWer:EFFICIENCY:ISOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyIout3source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:IOUT3SOUrce`` command. + + Description: + - This command sets or queries the output 3 current source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:IOUT3SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT3SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:IOUT3SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT3SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyIout2source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:IOUT2SOUrce`` command. + + Description: + - This command sets or queries the output 2 current source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:IOUT2SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT2SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:IOUT2SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT2SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyIout1source(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:IOUT1SOUrce`` command. + + Description: + - This command sets or queries the output 1 current source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:IOUT1SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT1SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT1SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:IOUT1SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT1SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemEfficiencyInputtype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY:INPUTType`` command. + + Description: + - This command sets or queries the input type (AC or DC) for power Efficiency measurement of + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:INPUTType?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:EFFICIENCY:INPUTType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:INPUTType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:INPUTType {AC|DC} + - POWer:POWer:EFFICIENCY:INPUTType? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent of + the number shown on the power measurement badge of the UI. + - ``AC`` sets the input voltage type to AC. + - ``DC`` sets the input voltage type to DC. + """ + + +# pylint: disable=too-many-instance-attributes +class PowerPowerItemEfficiency(SCPICmdRead): + """The ``POWer:POWer:EFFICIENCY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:EFFICIENCY?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputtype``: The ``POWer:POWer:EFFICIENCY:INPUTType`` command. + - ``.iout1source``: The ``POWer:POWer:EFFICIENCY:IOUT1SOUrce`` command. + - ``.iout2source``: The ``POWer:POWer:EFFICIENCY:IOUT2SOUrce`` command. + - ``.iout3source``: The ``POWer:POWer:EFFICIENCY:IOUT3SOUrce`` command. + - ``.isource``: The ``POWer:POWer:EFFICIENCY:ISOUrce`` command. + - ``.numofoutputs``: The ``POWer:POWer:EFFICIENCY:NUMOFOutputs`` command. + - ``.output1type``: The ``POWer:POWer:EFFICIENCY:OUTPUT1Type`` command. + - ``.output2type``: The ``POWer:POWer:EFFICIENCY:OUTPUT2Type`` command. + - ``.output3type``: The ``POWer:POWer:EFFICIENCY:OUTPUT3Type`` command. + - ``.outputtype``: The ``POWer:POWer:EFFICIENCY:OUTPUTType`` command. + - ``.vout1source``: The ``POWer:POWer:EFFICIENCY:VOUT1SOUrce`` command. + - ``.vout2source``: The ``POWer:POWer:EFFICIENCY:VOUT2SOUrce`` command. + - ``.vout3source``: The ``POWer:POWer:EFFICIENCY:VOUT3SOUrce`` command. + - ``.vsource``: The ``POWer:POWer:EFFICIENCY:VSOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputtype = PowerPowerItemEfficiencyInputtype(device, f"{self._cmd_syntax}:INPUTType") + self._iout1source = PowerPowerItemEfficiencyIout1source( + device, f"{self._cmd_syntax}:IOUT1SOUrce" + ) + self._iout2source = PowerPowerItemEfficiencyIout2source( + device, f"{self._cmd_syntax}:IOUT2SOUrce" + ) + self._iout3source = PowerPowerItemEfficiencyIout3source( + device, f"{self._cmd_syntax}:IOUT3SOUrce" + ) + self._isource = PowerPowerItemEfficiencyIsource(device, f"{self._cmd_syntax}:ISOUrce") + self._numofoutputs = PowerPowerItemEfficiencyNumofoutputs( + device, f"{self._cmd_syntax}:NUMOFOutputs" + ) + self._output1type = PowerPowerItemEfficiencyOutput1type( + device, f"{self._cmd_syntax}:OUTPUT1Type" + ) + self._output2type = PowerPowerItemEfficiencyOutput2type( + device, f"{self._cmd_syntax}:OUTPUT2Type" + ) + self._output3type = PowerPowerItemEfficiencyOutput3type( + device, f"{self._cmd_syntax}:OUTPUT3Type" + ) + self._outputtype = PowerPowerItemEfficiencyOutputtype( + device, f"{self._cmd_syntax}:OUTPUTType" + ) + self._vout1source = PowerPowerItemEfficiencyVout1source( + device, f"{self._cmd_syntax}:VOUT1SOUrce" + ) + self._vout2source = PowerPowerItemEfficiencyVout2source( + device, f"{self._cmd_syntax}:VOUT2SOUrce" + ) + self._vout3source = PowerPowerItemEfficiencyVout3source( + device, f"{self._cmd_syntax}:VOUT3SOUrce" + ) + self._vsource = PowerPowerItemEfficiencyVsource(device, f"{self._cmd_syntax}:VSOUrce") + + @property + def inputtype(self) -> PowerPowerItemEfficiencyInputtype: + """Return the ``POWer:POWer:EFFICIENCY:INPUTType`` command. + + Description: + - This command sets or queries the input type (AC or DC) for power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:INPUTType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:INPUTType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:INPUTType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:INPUTType {AC|DC} + - POWer:POWer:EFFICIENCY:INPUTType? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge of the UI. + - ``AC`` sets the input voltage type to AC. + - ``DC`` sets the input voltage type to DC. + """ + return self._inputtype + + @property + def iout1source(self) -> PowerPowerItemEfficiencyIout1source: + """Return the ``POWer:POWer:EFFICIENCY:IOUT1SOUrce`` command. + + Description: + - This command sets or queries the output 1 current source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:IOUT1SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT1SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT1SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:IOUT1SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT1SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._iout1source + + @property + def iout2source(self) -> PowerPowerItemEfficiencyIout2source: + """Return the ``POWer:POWer:EFFICIENCY:IOUT2SOUrce`` command. + + Description: + - This command sets or queries the output 2 current source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:IOUT2SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT2SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:IOUT2SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT2SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._iout2source + + @property + def iout3source(self) -> PowerPowerItemEfficiencyIout3source: + """Return the ``POWer:POWer:EFFICIENCY:IOUT3SOUrce`` command. + + Description: + - This command sets or queries the output 3 current source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:IOUT3SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:IOUT3SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:IOUT3SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:IOUT3SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._iout3source + + @property + def isource(self) -> PowerPowerItemEfficiencyIsource: + """Return the ``POWer:POWer:EFFICIENCY:ISOUrce`` command. + + Description: + - This command sets or queries the current source for the power Efficiency measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:ISOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:ISOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:ISOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:ISOUrce {CH|MATH|REF} + - POWer:POWer:EFFICIENCY:ISOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._isource + + @property + def numofoutputs(self) -> PowerPowerItemEfficiencyNumofoutputs: + """Return the ``POWer:POWer:EFFICIENCY:NUMOFOutputs`` command. + + Description: + - This command sets or queries the number of outputs for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:EFFICIENCY:NUMOFOutputs?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:NUMOFOutputs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:NUMOFOutputs value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:NUMOFOutputs {ONE|TWO|THREE} + - POWer:POWer:EFFICIENCY:NUMOFOutputs? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``ONE`` , TWO, THREE sets the number of outputs to test in the power efficiency + measurement. + """ + return self._numofoutputs + + @property + def output1type(self) -> PowerPowerItemEfficiencyOutput1type: + """Return the ``POWer:POWer:EFFICIENCY:OUTPUT1Type`` command. + + Description: + - ``POWer:POWer:EFFICIENCY:OUTPUT1Type This`` command sets or queries the Output1 + type (AC or DC) for the power Efficiency measurement of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUT1Type?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT1Type?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT1Type value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUT1Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT1Type? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge of the UI. + - ``AC`` sets the output1 voltage type to AC. + - ``DC`` sets the output1 voltage type to DC. + """ + return self._output1type + + @property + def output2type(self) -> PowerPowerItemEfficiencyOutput2type: + """Return the ``POWer:POWer:EFFICIENCY:OUTPUT2Type`` command. + + Description: + - ``POWer:POWer:EFFICIENCY:OUTPUT2Type This`` command sets or queries the Output2 + type (AC or DC) for the power Efficiency measurement of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUT2Type?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT2Type?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT2Type value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUT2Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT2Type? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge of the UI. + - ``AC`` sets the Output2 voltage type to AC. + - ``DC`` sets the Output2 voltage type to DC. + """ + return self._output2type + + @property + def output3type(self) -> PowerPowerItemEfficiencyOutput3type: + """Return the ``POWer:POWer:EFFICIENCY:OUTPUT3Type`` command. + + Description: + - ``POWer:POWer:EFFICIENCY:OUTPUT3Type This`` command sets or queries the Output3 + type (AC or DC) for the power Efficiency measurement of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUT3Type?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT3Type?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUT3Type value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUT3Type {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUT3Type? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge of the UI. + - ``AC`` sets the Output3 voltage type to AC. + - ``DC`` sets the Output3 voltage type to DC. + """ + return self._output3type + + @property + def outputtype(self) -> PowerPowerItemEfficiencyOutputtype: + """Return the ``POWer:POWer:EFFICIENCY:OUTPUTType`` command. + + Description: + - This command sets or queries the output type (AC or DC) for power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:OUTPUTType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUTType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:OUTPUTType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:OUTPUTType {AC|DC} + - POWer:POWer:EFFICIENCY:OUTPUTType? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge of the UI. + - ``AC`` sets the output voltage type to AC. + - ``DC`` sets the output voltage type to DC. + """ + return self._outputtype + + @property + def vout1source(self) -> PowerPowerItemEfficiencyVout1source: + """Return the ``POWer:POWer:EFFICIENCY:VOUT1SOUrce`` command. + + Description: + - This command sets or queries the output 1 voltage source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VOUT1SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT1SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT1SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VOUT1SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT1SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vout1source + + @property + def vout2source(self) -> PowerPowerItemEfficiencyVout2source: + """Return the ``POWer:POWer:EFFICIENCY:VOUT2SOUrce`` command. + + Description: + - This command sets or queries the output 2 voltage source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VOUT2SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT2SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT2SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VOUT2SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT2SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vout2source + + @property + def vout3source(self) -> PowerPowerItemEfficiencyVout3source: + """Return the ``POWer:POWer:EFFICIENCY:VOUT3SOUrce`` command. + + Description: + - This command sets or queries the output 3 voltage source for the power Efficiency + measurement of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VOUT3SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT3SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VOUT3SOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VOUT3SOUrce {S_Ch|CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VOUT3SOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown on the power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vout3source + + @property + def vsource(self) -> PowerPowerItemEfficiencyVsource: + """Return the ``POWer:POWer:EFFICIENCY:VSOUrce`` command. + + Description: + - This command sets or queries the voltage source for the power Efficiency measurement + of the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY:VSOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VSOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:EFFICIENCY:VSOUrce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:EFFICIENCY:VSOUrce {CH|MATH|REF} + - POWer:POWer:EFFICIENCY:VSOUrce? + ``` + + Info: + - ``Power`` is the number of a power efficiency measurement. This is the equivalent + of the number shown in the power measurement badge on the UI. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._vsource + + +class PowerPowerItemDvdtSourceedgetype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:DVDT:SOURCEEDGEType`` command. + + Description: + - This command sets or queries the edge type for dv/dt measurement in the specified power + measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DVDT:SOURCEEDGEType?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DVDT:SOURCEEDGEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:DVDT:SOURCEEDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:DVDT:SOURCEEDGEType {RISE|FALL} + - POWer:POWer:DVDT:SOURCEEDGEType? + ``` + """ + + +class PowerPowerItemDvdtInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:DVDT:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for dv/dt measurement of the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DVDT:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DVDT:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:DVDT:INPUTSOurce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:DVDT:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:DVDT:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemDvdt(SCPICmdRead): + """The ``POWer:POWer:DVDT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DVDT?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DVDT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:DVDT:INPUTSOurce`` command. + - ``.sourceedgetype``: The ``POWer:POWer:DVDT:SOURCEEDGEType`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemDvdtInputsource(device, f"{self._cmd_syntax}:INPUTSOurce") + self._sourceedgetype = PowerPowerItemDvdtSourceedgetype( + device, f"{self._cmd_syntax}:SOURCEEDGEType" + ) + + @property + def inputsource(self) -> PowerPowerItemDvdtInputsource: + """Return the ``POWer:POWer:DVDT:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for dv/dt measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DVDT:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DVDT:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:DVDT:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:DVDT:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:DVDT:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + @property + def sourceedgetype(self) -> PowerPowerItemDvdtSourceedgetype: + """Return the ``POWer:POWer:DVDT:SOURCEEDGEType`` command. + + Description: + - This command sets or queries the edge type for dv/dt measurement in the specified + power measurement number. The power measurement number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DVDT:SOURCEEDGEType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:DVDT:SOURCEEDGEType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:DVDT:SOURCEEDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:DVDT:SOURCEEDGEType {RISE|FALL} + - POWer:POWer:DVDT:SOURCEEDGEType? + ``` + """ + return self._sourceedgetype + + +class PowerPowerItemDidtSourceedgetype(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:DIDT:SOURCEEDGEType`` command. + + Description: + - This command sets or queries the edge type for di/dt measurement of the specified power + measurement number. specifies the number of the power measurement badge. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DIDT:SOURCEEDGEType?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DIDT:SOURCEEDGEType?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:DIDT:SOURCEEDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:DIDT:SOURCEEDGEType {RISE|FALL} + - POWer:POWer:DIDT:SOURCEEDGEType? + ``` + """ + + +class PowerPowerItemDidtInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:DIDT:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for di/dt measurement in the specified power + measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DIDT:INPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DIDT:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:DIDT:INPUTSOurce value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:DIDT:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:DIDT:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemDidt(SCPICmdRead): + """The ``POWer:POWer:DIDT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DIDT?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DIDT?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:DIDT:INPUTSOurce`` command. + - ``.sourceedgetype``: The ``POWer:POWer:DIDT:SOURCEEDGEType`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemDidtInputsource(device, f"{self._cmd_syntax}:INPUTSOurce") + self._sourceedgetype = PowerPowerItemDidtSourceedgetype( + device, f"{self._cmd_syntax}:SOURCEEDGEType" + ) + + @property + def inputsource(self) -> PowerPowerItemDidtInputsource: + """Return the ``POWer:POWer:DIDT:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for di/dt measurement in the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DIDT:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DIDT:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:DIDT:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:DIDT:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:DIDT:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + @property + def sourceedgetype(self) -> PowerPowerItemDidtSourceedgetype: + """Return the ``POWer:POWer:DIDT:SOURCEEDGEType`` command. + + Description: + - This command sets or queries the edge type for di/dt measurement of the specified + power measurement number. specifies the number of the power measurement badge. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DIDT:SOURCEEDGEType?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:DIDT:SOURCEEDGEType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:DIDT:SOURCEEDGEType value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:DIDT:SOURCEEDGEType {RISE|FALL} + - POWer:POWer:DIDT:SOURCEEDGEType? + ``` + """ + return self._sourceedgetype + + +class PowerPowerItemCycletopInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CYCLETop:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle top measurement in the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLETop:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLETop:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLETop:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLETop:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLETop:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemCycletop(SCPICmdRead): + """The ``POWer:POWer:CYCLETop`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLETop?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLETop?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:CYCLETop:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemCycletopInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemCycletopInputsource: + """Return the ``POWer:POWer:CYCLETop:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle top measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLETop:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLETop:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLETop:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLETop:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLETop:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemCyclepkpkInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CYCLEPKPK:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle peak-to-peak measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEPKPK:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEPKPK:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEPKPK:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEPKPK:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEPKPK:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemCyclepkpk(SCPICmdRead): + """The ``POWer:POWer:CYCLEPKPK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEPKPK?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEPKPK?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEPKPK:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemCyclepkpkInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemCyclepkpkInputsource: + """Return the ``POWer:POWer:CYCLEPKPK:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle peak-to-peak measurement in + the specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEPKPK:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEPKPK:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEPKPK:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEPKPK:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEPKPK:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemCycleminInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CYCLEMin:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle minimum measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMin:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEMin:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEMin:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEMin:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEMin:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemCyclemin(SCPICmdRead): + """The ``POWer:POWer:CYCLEMin`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMin?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEMin?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEMin:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemCycleminInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemCycleminInputsource: + """Return the ``POWer:POWer:CYCLEMin:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle minimum measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMin:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEMin:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEMin:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEMin:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEMin:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemCyclemaxInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CYCLEMAX:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle maximum measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMAX:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEMAX:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEMAX:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEMAX:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEMAX:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemCyclemax(SCPICmdRead): + """The ``POWer:POWer:CYCLEMAX`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMAX?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEMAX?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEMAX:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemCyclemaxInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemCyclemaxInputsource: + """Return the ``POWer:POWer:CYCLEMAX:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle maximum measurement in the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMAX:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEMAX:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEMAX:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEMAX:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEMAX:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemCyclebaseInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CYCLEBase:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle base measurement of the specified + power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEBase:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEBase:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEBase:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEBase:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEBase:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemCyclebase(SCPICmdRead): + """The ``POWer:POWer:CYCLEBase`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEBase?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEBase?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEBase:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemCyclebaseInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemCyclebaseInputsource: + """Return the ``POWer:POWer:CYCLEBase:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle base measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEBase:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEBase:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEBase:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEBase:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEBase:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemCycleampInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CYCLEAmp:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle amplitude measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEAmp:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEAmp:INPUTSOurce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEAmp:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEAmp:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEAmp:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + + +class PowerPowerItemCycleamp(SCPICmdRead): + """The ``POWer:POWer:CYCLEAmp`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEAmp?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEAmp?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEAmp:INPUTSOurce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._inputsource = PowerPowerItemCycleampInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + + @property + def inputsource(self) -> PowerPowerItemCycleampInputsource: + """Return the ``POWer:POWer:CYCLEAmp:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for cycle amplitude measurement of the + specified power measurement number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEAmp:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CYCLEAmp:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CYCLEAmp:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CYCLEAmp:INPUTSOurce {S_Ch|CH|MATH|REF} + - POWer:POWer:CYCLEAmp:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``S_Ch`` specifies the remote scope number and the analog channel. + - ``CH`` = A channel specifier; is 1 through 8 and is limited by the number of + FlexChannels in your instrument. + - ``MATH`` = A math waveform specifier; is ≥1. + - ``REF`` = A reference waveform specifier; is ≥1. + """ + return self._inputsource + + +class PowerPowerItemClresponseTestconnection(SCPICmdWrite): + """The ``POWer:POWer:CLRESPONSE:TESTCONNection`` command. + + Description: + - This command tests the connection to the external generator used with the specified + Control Loop Response power measurement. + + Usage: + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:TESTCONNection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:TESTCONNection EXECute + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + - ``EXECute`` runs the test connection function. + """ + + +class PowerPowerItemClresponseStopfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:STOPFREQuency`` command. + + Description: + - This command sets or queries the stop frequency value for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:STOPFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STOPFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STOPFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:STOPFREQuency + - POWer:POWer:CLRESPONSE:STOPFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the stop frequency for the measurement, in the range of 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseStartfrequency(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:STARTFREQuency`` command. + + Description: + - This command sets or queries the start frequency value for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:STARTFREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STARTFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STARTFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:STARTFREQuency + - POWer:POWer:CLRESPONSE:STARTFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the starting frequency for the measurement, in the range of 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponsePpd(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:PPD`` command. + + Description: + - This command sets or queries the points per decade (PPD) value for the Control Loop + Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:PPD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:PPD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:CLRESPONSE:PPD value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:PPD + - POWer:POWer:CLRESPONSE:PPD? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the PPD value for the measurement, in the range of 10 to 100 points. + """ + + +class PowerPowerItemClresponseOutputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:OUTPUTSOurce`` command. + + Description: + - This command sets or queries the output source for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:OUTPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:OUTPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:OUTPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:OUTPUTSOurce CH + - POWer:POWer:CLRESPONSE:OUTPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the output signal source. + """ + + +class PowerPowerItemClresponseMon(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:MON`` command. + + Description: + - This command sets or returns the measure on for the control loop response, PSRR or + impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:MON?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:MON?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:CLRESPONSE:MON value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:MON {SAVG|SSEQ} + - POWer:POWer:CLRESPONSE:MON? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``SAVG`` specifies the measure analysis method for the Control Loop Response/PSRR or + Impedance measurement to SAVG. + - ``SSEQ`` specifies the measure analysis method for the Control Loop Response/PSRR or + Impedance measurement to SSEQ. + """ + + +class PowerPowerItemClresponseInputsource(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:INPUTSOurce CH + - POWer:POWer:CLRESPONSE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the output signal source. + """ + + +class PowerPowerItemClresponseImpedance(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:IMPEDance`` command. + + Description: + - This command sets or queries the vertical termination impedance for the Control Loop + Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:IMPEDance?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:IMPEDance?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:IMPEDance value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:IMPEDance {FIFTy|HIGHZ} + - POWer:POWer:CLRESPONSE:IMPEDance? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FIFTy`` sets the impedance to be 50 Ω. + - ``HIGHZ`` sets the impedance to be 1 MΩ. + """ + + +class PowerPowerItemClresponseGenerator(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:GENerator`` command. + + Description: + - This command sets or queries the generator source used to send stimulus signals to the + DUT, for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:GENerator?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:GENerator?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENerator value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:GENerator {INTernal} + - POWer:POWer:CLRESPONSE:GENerator? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``INTernal`` sets the generator to the instrument AFG. This is the only valid argument. + """ + + +class PowerPowerItemClresponseGenipaddress(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:GENIPADDress`` command. + + Description: + - Sets or queries the IP address of the external generator to be used with the specified + Control Loop Response measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:GENIPADDress?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENIPADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENIPADDress value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:GENIPADDress + - POWer:POWer:CLRESPONSE:GENIPADDress? + ``` + + Info: + - ``POWer`` is the number of the power measurement. is the IP address of the + generator. + """ + + +class PowerPowerItemClresponseFreq9val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ9Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ9Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ9Val + - POWer:POWer:CLRESPONSE:FREQ9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq8val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ8Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ8Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ8Val + - POWer:POWer:CLRESPONSE:FREQ8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq7val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ7Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ7Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ7Val + - POWer:POWer:CLRESPONSE:FREQ7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq6val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ6Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ6Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ6Val + - POWer:POWer:CLRESPONSE:FREQ6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq5val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ5Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ5Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ5Val + - POWer:POWer:CLRESPONSE:FREQ5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq4val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ4Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ4Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ4Val + - POWer:POWer:CLRESPONSE:FREQ4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq3val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ3Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ3Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ3Val + - POWer:POWer:CLRESPONSE:FREQ3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq2val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ2Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ2Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ2Val + - POWer:POWer:CLRESPONSE:FREQ2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq1val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ1Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ1Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ1Val + - POWer:POWer:CLRESPONSE:FREQ1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq11val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ11Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ11Val?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ11Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ11Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ11Val + - POWer:POWer:CLRESPONSE:FREQ11Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseFreq10val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:FREQ10Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ10Val?`` + query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:FREQ10Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ10Val + - POWer:POWer:CLRESPONSE:FREQ10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range of + 10 Hz to 50 MHz. + """ + + +class PowerPowerItemClresponseConstamplitude(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:CONSTAMPlitude`` command. + + Description: + - This command sets or queries the constant amplitude voltage for the Control Loop Response + power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:CONSTAMPlitude?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:CONSTAMPlitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:CONSTAMPlitude value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:CONSTAMPlitude + - POWer:POWer:CLRESPONSE:CONSTAMPlitude? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ```` is the constant amplitude voltage value for the measurement, in the range of + -100 V to 100 V. + """ + + +class PowerPowerItemClresponseConnectstatus(SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:CONNECTSTATus`` command. + + Description: + - Queries connection status to the external generator used with the specified Control Loop + Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:CONNECTSTATus?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:CONNECTSTATus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:CONNECTSTATus? + ``` + + Info: + - ``POWer`` is the number of the power measurement. + """ + + +class PowerPowerItemClresponseAutorbw(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AUTORbw`` command. + + Description: + - This command enables Auto RBW computation. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AUTORbw?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AUTORbw?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AUTORbw value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AUTORbw {True|False} + - POWer:POWer:CLRESPONSE:AUTORbw? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``True`` enables Auto RBW computation. + - ``False`` disables Auto RBW computation. + """ + + +class PowerPowerItemClresponseAnalysismethod(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:ANALYSISMethod`` command. + + Description: + - This command sets or queries the Analysis Method for Control Loop Response measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:ANALYSISMethod?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:ANALYSISMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:ANALYSISMethod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:ANALYSISMethod {SV|FFT} + - POWer:POWer:CLRESPONSE:ANALYSISMethod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``SV`` sets the Analysis Method as Spectrum View. + - ``FFT`` sets the Analysis Method as FFT. + """ + + +class PowerPowerItemClresponseAmpmode(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMPMode`` command. + + Description: + - This command sets or queries the amplitude mode for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMPMode?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMPMode?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMPMode value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMPMode {CONSTant|PROFile} + - POWer:POWer:CLRESPONSE:AMPMode? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``CONSTant`` sets the amplitude mode to output a constant amplitude signal from the DUT + stimulus generator for all frequency bands. + - ``PROFile`` enables configuring the generator to set amplitude values for each frequency + band. + """ + + +class PowerPowerItemClresponseAmp9val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP9Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP9Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP9Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP9Val + - POWer:POWer:CLRESPONSE:AMP9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp8val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP8Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP8Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP8Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP8Val + - POWer:POWer:CLRESPONSE:AMP8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp7val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP7Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP7Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP7Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP7Val + - POWer:POWer:CLRESPONSE:AMP7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp6val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP6Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP6Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP6Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP6Val + - POWer:POWer:CLRESPONSE:AMP6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp5val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP5Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP5Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP5Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP5Val + - POWer:POWer:CLRESPONSE:AMP5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp4val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP4Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP4Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP4Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP4Val + - POWer:POWer:CLRESPONSE:AMP4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp3val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP3Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP3Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP3Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP3Val + - POWer:POWer:CLRESPONSE:AMP3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp2val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP2Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP2Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP2Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP2Val + - POWer:POWer:CLRESPONSE:AMP2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp1val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP1Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP1Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP1Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP1Val + - POWer:POWer:CLRESPONSE:AMP1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +class PowerPowerItemClresponseAmp10val(SCPICmdWrite, SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE:AMP10Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified configuration + step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP10Val?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:AMP10Val?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP10Val + - POWer:POWer:CLRESPONSE:AMP10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number shown + in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the range + of -100 V to 100 V. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItemClresponse(SCPICmdRead): + """The ``POWer:POWer:CLRESPONSE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ampmode``: The ``POWer:POWer:CLRESPONSE:AMPMode`` command. + - ``.amp1val``: The ``POWer:POWer:CLRESPONSE:AMP1Val`` command. + - ``.amp2val``: The ``POWer:POWer:CLRESPONSE:AMP2Val`` command. + - ``.amp3val``: The ``POWer:POWer:CLRESPONSE:AMP3Val`` command. + - ``.amp4val``: The ``POWer:POWer:CLRESPONSE:AMP4Val`` command. + - ``.amp5val``: The ``POWer:POWer:CLRESPONSE:AMP5Val`` command. + - ``.amp6val``: The ``POWer:POWer:CLRESPONSE:AMP6Val`` command. + - ``.amp7val``: The ``POWer:POWer:CLRESPONSE:AMP7Val`` command. + - ``.amp8val``: The ``POWer:POWer:CLRESPONSE:AMP8Val`` command. + - ``.amp9val``: The ``POWer:POWer:CLRESPONSE:AMP9Val`` command. + - ``.amp10val``: The ``POWer:POWer:CLRESPONSE:AMP10Val`` command. + - ``.analysismethod``: The ``POWer:POWer:CLRESPONSE:ANALYSISMethod`` command. + - ``.autorbw``: The ``POWer:POWer:CLRESPONSE:AUTORbw`` command. + - ``.connectstatus``: The ``POWer:POWer:CLRESPONSE:CONNECTSTATus`` command. + - ``.constamplitude``: The ``POWer:POWer:CLRESPONSE:CONSTAMPlitude`` command. + - ``.freq1val``: The ``POWer:POWer:CLRESPONSE:FREQ1Val`` command. + - ``.freq2val``: The ``POWer:POWer:CLRESPONSE:FREQ2Val`` command. + - ``.freq3val``: The ``POWer:POWer:CLRESPONSE:FREQ3Val`` command. + - ``.freq4val``: The ``POWer:POWer:CLRESPONSE:FREQ4Val`` command. + - ``.freq5val``: The ``POWer:POWer:CLRESPONSE:FREQ5Val`` command. + - ``.freq6val``: The ``POWer:POWer:CLRESPONSE:FREQ6Val`` command. + - ``.freq7val``: The ``POWer:POWer:CLRESPONSE:FREQ7Val`` command. + - ``.freq8val``: The ``POWer:POWer:CLRESPONSE:FREQ8Val`` command. + - ``.freq9val``: The ``POWer:POWer:CLRESPONSE:FREQ9Val`` command. + - ``.freq10val``: The ``POWer:POWer:CLRESPONSE:FREQ10Val`` command. + - ``.freq11val``: The ``POWer:POWer:CLRESPONSE:FREQ11Val`` command. + - ``.genipaddress``: The ``POWer:POWer:CLRESPONSE:GENIPADDress`` command. + - ``.generator``: The ``POWer:POWer:CLRESPONSE:GENerator`` command. + - ``.impedance``: The ``POWer:POWer:CLRESPONSE:IMPEDance`` command. + - ``.inputsource``: The ``POWer:POWer:CLRESPONSE:INPUTSOurce`` command. + - ``.mon``: The ``POWer:POWer:CLRESPONSE:MON`` command. + - ``.outputsource``: The ``POWer:POWer:CLRESPONSE:OUTPUTSOurce`` command. + - ``.ppd``: The ``POWer:POWer:CLRESPONSE:PPD`` command. + - ``.startfrequency``: The ``POWer:POWer:CLRESPONSE:STARTFREQuency`` command. + - ``.stopfrequency``: The ``POWer:POWer:CLRESPONSE:STOPFREQuency`` command. + - ``.testconnection``: The ``POWer:POWer:CLRESPONSE:TESTCONNection`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ampmode = PowerPowerItemClresponseAmpmode(device, f"{self._cmd_syntax}:AMPMode") + self._amp1val = PowerPowerItemClresponseAmp1val(device, f"{self._cmd_syntax}:AMP1Val") + self._amp2val = PowerPowerItemClresponseAmp2val(device, f"{self._cmd_syntax}:AMP2Val") + self._amp3val = PowerPowerItemClresponseAmp3val(device, f"{self._cmd_syntax}:AMP3Val") + self._amp4val = PowerPowerItemClresponseAmp4val(device, f"{self._cmd_syntax}:AMP4Val") + self._amp5val = PowerPowerItemClresponseAmp5val(device, f"{self._cmd_syntax}:AMP5Val") + self._amp6val = PowerPowerItemClresponseAmp6val(device, f"{self._cmd_syntax}:AMP6Val") + self._amp7val = PowerPowerItemClresponseAmp7val(device, f"{self._cmd_syntax}:AMP7Val") + self._amp8val = PowerPowerItemClresponseAmp8val(device, f"{self._cmd_syntax}:AMP8Val") + self._amp9val = PowerPowerItemClresponseAmp9val(device, f"{self._cmd_syntax}:AMP9Val") + self._amp10val = PowerPowerItemClresponseAmp10val(device, f"{self._cmd_syntax}:AMP10Val") + self._analysismethod = PowerPowerItemClresponseAnalysismethod( + device, f"{self._cmd_syntax}:ANALYSISMethod" + ) + self._autorbw = PowerPowerItemClresponseAutorbw(device, f"{self._cmd_syntax}:AUTORbw") + self._connectstatus = PowerPowerItemClresponseConnectstatus( + device, f"{self._cmd_syntax}:CONNECTSTATus" + ) + self._constamplitude = PowerPowerItemClresponseConstamplitude( + device, f"{self._cmd_syntax}:CONSTAMPlitude" + ) + self._freq1val = PowerPowerItemClresponseFreq1val(device, f"{self._cmd_syntax}:FREQ1Val") + self._freq2val = PowerPowerItemClresponseFreq2val(device, f"{self._cmd_syntax}:FREQ2Val") + self._freq3val = PowerPowerItemClresponseFreq3val(device, f"{self._cmd_syntax}:FREQ3Val") + self._freq4val = PowerPowerItemClresponseFreq4val(device, f"{self._cmd_syntax}:FREQ4Val") + self._freq5val = PowerPowerItemClresponseFreq5val(device, f"{self._cmd_syntax}:FREQ5Val") + self._freq6val = PowerPowerItemClresponseFreq6val(device, f"{self._cmd_syntax}:FREQ6Val") + self._freq7val = PowerPowerItemClresponseFreq7val(device, f"{self._cmd_syntax}:FREQ7Val") + self._freq8val = PowerPowerItemClresponseFreq8val(device, f"{self._cmd_syntax}:FREQ8Val") + self._freq9val = PowerPowerItemClresponseFreq9val(device, f"{self._cmd_syntax}:FREQ9Val") + self._freq10val = PowerPowerItemClresponseFreq10val(device, f"{self._cmd_syntax}:FREQ10Val") + self._freq11val = PowerPowerItemClresponseFreq11val(device, f"{self._cmd_syntax}:FREQ11Val") + self._genipaddress = PowerPowerItemClresponseGenipaddress( + device, f"{self._cmd_syntax}:GENIPADDress" + ) + self._generator = PowerPowerItemClresponseGenerator(device, f"{self._cmd_syntax}:GENerator") + self._impedance = PowerPowerItemClresponseImpedance(device, f"{self._cmd_syntax}:IMPEDance") + self._inputsource = PowerPowerItemClresponseInputsource( + device, f"{self._cmd_syntax}:INPUTSOurce" + ) + self._mon = PowerPowerItemClresponseMon(device, f"{self._cmd_syntax}:MON") + self._outputsource = PowerPowerItemClresponseOutputsource( + device, f"{self._cmd_syntax}:OUTPUTSOurce" + ) + self._ppd = PowerPowerItemClresponsePpd(device, f"{self._cmd_syntax}:PPD") + self._startfrequency = PowerPowerItemClresponseStartfrequency( + device, f"{self._cmd_syntax}:STARTFREQuency" + ) + self._stopfrequency = PowerPowerItemClresponseStopfrequency( + device, f"{self._cmd_syntax}:STOPFREQuency" + ) + self._testconnection = PowerPowerItemClresponseTestconnection( + device, f"{self._cmd_syntax}:TESTCONNection" + ) + + @property + def ampmode(self) -> PowerPowerItemClresponseAmpmode: + """Return the ``POWer:POWer:CLRESPONSE:AMPMode`` command. + + Description: + - This command sets or queries the amplitude mode for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMPMode?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMPMode?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMPMode value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMPMode {CONSTant|PROFile} + - POWer:POWer:CLRESPONSE:AMPMode? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CONSTant`` sets the amplitude mode to output a constant amplitude signal from the + DUT stimulus generator for all frequency bands. + - ``PROFile`` enables configuring the generator to set amplitude values for each + frequency band. + """ + return self._ampmode + + @property + def amp1val(self) -> PowerPowerItemClresponseAmp1val: + """Return the ``POWer:POWer:CLRESPONSE:AMP1Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP1Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP1Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP1Val + - POWer:POWer:CLRESPONSE:AMP1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp1val + + @property + def amp2val(self) -> PowerPowerItemClresponseAmp2val: + """Return the ``POWer:POWer:CLRESPONSE:AMP2Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP2Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP2Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP2Val + - POWer:POWer:CLRESPONSE:AMP2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp2val + + @property + def amp3val(self) -> PowerPowerItemClresponseAmp3val: + """Return the ``POWer:POWer:CLRESPONSE:AMP3Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP3Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP3Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP3Val + - POWer:POWer:CLRESPONSE:AMP3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp3val + + @property + def amp4val(self) -> PowerPowerItemClresponseAmp4val: + """Return the ``POWer:POWer:CLRESPONSE:AMP4Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP4Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP4Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP4Val + - POWer:POWer:CLRESPONSE:AMP4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp4val + + @property + def amp5val(self) -> PowerPowerItemClresponseAmp5val: + """Return the ``POWer:POWer:CLRESPONSE:AMP5Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP5Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP5Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP5Val + - POWer:POWer:CLRESPONSE:AMP5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp5val + + @property + def amp6val(self) -> PowerPowerItemClresponseAmp6val: + """Return the ``POWer:POWer:CLRESPONSE:AMP6Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP6Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP6Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP6Val + - POWer:POWer:CLRESPONSE:AMP6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp6val + + @property + def amp7val(self) -> PowerPowerItemClresponseAmp7val: + """Return the ``POWer:POWer:CLRESPONSE:AMP7Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP7Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP7Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP7Val + - POWer:POWer:CLRESPONSE:AMP7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp7val + + @property + def amp8val(self) -> PowerPowerItemClresponseAmp8val: + """Return the ``POWer:POWer:CLRESPONSE:AMP8Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP8Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP8Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP8Val + - POWer:POWer:CLRESPONSE:AMP8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp8val + + @property + def amp9val(self) -> PowerPowerItemClresponseAmp9val: + """Return the ``POWer:POWer:CLRESPONSE:AMP9Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP9Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP9Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP9Val + - POWer:POWer:CLRESPONSE:AMP9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp9val + + @property + def amp10val(self) -> PowerPowerItemClresponseAmp10val: + """Return the ``POWer:POWer:CLRESPONSE:AMP10Val`` command. + + Description: + - This command sets or queries the generator amplitude value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AMP10Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP10Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AMP10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AMP10Val + - POWer:POWer:CLRESPONSE:AMP10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``AMP`` sets the configuration step number, in the range of 1 to 10. Values outside + this range will report an error. x has a minimum of 1 and a maximum of 10. + - ```` sets the generator amplitude for the specified configuration step, in the + range of -100 V to 100 V. + """ + return self._amp10val + + @property + def analysismethod(self) -> PowerPowerItemClresponseAnalysismethod: + """Return the ``POWer:POWer:CLRESPONSE:ANALYSISMethod`` command. + + Description: + - This command sets or queries the Analysis Method for Control Loop Response + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:ANALYSISMethod?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:ANALYSISMethod?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:ANALYSISMethod value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:ANALYSISMethod {SV|FFT} + - POWer:POWer:CLRESPONSE:ANALYSISMethod? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``SV`` sets the Analysis Method as Spectrum View. + - ``FFT`` sets the Analysis Method as FFT. + """ + return self._analysismethod + + @property + def autorbw(self) -> PowerPowerItemClresponseAutorbw: + """Return the ``POWer:POWer:CLRESPONSE:AUTORbw`` command. + + Description: + - This command enables Auto RBW computation. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:AUTORbw?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AUTORbw?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:AUTORbw value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:AUTORbw {True|False} + - POWer:POWer:CLRESPONSE:AUTORbw? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``True`` enables Auto RBW computation. + - ``False`` disables Auto RBW computation. + """ + return self._autorbw + + @property + def connectstatus(self) -> PowerPowerItemClresponseConnectstatus: + """Return the ``POWer:POWer:CLRESPONSE:CONNECTSTATus`` command. + + Description: + - Queries connection status to the external generator used with the specified Control + Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:CONNECTSTATus?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:CONNECTSTATus?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:CONNECTSTATus? + ``` + + Info: + - ``POWer`` is the number of the power measurement. + """ + return self._connectstatus + + @property + def constamplitude(self) -> PowerPowerItemClresponseConstamplitude: + """Return the ``POWer:POWer:CLRESPONSE:CONSTAMPlitude`` command. + + Description: + - This command sets or queries the constant amplitude voltage for the Control Loop + Response power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:CONSTAMPlitude?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:CONSTAMPlitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:CONSTAMPlitude value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:CONSTAMPlitude + - POWer:POWer:CLRESPONSE:CONSTAMPlitude? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the constant amplitude voltage value for the measurement, in the range of + -100 V to 100 V. + """ + return self._constamplitude + + @property + def freq1val(self) -> PowerPowerItemClresponseFreq1val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ1Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ1Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ1Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ1Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ1Val + - POWer:POWer:CLRESPONSE:FREQ1Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq1val + + @property + def freq2val(self) -> PowerPowerItemClresponseFreq2val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ2Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ2Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ2Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ2Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ2Val + - POWer:POWer:CLRESPONSE:FREQ2Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq2val + + @property + def freq3val(self) -> PowerPowerItemClresponseFreq3val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ3Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ3Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ3Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ3Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ3Val + - POWer:POWer:CLRESPONSE:FREQ3Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq3val + + @property + def freq4val(self) -> PowerPowerItemClresponseFreq4val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ4Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ4Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ4Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ4Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ4Val + - POWer:POWer:CLRESPONSE:FREQ4Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq4val + + @property + def freq5val(self) -> PowerPowerItemClresponseFreq5val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ5Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ5Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ5Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ5Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ5Val + - POWer:POWer:CLRESPONSE:FREQ5Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq5val + + @property + def freq6val(self) -> PowerPowerItemClresponseFreq6val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ6Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ6Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ6Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ6Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ6Val + - POWer:POWer:CLRESPONSE:FREQ6Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq6val + + @property + def freq7val(self) -> PowerPowerItemClresponseFreq7val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ7Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ7Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ7Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ7Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ7Val + - POWer:POWer:CLRESPONSE:FREQ7Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq7val + + @property + def freq8val(self) -> PowerPowerItemClresponseFreq8val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ8Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ8Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ8Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ8Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ8Val + - POWer:POWer:CLRESPONSE:FREQ8Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq8val + + @property + def freq9val(self) -> PowerPowerItemClresponseFreq9val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ9Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ9Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ9Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ9Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ9Val + - POWer:POWer:CLRESPONSE:FREQ9Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq9val + + @property + def freq10val(self) -> PowerPowerItemClresponseFreq10val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ10Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ10Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ10Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ10Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ10Val + - POWer:POWer:CLRESPONSE:FREQ10Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq10val + + @property + def freq11val(self) -> PowerPowerItemClresponseFreq11val: + """Return the ``POWer:POWer:CLRESPONSE:FREQ11Val`` command. + + Description: + - This command sets or queries the generator frequency value of the specified + configuration step for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:FREQ11Val?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ11Val?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:FREQ11Val value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:FREQ11Val + - POWer:POWer:CLRESPONSE:FREQ11Val? + ``` + + Info: + - ``Power`` sets the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FREQ`` sets the configuration step number, in the range of 1 to 11. Values + outside this range will report an error. x has a minimum of 1 and a maximum of 11. + - ```` sets the frequency of the specified configuration step number, in the range + of 10 Hz to 50 MHz. + """ + return self._freq11val + + @property + def genipaddress(self) -> PowerPowerItemClresponseGenipaddress: + """Return the ``POWer:POWer:CLRESPONSE:GENIPADDress`` command. + + Description: + - Sets or queries the IP address of the external generator to be used with the specified + Control Loop Response measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:GENIPADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENIPADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENIPADDress value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:GENIPADDress + - POWer:POWer:CLRESPONSE:GENIPADDress? + ``` + + Info: + - ``POWer`` is the number of the power measurement. is the IP address of the + generator. + """ + return self._genipaddress + + @property + def generator(self) -> PowerPowerItemClresponseGenerator: + """Return the ``POWer:POWer:CLRESPONSE:GENerator`` command. + + Description: + - This command sets or queries the generator source used to send stimulus signals to the + DUT, for the Control Loop Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:GENerator?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENerator?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:GENerator value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:GENerator {INTernal} + - POWer:POWer:CLRESPONSE:GENerator? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``INTernal`` sets the generator to the instrument AFG. This is the only valid + argument. + """ + return self._generator + + @property + def impedance(self) -> PowerPowerItemClresponseImpedance: + """Return the ``POWer:POWer:CLRESPONSE:IMPEDance`` command. + + Description: + - This command sets or queries the vertical termination impedance for the Control Loop + Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:IMPEDance?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:IMPEDance?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:IMPEDance value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:IMPEDance {FIFTy|HIGHZ} + - POWer:POWer:CLRESPONSE:IMPEDance? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``FIFTy`` sets the impedance to be 50 Ω. + - ``HIGHZ`` sets the impedance to be 1 MΩ. + """ + return self._impedance + + @property + def inputsource(self) -> PowerPowerItemClresponseInputsource: + """Return the ``POWer:POWer:CLRESPONSE:INPUTSOurce`` command. + + Description: + - This command sets or queries the input source for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:INPUTSOurce?`` + query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:INPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:INPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:INPUTSOurce CH + - POWer:POWer:CLRESPONSE:INPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the output signal source. + """ + return self._inputsource + + @property + def mon(self) -> PowerPowerItemClresponseMon: + """Return the ``POWer:POWer:CLRESPONSE:MON`` command. + + Description: + - This command sets or returns the measure on for the control loop response, PSRR or + impedance measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:MON?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:MON?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:MON value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:MON {SAVG|SSEQ} + - POWer:POWer:CLRESPONSE:MON? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``SAVG`` specifies the measure analysis method for the Control Loop Response/PSRR or + Impedance measurement to SAVG. + - ``SSEQ`` specifies the measure analysis method for the Control Loop Response/PSRR or + Impedance measurement to SSEQ. + """ + return self._mon + + @property + def outputsource(self) -> PowerPowerItemClresponseOutputsource: + """Return the ``POWer:POWer:CLRESPONSE:OUTPUTSOurce`` command. + + Description: + - This command sets or queries the output source for the Control Loop Response power + measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:OUTPUTSOurce?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:OUTPUTSOurce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:OUTPUTSOurce value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:OUTPUTSOurce CH + - POWer:POWer:CLRESPONSE:OUTPUTSOurce? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``CH`` sets the channel to use for the output signal source. + """ + return self._outputsource + + @property + def ppd(self) -> PowerPowerItemClresponsePpd: + """Return the ``POWer:POWer:CLRESPONSE:PPD`` command. + + Description: + - This command sets or queries the points per decade (PPD) value for the Control Loop + Response power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE:PPD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE:PPD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:PPD value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:PPD + - POWer:POWer:CLRESPONSE:PPD? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the PPD value for the measurement, in the range of 10 to 100 points. + """ + return self._ppd + + @property + def startfrequency(self) -> PowerPowerItemClresponseStartfrequency: + """Return the ``POWer:POWer:CLRESPONSE:STARTFREQuency`` command. + + Description: + - This command sets or queries the start frequency value for the Control Loop Response + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:STARTFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STARTFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STARTFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:STARTFREQuency + - POWer:POWer:CLRESPONSE:STARTFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the starting frequency for the measurement, in the range of 10 Hz to 50 + MHz. + """ + return self._startfrequency + + @property + def stopfrequency(self) -> PowerPowerItemClresponseStopfrequency: + """Return the ``POWer:POWer:CLRESPONSE:STOPFREQuency`` command. + + Description: + - This command sets or queries the stop frequency value for the Control Loop Response + power measurement. + + Usage: + - Using the ``.query()`` method will send the + ``POWer:POWer:CLRESPONSE:STOPFREQuency?`` query. + - Using the ``.verify(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STOPFREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:STOPFREQuency value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:STOPFREQuency + - POWer:POWer:CLRESPONSE:STOPFREQuency? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` is the stop frequency for the measurement, in the range of 10 Hz to 50 MHz. + """ + return self._stopfrequency + + @property + def testconnection(self) -> PowerPowerItemClresponseTestconnection: + """Return the ``POWer:POWer:CLRESPONSE:TESTCONNection`` command. + + Description: + - This command tests the connection to the external generator used with the specified + Control Loop Response power measurement. + + Usage: + - Using the ``.write(value)`` method will send the + ``POWer:POWer:CLRESPONSE:TESTCONNection value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:CLRESPONSE:TESTCONNection EXECute + ``` + + Info: + - ``POWer`` is the number of the PSRR power measurement. + - ``EXECute`` runs the test connection function. + """ + return self._testconnection + + +class PowerPowerItemAutoset(SCPICmdWrite): + """The ``POWer:POWer:AUTOSet`` command. + + Description: + - This command executes power autoset for the specified power measurement number. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:POWer:AUTOSet value`` command. + + SCPI Syntax: + ``` + - POWer:POWer:AUTOSet EXECute + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number shown + on a power measurement badge in the UI. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class PowerPowerItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``POWer:POWer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.autoset``: The ``POWer:POWer:AUTOSet`` command. + - ``.clresponse``: The ``POWer:POWer:CLRESPONSE`` command tree. + - ``.cycleamp``: The ``POWer:POWer:CYCLEAmp`` command tree. + - ``.cyclebase``: The ``POWer:POWer:CYCLEBase`` command tree. + - ``.cyclemax``: The ``POWer:POWer:CYCLEMAX`` command tree. + - ``.cyclemin``: The ``POWer:POWer:CYCLEMin`` command tree. + - ``.cyclepkpk``: The ``POWer:POWer:CYCLEPKPK`` command tree. + - ``.cycletop``: The ``POWer:POWer:CYCLETop`` command tree. + - ``.didt``: The ``POWer:POWer:DIDT`` command tree. + - ``.dvdt``: The ``POWer:POWer:DVDT`` command tree. + - ``.efficiency``: The ``POWer:POWer:EFFICIENCY`` command tree. + - ``.frequency``: The ``POWer:POWer:FREQUENCY`` command tree. + - ``.gating``: The ``POWer:POWer:GATing`` command. + - ``.harmonics``: The ``POWer:POWer:HARMONICS`` command tree. + - ``.impedance``: The ``POWer:POWer:IMPEDANCE`` command tree. + - ``.inductance``: The ``POWer:POWer:INDUCTANCE`` command tree. + - ``.inputcap``: The ``POWer:POWer:INPUTCAP`` command tree. + - ``.inrushcurrent``: The ``POWer:POWer:INRUSHcurrent`` command tree. + - ``.ivsintegralv``: The ``POWer:POWer:IVSINTEGRALV`` command tree. + - ``.label``: The ``POWer:POWer:LABel`` command. + - ``.lineripple``: The ``POWer:POWer:LINERIPPLE`` command tree. + - ``.magneticloss``: The ``POWer:POWer:MAGNETICLOSS`` command tree. + - ``.magproperty``: The ``POWer:POWer:MAGPROPERTY`` command tree. + - ``.ndutycycle``: The ``POWer:POWer:NDUTYCYCLE`` command tree. + - ``.npulsewidth``: The ``POWer:POWer:NPULSEWIDTH`` command tree. + - ``.pdutycycle``: The ``POWer:POWer:PDUTYCYCLE`` command tree. + - ``.period``: The ``POWer:POWer:PERIOD`` command tree. + - ``.powerquality``: The ``POWer:POWer:POWERQUALITY`` command tree. + - ``.ppulsewidth``: The ``POWer:POWer:PPULSEWIDTH`` command tree. + - ``.preset``: The ``POWer:POWer:PRESET`` command. + - ``.psrr``: The ``POWer:POWer:PSRR`` command tree. + - ``.rdson``: The ``POWer:POWer:RDSON`` command tree. + - ``.reflevels``: The ``POWer:POWer:REFLevels`` command tree. + - ``.results``: The ``POWer:POWer:RESUlts`` command tree. + - ``.seqsetup``: The ``POWer:POWer:SEQSETup`` command. + - ``.sequence``: The ``POWer:POWer:SEQuence`` command. + - ``.soa``: The ``POWer:POWer:SOA`` command tree. + - ``.switchingloss``: The ``POWer:POWer:SWITCHINGLOSS`` command tree. + - ``.switchingripple``: The ``POWer:POWer:SWITCHINGRIPPLE`` command tree. + - ``.turnofftime``: The ``POWer:POWer:TURNOFFtime`` command tree. + - ``.turnontime``: The ``POWer:POWer:TURNONtime`` command tree. + - ``.type``: The ``POWer:POWer:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._autoset = PowerPowerItemAutoset(device, f"{self._cmd_syntax}:AUTOSet") + self._clresponse = PowerPowerItemClresponse(device, f"{self._cmd_syntax}:CLRESPONSE") + self._cycleamp = PowerPowerItemCycleamp(device, f"{self._cmd_syntax}:CYCLEAmp") + self._cyclebase = PowerPowerItemCyclebase(device, f"{self._cmd_syntax}:CYCLEBase") + self._cyclemax = PowerPowerItemCyclemax(device, f"{self._cmd_syntax}:CYCLEMAX") + self._cyclemin = PowerPowerItemCyclemin(device, f"{self._cmd_syntax}:CYCLEMin") + self._cyclepkpk = PowerPowerItemCyclepkpk(device, f"{self._cmd_syntax}:CYCLEPKPK") + self._cycletop = PowerPowerItemCycletop(device, f"{self._cmd_syntax}:CYCLETop") + self._didt = PowerPowerItemDidt(device, f"{self._cmd_syntax}:DIDT") + self._dvdt = PowerPowerItemDvdt(device, f"{self._cmd_syntax}:DVDT") + self._efficiency = PowerPowerItemEfficiency(device, f"{self._cmd_syntax}:EFFICIENCY") + self._frequency = PowerPowerItemFrequency(device, f"{self._cmd_syntax}:FREQUENCY") + self._gating = PowerPowerItemGating(device, f"{self._cmd_syntax}:GATing") + self._harmonics = PowerPowerItemHarmonics(device, f"{self._cmd_syntax}:HARMONICS") + self._impedance = PowerPowerItemImpedance(device, f"{self._cmd_syntax}:IMPEDANCE") + self._inductance = PowerPowerItemInductance(device, f"{self._cmd_syntax}:INDUCTANCE") + self._inputcap = PowerPowerItemInputcap(device, f"{self._cmd_syntax}:INPUTCAP") + self._inrushcurrent = PowerPowerItemInrushcurrent( + device, f"{self._cmd_syntax}:INRUSHcurrent" + ) + self._ivsintegralv = PowerPowerItemIvsintegralv(device, f"{self._cmd_syntax}:IVSINTEGRALV") + self._label = PowerPowerItemLabel(device, f"{self._cmd_syntax}:LABel") + self._lineripple = PowerPowerItemLineripple(device, f"{self._cmd_syntax}:LINERIPPLE") + self._magneticloss = PowerPowerItemMagneticloss(device, f"{self._cmd_syntax}:MAGNETICLOSS") + self._magproperty = PowerPowerItemMagproperty(device, f"{self._cmd_syntax}:MAGPROPERTY") + self._ndutycycle = PowerPowerItemNdutycycle(device, f"{self._cmd_syntax}:NDUTYCYCLE") + self._npulsewidth = PowerPowerItemNpulsewidth(device, f"{self._cmd_syntax}:NPULSEWIDTH") + self._pdutycycle = PowerPowerItemPdutycycle(device, f"{self._cmd_syntax}:PDUTYCYCLE") + self._period = PowerPowerItemPeriod(device, f"{self._cmd_syntax}:PERIOD") + self._powerquality = PowerPowerItemPowerquality(device, f"{self._cmd_syntax}:POWERQUALITY") + self._ppulsewidth = PowerPowerItemPpulsewidth(device, f"{self._cmd_syntax}:PPULSEWIDTH") + self._preset = PowerPowerItemPreset(device, f"{self._cmd_syntax}:PRESET") + self._psrr = PowerPowerItemPsrr(device, f"{self._cmd_syntax}:PSRR") + self._rdson = PowerPowerItemRdson(device, f"{self._cmd_syntax}:RDSON") + self._reflevels = PowerPowerItemReflevels(device, f"{self._cmd_syntax}:REFLevels") + self._results = PowerPowerItemResults(device, f"{self._cmd_syntax}:RESUlts") + self._seqsetup = PowerPowerItemSeqsetup(device, f"{self._cmd_syntax}:SEQSETup") + self._sequence = PowerPowerItemSequence(device, f"{self._cmd_syntax}:SEQuence") + self._soa = PowerPowerItemSoa(device, f"{self._cmd_syntax}:SOA") + self._switchingloss = PowerPowerItemSwitchingloss( + device, f"{self._cmd_syntax}:SWITCHINGLOSS" + ) + self._switchingripple = PowerPowerItemSwitchingripple( + device, f"{self._cmd_syntax}:SWITCHINGRIPPLE" + ) + self._turnofftime = PowerPowerItemTurnofftime(device, f"{self._cmd_syntax}:TURNOFFtime") + self._turnontime = PowerPowerItemTurnontime(device, f"{self._cmd_syntax}:TURNONtime") + self._type = PowerPowerItemType(device, f"{self._cmd_syntax}:TYPe") + + @property + def autoset(self) -> PowerPowerItemAutoset: + """Return the ``POWer:POWer:AUTOSet`` command. + + Description: + - This command executes power autoset for the specified power measurement number. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:POWer:AUTOSet value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:AUTOSet EXECute + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + """ + return self._autoset + + @property + def clresponse(self) -> PowerPowerItemClresponse: + """Return the ``POWer:POWer:CLRESPONSE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CLRESPONSE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CLRESPONSE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ampmode``: The ``POWer:POWer:CLRESPONSE:AMPMode`` command. + - ``.amp1val``: The ``POWer:POWer:CLRESPONSE:AMP1Val`` command. + - ``.amp2val``: The ``POWer:POWer:CLRESPONSE:AMP2Val`` command. + - ``.amp3val``: The ``POWer:POWer:CLRESPONSE:AMP3Val`` command. + - ``.amp4val``: The ``POWer:POWer:CLRESPONSE:AMP4Val`` command. + - ``.amp5val``: The ``POWer:POWer:CLRESPONSE:AMP5Val`` command. + - ``.amp6val``: The ``POWer:POWer:CLRESPONSE:AMP6Val`` command. + - ``.amp7val``: The ``POWer:POWer:CLRESPONSE:AMP7Val`` command. + - ``.amp8val``: The ``POWer:POWer:CLRESPONSE:AMP8Val`` command. + - ``.amp9val``: The ``POWer:POWer:CLRESPONSE:AMP9Val`` command. + - ``.amp10val``: The ``POWer:POWer:CLRESPONSE:AMP10Val`` command. + - ``.analysismethod``: The ``POWer:POWer:CLRESPONSE:ANALYSISMethod`` command. + - ``.autorbw``: The ``POWer:POWer:CLRESPONSE:AUTORbw`` command. + - ``.connectstatus``: The ``POWer:POWer:CLRESPONSE:CONNECTSTATus`` command. + - ``.constamplitude``: The ``POWer:POWer:CLRESPONSE:CONSTAMPlitude`` command. + - ``.freq1val``: The ``POWer:POWer:CLRESPONSE:FREQ1Val`` command. + - ``.freq2val``: The ``POWer:POWer:CLRESPONSE:FREQ2Val`` command. + - ``.freq3val``: The ``POWer:POWer:CLRESPONSE:FREQ3Val`` command. + - ``.freq4val``: The ``POWer:POWer:CLRESPONSE:FREQ4Val`` command. + - ``.freq5val``: The ``POWer:POWer:CLRESPONSE:FREQ5Val`` command. + - ``.freq6val``: The ``POWer:POWer:CLRESPONSE:FREQ6Val`` command. + - ``.freq7val``: The ``POWer:POWer:CLRESPONSE:FREQ7Val`` command. + - ``.freq8val``: The ``POWer:POWer:CLRESPONSE:FREQ8Val`` command. + - ``.freq9val``: The ``POWer:POWer:CLRESPONSE:FREQ9Val`` command. + - ``.freq10val``: The ``POWer:POWer:CLRESPONSE:FREQ10Val`` command. + - ``.freq11val``: The ``POWer:POWer:CLRESPONSE:FREQ11Val`` command. + - ``.genipaddress``: The ``POWer:POWer:CLRESPONSE:GENIPADDress`` command. + - ``.generator``: The ``POWer:POWer:CLRESPONSE:GENerator`` command. + - ``.impedance``: The ``POWer:POWer:CLRESPONSE:IMPEDance`` command. + - ``.inputsource``: The ``POWer:POWer:CLRESPONSE:INPUTSOurce`` command. + - ``.mon``: The ``POWer:POWer:CLRESPONSE:MON`` command. + - ``.outputsource``: The ``POWer:POWer:CLRESPONSE:OUTPUTSOurce`` command. + - ``.ppd``: The ``POWer:POWer:CLRESPONSE:PPD`` command. + - ``.startfrequency``: The ``POWer:POWer:CLRESPONSE:STARTFREQuency`` command. + - ``.stopfrequency``: The ``POWer:POWer:CLRESPONSE:STOPFREQuency`` command. + - ``.testconnection``: The ``POWer:POWer:CLRESPONSE:TESTCONNection`` command. + """ + return self._clresponse + + @property + def cycleamp(self) -> PowerPowerItemCycleamp: + """Return the ``POWer:POWer:CYCLEAmp`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEAmp?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEAmp?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEAmp:INPUTSOurce`` command. + """ + return self._cycleamp + + @property + def cyclebase(self) -> PowerPowerItemCyclebase: + """Return the ``POWer:POWer:CYCLEBase`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEBase?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEBase?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEBase:INPUTSOurce`` command. + """ + return self._cyclebase + + @property + def cyclemax(self) -> PowerPowerItemCyclemax: + """Return the ``POWer:POWer:CYCLEMAX`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMAX?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEMAX?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEMAX:INPUTSOurce`` command. + """ + return self._cyclemax + + @property + def cyclemin(self) -> PowerPowerItemCyclemin: + """Return the ``POWer:POWer:CYCLEMin`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEMin?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEMin?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEMin:INPUTSOurce`` command. + """ + return self._cyclemin + + @property + def cyclepkpk(self) -> PowerPowerItemCyclepkpk: + """Return the ``POWer:POWer:CYCLEPKPK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLEPKPK?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLEPKPK?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:CYCLEPKPK:INPUTSOurce`` command. + """ + return self._cyclepkpk + + @property + def cycletop(self) -> PowerPowerItemCycletop: + """Return the ``POWer:POWer:CYCLETop`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:CYCLETop?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:CYCLETop?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:CYCLETop:INPUTSOurce`` command. + """ + return self._cycletop + + @property + def didt(self) -> PowerPowerItemDidt: + """Return the ``POWer:POWer:DIDT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DIDT?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DIDT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:DIDT:INPUTSOurce`` command. + - ``.sourceedgetype``: The ``POWer:POWer:DIDT:SOURCEEDGEType`` command. + """ + return self._didt + + @property + def dvdt(self) -> PowerPowerItemDvdt: + """Return the ``POWer:POWer:DVDT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:DVDT?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:DVDT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:DVDT:INPUTSOurce`` command. + - ``.sourceedgetype``: The ``POWer:POWer:DVDT:SOURCEEDGEType`` command. + """ + return self._dvdt + + @property + def efficiency(self) -> PowerPowerItemEfficiency: + """Return the ``POWer:POWer:EFFICIENCY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:EFFICIENCY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:EFFICIENCY?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputtype``: The ``POWer:POWer:EFFICIENCY:INPUTType`` command. + - ``.iout1source``: The ``POWer:POWer:EFFICIENCY:IOUT1SOUrce`` command. + - ``.iout2source``: The ``POWer:POWer:EFFICIENCY:IOUT2SOUrce`` command. + - ``.iout3source``: The ``POWer:POWer:EFFICIENCY:IOUT3SOUrce`` command. + - ``.isource``: The ``POWer:POWer:EFFICIENCY:ISOUrce`` command. + - ``.numofoutputs``: The ``POWer:POWer:EFFICIENCY:NUMOFOutputs`` command. + - ``.output1type``: The ``POWer:POWer:EFFICIENCY:OUTPUT1Type`` command. + - ``.output2type``: The ``POWer:POWer:EFFICIENCY:OUTPUT2Type`` command. + - ``.output3type``: The ``POWer:POWer:EFFICIENCY:OUTPUT3Type`` command. + - ``.outputtype``: The ``POWer:POWer:EFFICIENCY:OUTPUTType`` command. + - ``.vout1source``: The ``POWer:POWer:EFFICIENCY:VOUT1SOUrce`` command. + - ``.vout2source``: The ``POWer:POWer:EFFICIENCY:VOUT2SOUrce`` command. + - ``.vout3source``: The ``POWer:POWer:EFFICIENCY:VOUT3SOUrce`` command. + - ``.vsource``: The ``POWer:POWer:EFFICIENCY:VSOUrce`` command. + """ + return self._efficiency + + @property + def frequency(self) -> PowerPowerItemFrequency: + """Return the ``POWer:POWer:FREQUENCY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:FREQUENCY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:FREQUENCY?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edge``: The ``POWer:POWer:FREQUENCY:EDGe`` command. + - ``.inputsource``: The ``POWer:POWer:FREQUENCY:INPUTSOurce`` command. + """ + return self._frequency + + @property + def gating(self) -> PowerPowerItemGating: + """Return the ``POWer:POWer:GATing`` command. + + Description: + - This command sets or queries the gating type for the specified power measurement + number. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:GATing?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:GATing value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:GATing {NONE|CURSOR|SCREEN|LOGIC} + - POWer:POWer:GATing? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown on a power measurement badge in the UI. + - ``NONE`` makes measurement across the entire waveform record. + - ``CURSOR`` makes measurements on that portion of the waveform between the cursors. + Selecting Cursors opens cursors on the measurement source. Set the cursors so that the + waveform area of interest is in between the cursors. + - ``SCREEN`` takes measurements on that portion of the waveform shown in the display. + When Zoom is on, the display is the zoom window. + - ``LOGIC`` takes measurements only when the logical state of a specified waveform is + true. + + Sub-properties: + - ``.global``: The ``POWer:POWer:GATing:GLOBal`` command. + """ + return self._gating + + @property + def harmonics(self) -> PowerPowerItemHarmonics: + """Return the ``POWer:POWer:HARMONICS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:HARMONICS?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:HARMONICS?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.class``: The ``POWer:POWer:HARMONICS:CLASs`` command. + - ``.clfile``: The ``POWer:POWer:HARMONICS:CLFile`` command. + - ``.cmethod``: The ``POWer:POWer:HARMONICS:CMEThod`` command. + - ``.fundcurrent``: The ``POWer:POWer:HARMONICS:FUNDCURRent`` command. + - ``.horder``: The ``POWer:POWer:HARMONICS:HORDer`` command. + - ``.hsource``: The ``POWer:POWer:HARMONICS:HSOURce`` command. + - ``.ipower``: The ``POWer:POWer:HARMONICS:IPOWer`` command. + - ``.isource``: The ``POWer:POWer:HARMONICS:ISOURce`` command. + - ``.linefrequency``: The ``POWer:POWer:HARMONICS:LINEFREQUEncy`` command. + - ``.oddeven``: The ``POWer:POWer:HARMONICS:ODDEVen`` command. + - ``.pfactor``: The ``POWer:POWer:HARMONICS:PFACtor`` command. + - ``.powerrating``: The ``POWer:POWer:HARMONICS:POWERRating`` command. + - ``.rcurrent``: The ``POWer:POWer:HARMONICS:RCURRent`` command. + - ``.standard``: The ``POWer:POWer:HARMONICS:STANDard`` command. + - ``.startfrequency``: The ``POWer:POWer:HARMONICS:STARTFREQUEncy`` command. + - ``.units``: The ``POWer:POWer:HARMONICS:UNITs`` command. + - ``.vsource``: The ``POWer:POWer:HARMONICS:VSOURce`` command. + """ + return self._harmonics + + @property + def impedance(self) -> PowerPowerItemImpedance: + """Return the ``POWer:POWer:IMPEDANCE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IMPEDANCE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IMPEDANCE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``POWer`` is the number of the Impedance power measurement. + + Sub-properties: + - ``.ampmode``: The ``POWer:POWer:IMPEDANCE:AMPMode`` command. + - ``.amp1val``: The ``POWer:POWer:IMPEDANCE:AMP1Val`` command. + - ``.amp2val``: The ``POWer:POWer:IMPEDANCE:AMP2Val`` command. + - ``.amp3val``: The ``POWer:POWer:IMPEDANCE:AMP3Val`` command. + - ``.amp4val``: The ``POWer:POWer:IMPEDANCE:AMP4Val`` command. + - ``.amp5val``: The ``POWer:POWer:IMPEDANCE:AMP5Val`` command. + - ``.amp6val``: The ``POWer:POWer:IMPEDANCE:AMP6Val`` command. + - ``.amp7val``: The ``POWer:POWer:IMPEDANCE:AMP7Val`` command. + - ``.amp8val``: The ``POWer:POWer:IMPEDANCE:AMP8Val`` command. + - ``.amp9val``: The ``POWer:POWer:IMPEDANCE:AMP9Val`` command. + - ``.amp10val``: The ``POWer:POWer:IMPEDANCE:AMP10Val`` command. + - ``.analysismethod``: The ``POWer:POWer:IMPEDANCE:ANALYSISMethod`` command. + - ``.autorbw``: The ``POWer:POWer:IMPEDANCE:AUTORbw`` command. + - ``.connectstatus``: The ``POWer:POWer:IMPEDANCE:CONNECTSTATus`` command. + - ``.constamplitude``: The ``POWer:POWer:IMPEDANCE:CONSTAMPlitude`` command. + - ``.freq1val``: The ``POWer:POWer:IMPEDANCE:FREQ1Val`` command. + - ``.freq2val``: The ``POWer:POWer:IMPEDANCE:FREQ2Val`` command. + - ``.freq3val``: The ``POWer:POWer:IMPEDANCE:FREQ3Val`` command. + - ``.freq4val``: The ``POWer:POWer:IMPEDANCE:FREQ4Val`` command. + - ``.freq5val``: The ``POWer:POWer:IMPEDANCE:FREQ5Val`` command. + - ``.freq6val``: The ``POWer:POWer:IMPEDANCE:FREQ6Val`` command. + - ``.freq7val``: The ``POWer:POWer:IMPEDANCE:FREQ7Val`` command. + - ``.freq8val``: The ``POWer:POWer:IMPEDANCE:FREQ8Val`` command. + - ``.freq9val``: The ``POWer:POWer:IMPEDANCE:FREQ9Val`` command. + - ``.freq10val``: The ``POWer:POWer:IMPEDANCE:FREQ10Val`` command. + - ``.genipaddress``: The ``POWer:POWer:IMPEDANCE:GENIPADDress`` command. + - ``.generator``: The ``POWer:POWer:IMPEDANCE:GENerator`` command. + - ``.impedance``: The ``POWer:POWer:IMPEDANCE:IMPEDANCE`` command. + - ``.inputsource``: The ``POWer:POWer:IMPEDANCE:INPUTSOurce`` command. + - ``.outputsource``: The ``POWer:POWer:IMPEDANCE:OUTPUTSOurce`` command. + - ``.ppd``: The ``POWer:POWer:IMPEDANCE:PPD`` command. + - ``.startfrequency``: The ``POWer:POWer:IMPEDANCE:STARTFREQuency`` command. + - ``.stopfrequency``: The ``POWer:POWer:IMPEDANCE:STOPFREQuency`` command. + - ``.testconnection``: The ``POWer:POWer:IMPEDANCE:TESTCONNection`` command. + """ + return self._impedance + + @property + def inductance(self) -> PowerPowerItemInductance: + """Return the ``POWer:POWer:INDUCTANCE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INDUCTANCE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INDUCTANCE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edgesource``: The ``POWer:POWer:INDUCTANCE:EDGESource`` command. + - ``.isource``: The ``POWer:POWer:INDUCTANCE:ISOUrce`` command. + - ``.vsource``: The ``POWer:POWer:INDUCTANCE:VSOURce`` command. + """ + return self._inductance + + @property + def inputcap(self) -> PowerPowerItemInputcap: + """Return the ``POWer:POWer:INPUTCAP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INPUTCAP?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INPUTCAP?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.isource``: The ``POWer:POWer:INPUTCAP:ISOURce`` command. + - ``.peakcurrent``: The ``POWer:POWer:INPUTCAP:PEAKCURRent`` command. + - ``.peakvoltage``: The ``POWer:POWer:INPUTCAP:PEAKVOLTage`` command. + - ``.vsource``: The ``POWer:POWer:INPUTCAP:VSOURce`` command. + """ + return self._inputcap + + @property + def inrushcurrent(self) -> PowerPowerItemInrushcurrent: + """Return the ``POWer:POWer:INRUSHcurrent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:INRUSHcurrent?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:INRUSHcurrent?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:INRUSHcurrent:INPUTSOurce`` command. + - ``.peakcurrent``: The ``POWer:POWer:INRUSHcurrent:PEAKCURRent`` command. + """ + return self._inrushcurrent + + @property + def ivsintegralv(self) -> PowerPowerItemIvsintegralv: + """Return the ``POWer:POWer:IVSINTEGRALV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:IVSINTEGRALV?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:IVSINTEGRALV?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.isource``: The ``POWer:POWer:IVSINTEGRALV:ISOURce`` command. + - ``.vsource``: The ``POWer:POWer:IVSINTEGRALV:VSOURce`` command. + """ + return self._ivsintegralv + + @property + def label(self) -> PowerPowerItemLabel: + """Return the ``POWer:POWer:LABel`` command. + + Description: + - This command sets or queries the label for the specified power measurement. As the + label can contain non 7-bit ASCII text, it is stored in Percent Encoding format. The + power measurement badge is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:LABel value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:LABel + - POWer:POWer:LABel? + ``` + """ + return self._label + + @property + def lineripple(self) -> PowerPowerItemLineripple: + """Return the ``POWer:POWer:LINERIPPLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:LINERIPPLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:LINERIPPLE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:LINERIPPLE:INPUTSOurce`` command. + - ``.lfrequency``: The ``POWer:POWer:LINERIPPLE:LFREQuency`` command. + """ + return self._lineripple + + @property + def magneticloss(self) -> PowerPowerItemMagneticloss: + """Return the ``POWer:POWer:MAGNETICLOSS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGNETICLOSS?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGNETICLOSS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.isource``: The ``POWer:POWer:MAGNETICLOSS:ISOURce`` command. + - ``.vsource``: The ``POWer:POWer:MAGNETICLOSS:VSOURce`` command. + """ + return self._magneticloss + + @property + def magproperty(self) -> PowerPowerItemMagproperty: + """Return the ``POWer:POWer:MAGPROPERTY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:MAGPROPERTY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:MAGPROPERTY?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.areaofcrosssection``: The ``POWer:POWer:MAGPROPERTY:AREAofcrosssection`` + command. + - ``.edgesource``: The ``POWer:POWer:MAGPROPERTY:EDGESOURce`` command. + - ``.isource``: The ``POWer:POWer:MAGPROPERTY:ISOURce`` command. + - ``.length``: The ``POWer:POWer:MAGPROPERTY:LENgth`` command. + - ``.primaryturns``: The ``POWer:POWer:MAGPROPERTY:PRIMARYTURNs`` command. + - ``.sec1source``: The ``POWer:POWer:MAGPROPERTY:SEC1SOURce`` command. + - ``.sec1turns``: The ``POWer:POWer:MAGPROPERTY:SEC1TURNs`` command. + - ``.sec2source``: The ``POWer:POWer:MAGPROPERTY:SEC2SOURce`` command. + - ``.sec2turns``: The ``POWer:POWer:MAGPROPERTY:SEC2TURNs`` command. + - ``.sec3source``: The ``POWer:POWer:MAGPROPERTY:SEC3SOURce`` command. + - ``.sec3turns``: The ``POWer:POWer:MAGPROPERTY:SEC3TURNs`` command. + - ``.sec4source``: The ``POWer:POWer:MAGPROPERTY:SEC4SOURce`` command. + - ``.sec4turns``: The ``POWer:POWer:MAGPROPERTY:SEC4TURNs`` command. + - ``.sec5source``: The ``POWer:POWer:MAGPROPERTY:SEC5SOURce`` command. + - ``.sec5turns``: The ``POWer:POWer:MAGPROPERTY:SEC5TURNs`` command. + - ``.sec6source``: The ``POWer:POWer:MAGPROPERTY:SEC6SOURce`` command. + - ``.sec6turns``: The ``POWer:POWer:MAGPROPERTY:SEC6TURNs`` command. + - ``.secphase``: The ``POWer:POWer:MAGPROPERTY:SECPhase`` command. + - ``.secvolt``: The ``POWer:POWer:MAGPROPERTY:SECVolt`` command. + - ``.secwindings``: The ``POWer:POWer:MAGPROPERTY:SECWINDings`` command. + - ``.units``: The ``POWer:POWer:MAGPROPERTY:UNITs`` command. + - ``.vsource``: The ``POWer:POWer:MAGPROPERTY:VSOURce`` command. + """ + return self._magproperty + + @property + def ndutycycle(self) -> PowerPowerItemNdutycycle: + """Return the ``POWer:POWer:NDUTYCYCLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NDUTYCYCLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:NDUTYCYCLE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edgetype``: The ``POWer:POWer:NDUTYCYCLE:EDGEType`` command. + - ``.inputsource``: The ``POWer:POWer:NDUTYCYCLE:INPUTSOurce`` command. + """ + return self._ndutycycle + + @property + def npulsewidth(self) -> PowerPowerItemNpulsewidth: + """Return the ``POWer:POWer:NPULSEWIDTH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:NPULSEWIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:NPULSEWIDTH?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:NPULSEWIDTH:INPUTSOurce`` command. + """ + return self._npulsewidth + + @property + def pdutycycle(self) -> PowerPowerItemPdutycycle: + """Return the ``POWer:POWer:PDUTYCYCLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PDUTYCYCLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PDUTYCYCLE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edgetype``: The ``POWer:POWer:PDUTYCYCLE:EDGEType`` command. + - ``.inputsource``: The ``POWer:POWer:PDUTYCYCLE:INPUTSOurce`` command. + """ + return self._pdutycycle + + @property + def period(self) -> PowerPowerItemPeriod: + """Return the ``POWer:POWer:PERIOD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PERIOD?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PERIOD?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edge``: The ``POWer:POWer:PERIOD:EDGe`` command. + - ``.inputsource``: The ``POWer:POWer:PERIOD:INPUTSOurce`` command. + """ + return self._period + + @property + def powerquality(self) -> PowerPowerItemPowerquality: + """Return the ``POWer:POWer:POWERQUALITY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:POWERQUALITY?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:POWERQUALITY?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ccycles``: The ``POWer:POWer:POWERQUALITY:CCYCles`` command. + - ``.freference``: The ``POWer:POWer:POWERQUALITY:FREFerence`` command. + - ``.isource``: The ``POWer:POWer:POWERQUALITY:ISOURce`` command. + - ``.stype``: The ``POWer:POWer:POWERQUALITY:STYPe`` command. + - ``.vsource``: The ``POWer:POWer:POWERQUALITY:VSOURce`` command. + """ + return self._powerquality + + @property + def ppulsewidth(self) -> PowerPowerItemPpulsewidth: + """Return the ``POWer:POWer:PPULSEWIDTH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PPULSEWIDTH?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PPULSEWIDTH?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:PPULSEWIDTH:INPUTSOurce`` command. + """ + return self._ppulsewidth + + @property + def preset(self) -> PowerPowerItemPreset: + """Return the ``POWer:POWer:PRESET`` command. + + Description: + - This command runs a power preset action for the specified power measurement number. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:POWer:PRESET value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:PRESET {EXECute} + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ``EXECute`` runs the power preset action. + """ + return self._preset + + @property + def psrr(self) -> PowerPowerItemPsrr: + """Return the ``POWer:POWer:PSRR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:PSRR?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:PSRR?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ampmode``: The ``POWer:POWer:PSRR:AMPMode`` command. + - ``.amp1val``: The ``POWer:POWer:PSRR:AMP1Val`` command. + - ``.amp2val``: The ``POWer:POWer:PSRR:AMP2Val`` command. + - ``.amp3val``: The ``POWer:POWer:PSRR:AMP3Val`` command. + - ``.amp4val``: The ``POWer:POWer:PSRR:AMP4Val`` command. + - ``.amp5val``: The ``POWer:POWer:PSRR:AMP5Val`` command. + - ``.amp6val``: The ``POWer:POWer:PSRR:AMP6Val`` command. + - ``.amp7val``: The ``POWer:POWer:PSRR:AMP7Val`` command. + - ``.amp8val``: The ``POWer:POWer:PSRR:AMP8Val`` command. + - ``.amp9val``: The ``POWer:POWer:PSRR:AMP9Val`` command. + - ``.amp10val``: The ``POWer:POWer:PSRR:AMP10Val`` command. + - ``.analysismethod``: The ``POWer:POWer:PSRR:ANALYSISMethod`` command. + - ``.autorbw``: The ``POWer:POWer:PSRR:AUTORbw`` command. + - ``.connectstatus``: The ``POWer:POWer:PSRR:CONNECTSTATus`` command. + - ``.constamplitude``: The ``POWer:POWer:PSRR:CONSTAMPlitude`` command. + - ``.freq1val``: The ``POWer:POWer:PSRR:FREQ1Val`` command. + - ``.freq2val``: The ``POWer:POWer:PSRR:FREQ2Val`` command. + - ``.freq3val``: The ``POWer:POWer:PSRR:FREQ3Val`` command. + - ``.freq4val``: The ``POWer:POWer:PSRR:FREQ4Val`` command. + - ``.freq5val``: The ``POWer:POWer:PSRR:FREQ5Val`` command. + - ``.freq6val``: The ``POWer:POWer:PSRR:FREQ6Val`` command. + - ``.freq7val``: The ``POWer:POWer:PSRR:FREQ7Val`` command. + - ``.freq8val``: The ``POWer:POWer:PSRR:FREQ8Val`` command. + - ``.freq9val``: The ``POWer:POWer:PSRR:FREQ9Val`` command. + - ``.freq10val``: The ``POWer:POWer:PSRR:FREQ10Val`` command. + - ``.freq11val``: The ``POWer:POWer:PSRR:FREQ11Val`` command. + - ``.genipaddress``: The ``POWer:POWer:PSRR:GENIPADDress`` command. + - ``.generator``: The ``POWer:POWer:PSRR:GENerator`` command. + - ``.impedance``: The ``POWer:POWer:PSRR:IMPEDance`` command. + - ``.inputsource``: The ``POWer:POWer:PSRR:INPUTSOurce`` command. + - ``.outputsource``: The ``POWer:POWer:PSRR:OUTPUTSOurce`` command. + - ``.ppd``: The ``POWer:POWer:PSRR:PPD`` command. + - ``.startfrequency``: The ``POWer:POWer:PSRR:STARTFREQuency`` command. + - ``.stopfrequency``: The ``POWer:POWer:PSRR:STOPFREQuency`` command. + - ``.testconnection``: The ``POWer:POWer:PSRR:TESTCONNection`` command. + """ + return self._psrr + + @property + def rdson(self) -> PowerPowerItemRdson: + """Return the ``POWer:POWer:RDSON`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RDSON?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RDSON?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.devicetype``: The ``POWer:POWer:RDSON:DEVICEType`` command. + - ``.isource``: The ``POWer:POWer:RDSON:ISOURce`` command. + - ``.vsource``: The ``POWer:POWer:RDSON:VSOURce`` command. + """ + return self._rdson + + @property + def reflevels(self) -> PowerPowerItemReflevels: + """Return the ``POWer:POWer:REFLevels`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:REFLevels?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:REFLevels?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.absolute``: The ``POWer:POWer:REFLevels:ABSolute`` command tree. + - ``.basetop``: The ``POWer:POWer:REFLevels:BASETop`` command. + - ``.method``: The ``POWer:POWer:REFLevels:METHod`` command. + - ``.percent``: The ``POWer:POWer:REFLevels:PERCent`` command tree. + """ + return self._reflevels + + @property + def results(self) -> PowerPowerItemResults: + """Return the ``POWer:POWer:RESUlts`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:RESUlts?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:RESUlts?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.allacqs``: The ``POWer:POWer:RESUlts:ALLAcqs`` command tree. + - ``.currentacq``: The ``POWer:POWer:RESUlts:CURRentacq`` command tree. + """ + return self._results + + @property + def seqsetup(self) -> PowerPowerItemSeqsetup: + """Return the ``POWer:POWer:SEQSETup`` command. + + Description: + - This command sets up the instrument's horizontal, vertical, and trigger parameters to + optimize for taking the specified power measurement. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:POWer:SEQSETup value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SEQSETup Execute + ``` + + Info: + - ``POWer`` is the Power measurement identifier number. The number must be for a + power measurement that requires a single sequence acquisition. + - ``Execute`` sets the measurement to run an acquisition and acquire data for the + specified single sequence power measurement. + """ + return self._seqsetup + + @property + def sequence(self) -> PowerPowerItemSequence: + """Return the ``POWer:POWer:SEQuence`` command. + + Description: + - This command sets or queries the run state of a single sequence power measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SEQuence?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:SEQuence value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:SEQuence {RUN|RERUN} + - POWer:POWer:SEQuence? + ``` + + Info: + - ``POWer`` is the Power measurement identifier number. The number must be for a + power measurement that requires a single sequence acquisition. + - ``RUN`` sets the measurement to run an acquisition and acquire data for the specified + single sequence power measurement. + - ``RERUN`` sets the measurement to rerun an acquisition and acquire data for the + specified single sequence power measurement. + """ + return self._sequence + + @property + def soa(self) -> PowerPowerItemSoa: + """Return the ``POWer:POWer:SOA`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SOA?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SOA?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.isource``: The ``POWer:POWer:SOA:ISOURce`` command. + - ``.point``: The ``POWer:POWer:SOA:POINT`` command. + - ``.recallmask``: The ``POWer:POWer:SOA:RECAllmask`` command. + - ``.savemask``: The ``POWer:POWer:SOA:SAVemask`` command. + - ``.vsource``: The ``POWer:POWer:SOA:VSOURce`` command. + """ + return self._soa + + @property + def switchingloss(self) -> PowerPowerItemSwitchingloss: + """Return the ``POWer:POWer:SWITCHINGLOSS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGLOSS?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SWITCHINGLOSS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.devicetype``: The ``POWer:POWer:SWITCHINGLOSS:DEVICEType`` command. + - ``.gatesource``: The ``POWer:POWer:SWITCHINGLOSS:GATESOurce`` command. + - ``.ilevelabs``: The ``POWer:POWer:SWITCHINGLOSS:ILEVELAbs`` command. + - ``.ilevelpct``: The ``POWer:POWer:SWITCHINGLOSS:ILEVELPct`` command. + - ``.isource``: The ``POWer:POWer:SWITCHINGLOSS:ISOURce`` command. + - ``.levelunits``: The ``POWer:POWer:SWITCHINGLOSS:LEVELUNIts`` command. + - ``.rdson``: The ``POWer:POWer:SWITCHINGLOSS:RDSOn`` command. + - ``.swlconfigtype``: The ``POWer:POWer:SWITCHINGLOSS:SWLCONFIGType`` command. + - ``.vcesat``: The ``POWer:POWer:SWITCHINGLOSS:VCESat`` command. + - ``.vglevel``: The ``POWer:POWer:SWITCHINGLOSS:VGLevel`` command. + - ``.vlevelabs``: The ``POWer:POWer:SWITCHINGLOSS:VLEVELAbs`` command. + - ``.vlevelpct``: The ``POWer:POWer:SWITCHINGLOSS:VLEVELPct`` command. + - ``.vsource``: The ``POWer:POWer:SWITCHINGLOSS:VSOURce`` command. + """ + return self._switchingloss + + @property + def switchingripple(self) -> PowerPowerItemSwitchingripple: + """Return the ``POWer:POWer:SWITCHINGRIPPLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:SWITCHINGRIPPLE?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:SWITCHINGRIPPLE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.inputsource``: The ``POWer:POWer:SWITCHINGRIPPLE:INPUTSOurce`` command. + - ``.lfrequency``: The ``POWer:POWer:SWITCHINGRIPPLE:LFREQuency`` command. + """ + return self._switchingripple + + @property + def turnofftime(self) -> PowerPowerItemTurnofftime: + """Return the ``POWer:POWer:TURNOFFtime`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNOFFtime?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNOFFtime?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.frequency``: The ``POWer:POWer:TURNOFFtime:FREQuency`` command. + - ``.inputlevel``: The ``POWer:POWer:TURNOFFtime:INPUTLEVel`` command. + - ``.inputsource``: The ``POWer:POWer:TURNOFFtime:INPUTSOurce`` command. + - ``.maxtime``: The ``POWer:POWer:TURNOFFtime:MAXTIMe`` command. + - ``.maxvoltage``: The ``POWer:POWer:TURNOFFtime:MAXVoltage`` command. + - ``.numoutputs``: The ``POWer:POWer:TURNOFFtime:NUMOUTputs`` command. + - ``.output1source``: The ``POWer:POWer:TURNOFFtime:OUTPUT1SOURce`` command. + - ``.output1voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT1VOLTage`` command. + - ``.output2source``: The ``POWer:POWer:TURNOFFtime:OUTPUT2SOURce`` command. + - ``.output2voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT2VOLTage`` command. + - ``.output3source``: The ``POWer:POWer:TURNOFFtime:OUTPUT3SOURce`` command. + - ``.output3voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT3VOLTage`` command. + - ``.output4source``: The ``POWer:POWer:TURNOFFtime:OUTPUT4SOURce`` command. + - ``.output4voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT4VOLTage`` command. + - ``.output5source``: The ``POWer:POWer:TURNOFFtime:OUTPUT5SOURce`` command. + - ``.output5voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT5VOLTage`` command. + - ``.output6source``: The ``POWer:POWer:TURNOFFtime:OUTPUT6SOURce`` command. + - ``.output6voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT6VOLTage`` command. + - ``.output7source``: The ``POWer:POWer:TURNOFFtime:OUTPUT7SOURce`` command. + - ``.output7voltage``: The ``POWer:POWer:TURNOFFtime:OUTPUT7VOLTage`` command. + - ``.type``: The ``POWer:POWer:TURNOFFtime:TYPE`` command. + """ + return self._turnofftime + + @property + def turnontime(self) -> PowerPowerItemTurnontime: + """Return the ``POWer:POWer:TURNONtime`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TURNONtime?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TURNONtime?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.frequency``: The ``POWer:POWer:TURNONtime:FREQuency`` command. + - ``.inputlevel``: The ``POWer:POWer:TURNONtime:INPUTLEVel`` command. + - ``.inputsource``: The ``POWer:POWer:TURNONtime:INPUTSOurce`` command. + - ``.maxtime``: The ``POWer:POWer:TURNONtime:MAXTIMe`` command. + - ``.maxvoltage``: The ``POWer:POWer:TURNONtime:MAXVoltage`` command. + - ``.numoutputs``: The ``POWer:POWer:TURNONtime:NUMOUTputs`` command. + - ``.output1source``: The ``POWer:POWer:TURNONtime:OUTPUT1SOURce`` command. + - ``.output1voltage``: The ``POWer:POWer:TURNONtime:OUTPUT1VOLTage`` command. + - ``.output2source``: The ``POWer:POWer:TURNONtime:OUTPUT2SOURce`` command. + - ``.output2voltage``: The ``POWer:POWer:TURNONtime:OUTPUT2VOLTage`` command. + - ``.output3source``: The ``POWer:POWer:TURNONtime:OUTPUT3SOURce`` command. + - ``.output3voltage``: The ``POWer:POWer:TURNONtime:OUTPUT3VOLTage`` command. + - ``.output4source``: The ``POWer:POWer:TURNONtime:OUTPUT4SOURce`` command. + - ``.output4voltage``: The ``POWer:POWer:TURNONtime:OUTPUT4VOLTage`` command. + - ``.output5source``: The ``POWer:POWer:TURNONtime:OUTPUT5SOURce`` command. + - ``.output5voltage``: The ``POWer:POWer:TURNONtime:OUTPUT5VOLTage`` command. + - ``.output6source``: The ``POWer:POWer:TURNONtime:OUTPUT6SOURce`` command. + - ``.output6voltage``: The ``POWer:POWer:TURNONtime:OUTPUT6VOLTage`` command. + - ``.output7source``: The ``POWer:POWer:TURNONtime:OUTPUT7SOURce`` command. + - ``.output7voltage``: The ``POWer:POWer:TURNONtime:OUTPUT7VOLTage`` command. + - ``.type``: The ``POWer:POWer:TURNONtime:TYPE`` command. + """ + return self._turnontime + + @property + def type(self) -> PowerPowerItemType: + r"""Return the ``POWer:POWer:TYPe`` command. + + Description: + - This command sets or queries the measurement type of the specified power measurement + number. If the measurement number does not exist, this command creates a new power + measurement, assigns the specified measurement number to the new measurement, and then + assigns the measurement type to the new measurement. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer:TYPe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``POWer:POWer:TYPe value`` + command. + + SCPI Syntax: + ``` + - POWer:POWer:TYPe + - POWer:POWer:TYPe? + ``` + + Info: + - ``Power`` is the power measurement number. This is the equivalent of the number + shown in the UI for a power measurement badge. + - ```` = CYCLEAmp \| CYCLEBase \| CYCLEMAx \| CYCLEMIn \| CYCLEPKpk \| + CYCLETop \| DIDT \| DVDT \| EFFICIENCY \| FREQuency \| HARMonics \|IMPEDANCE\| + INDUCTANCE \| INPUTCAP \| INRUSHcurrent\| \| IVSINTEGRALV \| LINERIpple \| + MAGNETICLOSS \| MAGPROPERTY \| NDUTYCycle \| NPULSEWidth \| PDUTYCycle \| PERIod \| + POWERQUALity \| PPULSEWidth \| RDSON \| SOA \| SWITCHINGLOss \| SWITCHINGRIpple \| + TURNOFFtime \| TURNONtime\| CLRESPONSE \| PSRR. + """ + return self._type + + +class PowerDelete(SCPICmdWrite): + """The ``POWer:DELete`` command. + + Description: + - This command deletes the specified power measurement number. The power measurement number + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:DELete value`` command. + + SCPI Syntax: + ``` + - POWer:DELete 'POWER' + ``` + """ + + +class PowerAddnew(SCPICmdWrite): + """The ``POWer:ADDNew`` command. + + Description: + - This command adds the specified power measurement number. The power measurement number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:ADDNew value`` command. + + SCPI Syntax: + ``` + - POWer:ADDNew 'POWER' + ``` + """ + + +class Power(SCPICmdRead): + """The ``POWer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``POWer:ADDNew`` command. + - ``.delete``: The ``POWer:DELete`` command. + - ``.power``: The ``POWer:POWer`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "POWer") -> None: + super().__init__(device, cmd_syntax) + self._addnew = PowerAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._delete = PowerDelete(device, f"{self._cmd_syntax}:DELete") + self._power: Dict[int, PowerPowerItem] = DefaultDictPassKeyToFactory( + lambda x: PowerPowerItem(device, f"{self._cmd_syntax}:POWer{x}") + ) + + @property + def addnew(self) -> PowerAddnew: + """Return the ``POWer:ADDNew`` command. + + Description: + - This command adds the specified power measurement number. The power measurement number + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:ADDNew value`` command. + + SCPI Syntax: + ``` + - POWer:ADDNew 'POWER' + ``` + """ + return self._addnew + + @property + def delete(self) -> PowerDelete: + """Return the ``POWer:DELete`` command. + + Description: + - This command deletes the specified power measurement number. The power measurement + number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``POWer:DELete value`` command. + + SCPI Syntax: + ``` + - POWer:DELete 'POWER' + ``` + """ + return self._delete + + @property + def power(self) -> Dict[int, PowerPowerItem]: + """Return the ``POWer:POWer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer:POWer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer:POWer?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.autoset``: The ``POWer:POWer:AUTOSet`` command. + - ``.clresponse``: The ``POWer:POWer:CLRESPONSE`` command tree. + - ``.cycleamp``: The ``POWer:POWer:CYCLEAmp`` command tree. + - ``.cyclebase``: The ``POWer:POWer:CYCLEBase`` command tree. + - ``.cyclemax``: The ``POWer:POWer:CYCLEMAX`` command tree. + - ``.cyclemin``: The ``POWer:POWer:CYCLEMin`` command tree. + - ``.cyclepkpk``: The ``POWer:POWer:CYCLEPKPK`` command tree. + - ``.cycletop``: The ``POWer:POWer:CYCLETop`` command tree. + - ``.didt``: The ``POWer:POWer:DIDT`` command tree. + - ``.dvdt``: The ``POWer:POWer:DVDT`` command tree. + - ``.efficiency``: The ``POWer:POWer:EFFICIENCY`` command tree. + - ``.frequency``: The ``POWer:POWer:FREQUENCY`` command tree. + - ``.gating``: The ``POWer:POWer:GATing`` command. + - ``.harmonics``: The ``POWer:POWer:HARMONICS`` command tree. + - ``.impedance``: The ``POWer:POWer:IMPEDANCE`` command tree. + - ``.inductance``: The ``POWer:POWer:INDUCTANCE`` command tree. + - ``.inputcap``: The ``POWer:POWer:INPUTCAP`` command tree. + - ``.inrushcurrent``: The ``POWer:POWer:INRUSHcurrent`` command tree. + - ``.ivsintegralv``: The ``POWer:POWer:IVSINTEGRALV`` command tree. + - ``.label``: The ``POWer:POWer:LABel`` command. + - ``.lineripple``: The ``POWer:POWer:LINERIPPLE`` command tree. + - ``.magneticloss``: The ``POWer:POWer:MAGNETICLOSS`` command tree. + - ``.magproperty``: The ``POWer:POWer:MAGPROPERTY`` command tree. + - ``.ndutycycle``: The ``POWer:POWer:NDUTYCYCLE`` command tree. + - ``.npulsewidth``: The ``POWer:POWer:NPULSEWIDTH`` command tree. + - ``.pdutycycle``: The ``POWer:POWer:PDUTYCYCLE`` command tree. + - ``.period``: The ``POWer:POWer:PERIOD`` command tree. + - ``.powerquality``: The ``POWer:POWer:POWERQUALITY`` command tree. + - ``.ppulsewidth``: The ``POWer:POWer:PPULSEWIDTH`` command tree. + - ``.preset``: The ``POWer:POWer:PRESET`` command. + - ``.psrr``: The ``POWer:POWer:PSRR`` command tree. + - ``.rdson``: The ``POWer:POWer:RDSON`` command tree. + - ``.reflevels``: The ``POWer:POWer:REFLevels`` command tree. + - ``.results``: The ``POWer:POWer:RESUlts`` command tree. + - ``.seqsetup``: The ``POWer:POWer:SEQSETup`` command. + - ``.sequence``: The ``POWer:POWer:SEQuence`` command. + - ``.soa``: The ``POWer:POWer:SOA`` command tree. + - ``.switchingloss``: The ``POWer:POWer:SWITCHINGLOSS`` command tree. + - ``.switchingripple``: The ``POWer:POWer:SWITCHINGRIPPLE`` command tree. + - ``.turnofftime``: The ``POWer:POWer:TURNOFFtime`` command tree. + - ``.turnontime``: The ``POWer:POWer:TURNONtime`` command tree. + - ``.type``: The ``POWer:POWer:TYPe`` command. + """ + return self._power diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/ref.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/ref.py new file mode 100644 index 00000000..67be9bea --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/ref.py @@ -0,0 +1,831 @@ +"""The ref commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - REF:ADDNew + - REF:DELete + - REF:LIST? + - REF:REF:DESKew + - REF:REF:LABel:COLor + - REF:REF:LABel:FONT:BOLD {ON|OFF|} + - REF:REF:LABel:FONT:ITALic {ON|OFF|} + - REF:REF:LABel:FONT:SIZE + - REF:REF:LABel:FONT:TYPE + - REF:REF:LABel:FONT:UNDERline {ON|OFF|} + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + - REF:REF:SOUrce + - REF:REF:SOUrce? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class RefRefItemSource(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:SOUrce`` command. + + Description: + - This command sets or queries the filename used by the given reference. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:SOUrce?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. + + SCPI Syntax: + ``` + - REF:REF:SOUrce + - REF:REF:SOUrce? + ``` + + Info: + - ```` is the reference file name. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:YPOS`` command. + + Description: + - This command sets or queries the Y-position of the label (attached to the displayed + waveform of the specified reference), relative to the baseline of the waveform. The + reference waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` command. + + SCPI Syntax: + ``` + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + ``` + + Info: + - ```` is the location where the waveform label for the selected reference is + displayed, relative to the baseline of the waveform. + """ + + +class RefRefItemLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:XPOS`` command. + + Description: + - This command sets or queries the X-position at which the label (attached to the displayed + waveform of the specified reference) is displayed, relative to the left edge of the + waveview. The reference waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` command. + + SCPI Syntax: + ``` + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + ``` + + Info: + - ```` is the location (control in divisions) where the waveform label for the selected + reference is displayed, relative to the left edge of the screen. + """ + + +class RefRefItemLabelName(SCPICmdWrite, SCPICmdRead): + """The ``REF:REF:LABel:NAMe`` command. + + Description: + - This command sets or queries the label of the specified reference. The reference waveform + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` command. + + SCPI Syntax: + ``` + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + ``` + + Info: + - ```` is the character string that will be used for the reference waveform label + name. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelFontUnderline(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:UNDERline value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:UNDERline {ON|OFF|} + ``` + + Info: + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + + +class RefRefItemLabelFontType(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified reference label, such as Arial + or Times New Roman. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:TYPE + ``` + + Info: + - ```` is the font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabelFontSize(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:SIZE + ``` + + Info: + - ```` is the font size of the label. + """ + + +class RefRefItemLabelFontItalic(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:ITALic {ON|OFF|} + ``` + + Info: + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + + +class RefRefItemLabelFontBold(SCPICmdWrite): + """The ``REF:REF:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:BOLD {ON|OFF|} + ``` + + Info: + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + + +class RefRefItemLabelFont(SCPICmdRead): + """The ``REF:REF:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = RefRefItemLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = RefRefItemLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = RefRefItemLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = RefRefItemLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = RefRefItemLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> RefRefItemLabelFontBold: + """Return the ``REF:REF:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:BOLD {ON|OFF|} + ``` + + Info: + - ```` = 0 disables bold font; any other value turns this feature on. + - ``OFF`` disables bold font. + - ``ON`` enables bold font. + """ + return self._bold + + @property + def italic(self) -> RefRefItemLabelFontItalic: + """Return the ``REF:REF:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the + ``REF:REF:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:ITALic {ON|OFF|} + ``` + + Info: + - ```` = 0 disables italic font; any other value turns this feature on. + - ``OFF`` disables italic font. + - ``ON`` enables italic font. + """ + return self._italic + + @property + def size(self) -> RefRefItemLabelFontSize: + """Return the ``REF:REF:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:SIZE + ``` + + Info: + - ```` is the font size of the label. + """ + return self._size + + @property + def type(self) -> RefRefItemLabelFontType: + """Return the ``REF:REF:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified reference label, such as + Arial or Times New Roman. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:TYPE + ``` + + Info: + - ```` is the font type. + """ + return self._type + + @property + def underline(self) -> RefRefItemLabelFontUnderline: + """Return the ``REF:REF:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified reference label. + + Usage: + - Using the ``.write(value)`` method will send the + ``REF:REF:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - REF:REF:LABel:FONT:UNDERline {ON|OFF|} + ``` + + Info: + - ```` = 0 disables underline font; any other value turns this feature on. + - ``OFF`` disables underline font. + - ``ON`` enables underline font. + """ + return self._underline + + +class RefRefItemLabelColor(SCPICmdWrite): + """The ``REF:REF:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified ref label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` command. + + SCPI Syntax: + ``` + - REF:REF:LABel:COLor + ``` + + Info: + - ```` is the label. To return the color to the default color, send an empty string + as in this example: ``:REF:REF1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefRefItemLabel(SCPICmdRead): + """The ``REF:REF:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``REF:REF:LABel:COLor`` command. + - ``.font``: The ``REF:REF:LABel:FONT`` command tree. + - ``.name``: The ``REF:REF:LABel:NAMe`` command. + - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. + - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = RefRefItemLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = RefRefItemLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = RefRefItemLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = RefRefItemLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = RefRefItemLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> RefRefItemLabelColor: + """Return the ``REF:REF:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified ref label. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:COLor + ``` + + Info: + - ```` is the label. To return the color to the default color, send an empty + string as in this example: ``:REF:REF1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> RefRefItemLabelFont: + """Return the ``REF:REF:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``REF:REF:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF:REF:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF:REF:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF:REF:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF:REF:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> RefRefItemLabelName: + """Return the ``REF:REF:LABel:NAMe`` command. + + Description: + - This command sets or queries the label of the specified reference. The reference + waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:NAMe + - REF:REF:LABel:NAMe? + ``` + + Info: + - ```` is the character string that will be used for the reference waveform + label name. + """ + return self._name + + @property + def xpos(self) -> RefRefItemLabelXpos: + """Return the ``REF:REF:LABel:XPOS`` command. + + Description: + - This command sets or queries the X-position at which the label (attached to the + displayed waveform of the specified reference) is displayed, relative to the left edge + of the waveview. The reference waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:XPOS + - REF:REF:LABel:XPOS? + ``` + + Info: + - ```` is the location (control in divisions) where the waveform label for the + selected reference is displayed, relative to the left edge of the screen. + """ + return self._xpos + + @property + def ypos(self) -> RefRefItemLabelYpos: + """Return the ``REF:REF:LABel:YPOS`` command. + + Description: + - This command sets or queries the Y-position of the label (attached to the displayed + waveform of the specified reference), relative to the baseline of the waveform. The + reference waveform is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - REF:REF:LABel:YPOS + - REF:REF:LABel:YPOS? + ``` + + Info: + - ```` is the location where the waveform label for the selected reference is + displayed, relative to the baseline of the waveform. + """ + return self._ypos + + +class RefRefItemDeskew(SCPICmdWrite): + """The ``REF:REF:DESKew`` command. + + Description: + - This command sets or queries the deskew value used for the specified reference. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. + + SCPI Syntax: + ``` + - REF:REF:DESKew + ``` + + Info: + - ```` is the deskew value used for the specified reference. + """ + + +class RefRefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REF:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.deskew``: The ``REF:REF:DESKew`` command. + - ``.label``: The ``REF:REF:LABel`` command tree. + - ``.source``: The ``REF:REF:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._deskew = RefRefItemDeskew(device, f"{self._cmd_syntax}:DESKew") + self._label = RefRefItemLabel(device, f"{self._cmd_syntax}:LABel") + self._source = RefRefItemSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def deskew(self) -> RefRefItemDeskew: + """Return the ``REF:REF:DESKew`` command. + + Description: + - This command sets or queries the deskew value used for the specified reference. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:REF:DESKew value`` command. + + SCPI Syntax: + ``` + - REF:REF:DESKew + ``` + + Info: + - ```` is the deskew value used for the specified reference. + """ + return self._deskew + + @property + def label(self) -> RefRefItemLabel: + """Return the ``REF:REF:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``REF:REF:LABel:COLor`` command. + - ``.font``: The ``REF:REF:LABel:FONT`` command tree. + - ``.name``: The ``REF:REF:LABel:NAMe`` command. + - ``.xpos``: The ``REF:REF:LABel:XPOS`` command. + - ``.ypos``: The ``REF:REF:LABel:YPOS`` command. + """ + return self._label + + @property + def source(self) -> RefRefItemSource: + """Return the ``REF:REF:SOUrce`` command. + + Description: + - This command sets or queries the filename used by the given reference. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF:REF:SOUrce value`` command. + + SCPI Syntax: + ``` + - REF:REF:SOUrce + - REF:REF:SOUrce? + ``` + + Info: + - ```` is the reference file name. + """ + return self._source + + +class RefList(SCPICmdRead): + """The ``REF:LIST`` command. + + Description: + - This command returns a comma separated list of all currently defined references. + + Usage: + - Using the ``.query()`` method will send the ``REF:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REF:LIST? + ``` + """ + + +class RefDelete(SCPICmdWrite): + """The ``REF:DELete`` command. + + Description: + - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. + + SCPI Syntax: + ``` + - REF:DELete + ``` + + Info: + - ```` is the specified reference. Argument is of the form 'REF', where NR1 ≥ + 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefAddnew(SCPICmdWrite): + """The ``REF:ADDNew`` command. + + Description: + - This command adds the specified reference. Argument is of the form 'REF ', where NR1 + ≥ 1. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. + + SCPI Syntax: + ``` + - REF:ADDNew + ``` + + Info: + - ```` is the specified reference. Argument is of the form 'REF ', where NR1 ≥ + 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Ref(SCPICmdRead): + """The ``REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``REF:ADDNew`` command. + - ``.delete``: The ``REF:DELete`` command. + - ``.list``: The ``REF:LIST`` command. + - ``.ref``: The ``REF:REF`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REF") -> None: + super().__init__(device, cmd_syntax) + self._addnew = RefAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._delete = RefDelete(device, f"{self._cmd_syntax}:DELete") + self._list = RefList(device, f"{self._cmd_syntax}:LIST") + self._ref: Dict[int, RefRefItem] = DefaultDictPassKeyToFactory( + lambda x: RefRefItem(device, f"{self._cmd_syntax}:REF{x}") + ) + + @property + def addnew(self) -> RefAddnew: + """Return the ``REF:ADDNew`` command. + + Description: + - This command adds the specified reference. Argument is of the form 'REF ', where + NR1 ≥ 1. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:ADDNew value`` command. + + SCPI Syntax: + ``` + - REF:ADDNew + ``` + + Info: + - ```` is the specified reference. Argument is of the form 'REF ', where + NR1 ≥ 1. + """ + return self._addnew + + @property + def delete(self) -> RefDelete: + """Return the ``REF:DELete`` command. + + Description: + - Deletes the specified reference. Argument is of the form 'REF', where NR1 ≥ 1. + + Usage: + - Using the ``.write(value)`` method will send the ``REF:DELete value`` command. + + SCPI Syntax: + ``` + - REF:DELete + ``` + + Info: + - ```` is the specified reference. Argument is of the form 'REF', where + NR1 ≥ 1. + """ + return self._delete + + @property + def list(self) -> RefList: + """Return the ``REF:LIST`` command. + + Description: + - This command returns a comma separated list of all currently defined references. + + Usage: + - Using the ``.query()`` method will send the ``REF:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``REF:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REF:LIST? + ``` + """ + return self._list + + @property + def ref(self) -> Dict[int, RefRefItem]: + """Return the ``REF:REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF:REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.deskew``: The ``REF:REF:DESKew`` command. + - ``.label``: The ``REF:REF:LABel`` command tree. + - ``.source``: The ``REF:REF:SOUrce`` command. + """ + return self._ref diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/remote.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/remote.py new file mode 100644 index 00000000..eab1d3f0 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/remote.py @@ -0,0 +1,3117 @@ +"""The remote commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - REMOTE:ACQMethod {CONTINuous|SINGLE|SEQuence} + - REMOTE:ACQMethod? + - REMOTE:ACQStatus? + - REMOTE:ACQUIRE + - REMOTE:ADDNew + - REMOTE:COMMInter {Visa|Socket} + - REMOTE:COMMInter? + - REMOTE:CONTROL + - REMOTE:CONTROL? + - REMOTE:DELEte + - REMOTE:LOGGING {START|PAUSE|STOP} + - REMOTE:LOGGING? + - REMOTE:NUMACq? + - REMOTE:S_CH:DIGGRP:D:THReshold + - REMOTE:S_CH:DIGGRP:D:THReshold? + - REMOTE:S_CH:DIGGRP:THReshold + - REMOTE:S_CH:DIGGRP:THReshold? + - REMOTE:S_CH:PROBETYPE? + - REMOTE:S_CH:SELect:DIGGRP:Dall {ON|OFF|} + - REMOTE:S_CH:SELect:DIGGRP:Dall? + - REMOTE:S_CH:STAte + - REMOTE:S_CH:STAte? + - REMOTE:S_CH:SV:CENTERFrequency + - REMOTE:S_CH:SV:CENTERFrequency? + - REMOTE:S_CH:SV:POSition + - REMOTE:S_CH:SV:POSition? + - REMOTE:S_CH:SV:STARTFrequency? + - REMOTE:S_CH:SV:STATE {ON|OFF} + - REMOTE:S_CH:SV:STATE? + - REMOTE:S_CH:SV:STOPFrequency? + - REMOTE:S_DCH:D:THReshold + - REMOTE:S_DCH:D:THReshold? + - REMOTE:S_DCH:GROUPTHReshold + - REMOTE:S_DCH:GROUPTHReshold? + - REMOTE:S_DCH:SELect:DAll {ON|OFF|} + - REMOTE:S_DCH:SELect:DAll? + - REMOTE:SCOPe:BANDWidth? + - REMOTE:SCOPe:CONNECT + - REMOTE:SCOPe:CONNECTIONMessage? + - REMOTE:SCOPe:CONNECTIONState? + - REMOTE:SCOPe:DISCONNECT + - REMOTE:SCOPe:HORizontal:FASTframe:COUNt? + - REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames? + - REMOTE:SCOPe:HORizontal:FASTframe:SELECTED? + - REMOTE:SCOPe:HORizontal:FASTframe:STATE? + - REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE? + - REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame? + - REMOTE:SCOPe:IPADDress + - REMOTE:SCOPe:IPADDress? + - REMOTE:SCOPe:MODELname? + - REMOTE:SCOPe:PORT + - REMOTE:SCOPe:PORT? + - REMOTE:SCOPe:SYNC + - REMOTE:SCOPe:State? + - REMOTE:SCOPe:VISACONNectiontype {Network|USB} + - REMOTE:SCOPe:VISACONNectiontype? + - REMOTE:SEQuence:CURrent? + - REMOTE:SEQuence:NUMSEQuence + - REMOTE:SEQuence:NUMSEQuence? + - REMOTE:SV:RBW + - REMOTE:SV:RBW? + - REMOTE:SV:RBWMode {AUTOmatic|MANual} + - REMOTE:SV:RBWMode? + - REMOTE:SV:SPAN + - REMOTE:SV:SPAN? + - REMOTE:SV:SPANRBWRatio + - REMOTE:SV:SPANRBWRatio? + - REMOTE:SV:WINDOW {KAISerbessel|RECTangular|HAMMing|HANNing|BLACkmanharris|FLATtop2} + - REMOTE:SV:WINDOW? + - REMOTE:USBDEscriptors {Usb} + - REMOTE:USBDEscriptors? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDigitalBit, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class RemoteUsbdescriptors(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:USBDEscriptors`` command. + + Description: + - This command sets or queries the USB descriptors available for remote connection. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:USBDEscriptors?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:USBDEscriptors?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:USBDEscriptors value`` command. + + SCPI Syntax: + ``` + - REMOTE:USBDEscriptors {Usb} + - REMOTE:USBDEscriptors? + ``` + + Info: + - ``Usb0`` sets the usb address of the first specified scope. + - ``Usb1`` sets the usb address of the second specified scope. + """ + + +class RemoteSvWindow(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SV:WINDOW`` command. + + Description: + - This command sets or queries the window type used by the windowing function of the + Spectrum View. The windowing function is a Fast Fourier Transform (FFT) technique used to + minimize the discontinuities between successive frames of an RF time domain signal. The + default window type is Blackman-Harris. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:WINDOW?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:WINDOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:WINDOW value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:WINDOW {KAISerbessel|RECTangular|HAMMing|HANNing|BLACkmanharris|FLATtop2} + - REMOTE:SV:WINDOW? + ``` + + Info: + - ``KAISerbessel`` specifies the Kaiser-Bessel window type (a high or moderate resolution + window). + - ``RECTangular`` specifies the Rectangular window type (a window function is equivalent to + multiplying all gate data by one). + - ``HAMMing`` specifies the Hamming window type (a high or moderate resolution window based + on a cosine series). + - ``HANNing`` specifies the Hanning window type (a high or moderate resolution window based + on a cosine series). + - ``BLACkmanharris`` specifies the Blackman-Harris window type (a low-resolution (high + dynamic range) window based on a cosine series). + - ``FLATtop2`` specifies the Flattop2 window type (a low-resolution (high dynamic range) + window). + """ + + +class RemoteSvSpanrbwratio(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SV:SPANRBWRatio`` command. + + Description: + - This command sets or queries the ratio of the span to the resolution bandwidth (RBW) that + will be used when the RBW Mode is set to AUTO. The span is the width of the frequency + domain trace in Hz, which is equal to the stop frequency minus the start frequency. The + RBW is the width of the narrowest measurable band of frequencies in a frequency domain + trace. The default RBW ratio is 1000 : 1. Use the command ``REMOTE:SV:RBWMode`` to set the + RBW Mode to Automatic. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:SPANRBWRatio?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:SPANRBWRatio?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:SPANRBWRatio value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:SPANRBWRatio + - REMOTE:SV:SPANRBWRatio? + ``` + + Info: + - ```` specifies the span-to-RBW ratio. + """ + + +class RemoteSvSpan(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SV:SPAN`` command. + + Description: + - This command sets or queries the span setting for all channels in the Spectrum View. The + span is the range of frequencies that can be observed centered on the center frequency. + This is the width of the frequency domain trace, which is from the center frequency - + ½span to the center frequency + ½ span. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:SPAN?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:SPAN?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:SPAN value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:SPAN + - REMOTE:SV:SPAN? + ``` + + Info: + - ```` specifies the span value in Hz. + """ + + +class RemoteSvRbwmode(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SV:RBWMode`` command. + + Description: + - This command sets or queries the resolution bandwidth (RBW) mode, either Automatic or + Manual. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:RBWMode?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:RBWMode?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:RBWMode value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:RBWMode {AUTOmatic|MANual} + - REMOTE:SV:RBWMode? + ``` + + Info: + - ``AUTOmatic`` specifies the resolution bandwidth automatically as the span is changed. The + default behavior is ``1000:1``, but you can set it to other values in a 1-2-5 sequence + (e.g. 10000, 20000, 50000). To specify the RBW ratio that will be used when the mode is + set to automatic, use the command ``REMOTE:SV:SPANRBWRatio``. + - ``MANual`` specifies to set the resolution bandwidth, independently from the span, using + the command ``REMOTE:SV:RBW``. + """ + + +class RemoteSvRbw(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SV:RBW`` command. + + Description: + - This command sets or queries the resolution bandwidth (RBW) when the RBW mode has been set + to MANUAL (using the command ``REMOTE:SV:RBWMode``). The resolution bandwidth is the width + of the narrowest measurable band of frequencies in a Spectrum View trace. By default, the + RBW tracks the span value in a ``1000:1`` ratio. The RBW determines the level to which the + instrument can resolve individual frequencies in the frequency domain. For example, if the + input signal contains two carriers separated by 1 kHz, you will not be able to + discriminate between them unless the RBW is less than 1 kHz. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:RBW?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:RBW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:RBW value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:RBW + - REMOTE:SV:RBW? + ``` + + Info: + - ```` specifies the width of the narrowest measurable band of frequencies in a + Spectrum View trace, in Hz. + """ + + +class RemoteSv(SCPICmdRead): + """The ``REMOTE:SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rbw``: The ``REMOTE:SV:RBW`` command. + - ``.rbwmode``: The ``REMOTE:SV:RBWMode`` command. + - ``.span``: The ``REMOTE:SV:SPAN`` command. + - ``.spanrbwratio``: The ``REMOTE:SV:SPANRBWRatio`` command. + - ``.window``: The ``REMOTE:SV:WINDOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rbw = RemoteSvRbw(device, f"{self._cmd_syntax}:RBW") + self._rbwmode = RemoteSvRbwmode(device, f"{self._cmd_syntax}:RBWMode") + self._span = RemoteSvSpan(device, f"{self._cmd_syntax}:SPAN") + self._spanrbwratio = RemoteSvSpanrbwratio(device, f"{self._cmd_syntax}:SPANRBWRatio") + self._window = RemoteSvWindow(device, f"{self._cmd_syntax}:WINDOW") + + @property + def rbw(self) -> RemoteSvRbw: + """Return the ``REMOTE:SV:RBW`` command. + + Description: + - This command sets or queries the resolution bandwidth (RBW) when the RBW mode has been + set to MANUAL (using the command ``REMOTE:SV:RBWMode``). The resolution bandwidth is + the width of the narrowest measurable band of frequencies in a Spectrum View trace. By + default, the RBW tracks the span value in a ``1000:1`` ratio. The RBW determines the + level to which the instrument can resolve individual frequencies in the frequency + domain. For example, if the input signal contains two carriers separated by 1 kHz, you + will not be able to discriminate between them unless the RBW is less than 1 kHz. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:RBW?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:RBW?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:RBW value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:RBW + - REMOTE:SV:RBW? + ``` + + Info: + - ```` specifies the width of the narrowest measurable band of frequencies in a + Spectrum View trace, in Hz. + """ + return self._rbw + + @property + def rbwmode(self) -> RemoteSvRbwmode: + """Return the ``REMOTE:SV:RBWMode`` command. + + Description: + - This command sets or queries the resolution bandwidth (RBW) mode, either Automatic or + Manual. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:RBWMode?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:RBWMode?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:RBWMode value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:RBWMode {AUTOmatic|MANual} + - REMOTE:SV:RBWMode? + ``` + + Info: + - ``AUTOmatic`` specifies the resolution bandwidth automatically as the span is changed. + The default behavior is ``1000:1``, but you can set it to other values in a 1-2-5 + sequence (e.g. 10000, 20000, 50000). To specify the RBW ratio that will be used when + the mode is set to automatic, use the command ``REMOTE:SV:SPANRBWRatio``. + - ``MANual`` specifies to set the resolution bandwidth, independently from the span, + using the command ``REMOTE:SV:RBW``. + """ + return self._rbwmode + + @property + def span(self) -> RemoteSvSpan: + """Return the ``REMOTE:SV:SPAN`` command. + + Description: + - This command sets or queries the span setting for all channels in the Spectrum View. + The span is the range of frequencies that can be observed centered on the center + frequency. This is the width of the frequency domain trace, which is from the center + frequency - ½span to the center frequency + ½ span. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:SPAN?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:SPAN?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:SPAN value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:SPAN + - REMOTE:SV:SPAN? + ``` + + Info: + - ```` specifies the span value in Hz. + """ + return self._span + + @property + def spanrbwratio(self) -> RemoteSvSpanrbwratio: + """Return the ``REMOTE:SV:SPANRBWRatio`` command. + + Description: + - This command sets or queries the ratio of the span to the resolution bandwidth (RBW) + that will be used when the RBW Mode is set to AUTO. The span is the width of the + frequency domain trace in Hz, which is equal to the stop frequency minus the start + frequency. The RBW is the width of the narrowest measurable band of frequencies in a + frequency domain trace. The default RBW ratio is 1000 : 1. Use the command + ``REMOTE:SV:RBWMode`` to set the RBW Mode to Automatic. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:SPANRBWRatio?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:SPANRBWRatio?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:SPANRBWRatio value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SV:SPANRBWRatio + - REMOTE:SV:SPANRBWRatio? + ``` + + Info: + - ```` specifies the span-to-RBW ratio. + """ + return self._spanrbwratio + + @property + def window(self) -> RemoteSvWindow: + """Return the ``REMOTE:SV:WINDOW`` command. + + Description: + - This command sets or queries the window type used by the windowing function of the + Spectrum View. The windowing function is a Fast Fourier Transform (FFT) technique used + to minimize the discontinuities between successive frames of an RF time domain signal. + The default window type is Blackman-Harris. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV:WINDOW?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV:WINDOW?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SV:WINDOW value`` command. + + SCPI Syntax: + ``` + - REMOTE:SV:WINDOW {KAISerbessel|RECTangular|HAMMing|HANNing|BLACkmanharris|FLATtop2} + - REMOTE:SV:WINDOW? + ``` + + Info: + - ``KAISerbessel`` specifies the Kaiser-Bessel window type (a high or moderate + resolution window). + - ``RECTangular`` specifies the Rectangular window type (a window function is equivalent + to multiplying all gate data by one). + - ``HAMMing`` specifies the Hamming window type (a high or moderate resolution window + based on a cosine series). + - ``HANNing`` specifies the Hanning window type (a high or moderate resolution window + based on a cosine series). + - ``BLACkmanharris`` specifies the Blackman-Harris window type (a low-resolution (high + dynamic range) window based on a cosine series). + - ``FLATtop2`` specifies the Flattop2 window type (a low-resolution (high dynamic range) + window). + """ + return self._window + + +class RemoteSequenceNumsequence(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SEQuence:NUMSEQuence`` command. + + Description: + - In single sequence acquisition mode, specify the number of acquisitions or measurements + that comprise the sequence. The default is 1. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SEQuence:NUMSEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SEQuence:NUMSEQuence?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SEQuence:NUMSEQuence value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SEQuence:NUMSEQuence + - REMOTE:SEQuence:NUMSEQuence? + ``` + + Info: + - ```` is the number of acquisitions or measurements that comprise the sequence. + """ + + +class RemoteSequenceCurrent(SCPICmdRead): + """The ``REMOTE:SEQuence:CURrent`` command. + + Description: + - In single sequence acquisition mode, this query returns the number of acquisitions or + measurements in the sequence completed so far. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SEQuence:CURrent?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SEQuence:CURrent?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SEQuence:CURrent? + ``` + """ + + +class RemoteSequence(SCPICmdRead): + """The ``REMOTE:SEQuence`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SEQuence?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.current``: The ``REMOTE:SEQuence:CURrent`` command. + - ``.numsequence``: The ``REMOTE:SEQuence:NUMSEQuence`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._current = RemoteSequenceCurrent(device, f"{self._cmd_syntax}:CURrent") + self._numsequence = RemoteSequenceNumsequence(device, f"{self._cmd_syntax}:NUMSEQuence") + + @property + def current(self) -> RemoteSequenceCurrent: + """Return the ``REMOTE:SEQuence:CURrent`` command. + + Description: + - In single sequence acquisition mode, this query returns the number of acquisitions or + measurements in the sequence completed so far. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SEQuence:CURrent?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SEQuence:CURrent?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SEQuence:CURrent? + ``` + """ + return self._current + + @property + def numsequence(self) -> RemoteSequenceNumsequence: + """Return the ``REMOTE:SEQuence:NUMSEQuence`` command. + + Description: + - In single sequence acquisition mode, specify the number of acquisitions or + measurements that comprise the sequence. The default is 1. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SEQuence:NUMSEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SEQuence:NUMSEQuence?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SEQuence:NUMSEQuence value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SEQuence:NUMSEQuence + - REMOTE:SEQuence:NUMSEQuence? + ``` + + Info: + - ```` is the number of acquisitions or measurements that comprise the sequence. + """ + return self._numsequence + + +class RemoteScopeItemVisaconnectiontype(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SCOPe:VISACONNectiontype`` command. + + Description: + - This command sets or queries VISA connection type for remote scope connection. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:VISACONNectiontype?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:VISACONNectiontype?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:SCOPe:VISACONNectiontype value`` command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:VISACONNectiontype {Network|USB} + - REMOTE:SCOPe:VISACONNectiontype? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ``Network`` sets the remote scope connection type to Network. + - ``USB`` sets the remote scope connection type to USB. + """ + + +class RemoteScopeItemState(SCPICmdRead): + """The ``REMOTE:SCOPe:State`` command. + + Description: + - This command queries the connected state for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:State?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:State?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:State? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemSync(SCPICmdWrite): + """The ``REMOTE:SCOPe:SYNC`` command. + + Description: + - This command refreshes the channel data from the specified remote scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:SYNC value`` command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:SYNC + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` is the remote scope port number. The argument is of the form where NR1 ≥ + 1. + """ + + +class RemoteScopeItemPort(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SCOPe:PORT`` command. + + Description: + - This command sets or queries the port number for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:PORT?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:PORT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:PORT value`` command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:PORT + - REMOTE:SCOPe:PORT? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` is the remote scope port number. The argument is of the form where NR1 ≥ + 1. + """ + + +class RemoteScopeItemModelname(SCPICmdRead): + """The ``REMOTE:SCOPe:MODELname`` command. + + Description: + - This command returns model name of the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:MODELname?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:MODELname?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:MODELname? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemIpaddress(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:SCOPe:IPADDress`` command. + + Description: + - This command sets or queries the IP Address or host name for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:IPADDress?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:IPADDress?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:IPADDress value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:IPADDress + - REMOTE:SCOPe:IPADDress? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` is the remote scope IP Address or host name. The argument is of the form + 'ScopeIPAddress'. + """ + + +class RemoteScopeItemHorizontalFastframeSumframeState(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE`` command. + + Description: + - This command returns the state of FastFrame summary frame. Summary frame mode is set + automatically based on the acquisition mode. When in Sample mode, the summary frame type + is set to Average. When in Peak Detect mode, the summary frame type is set to Envelope. + When in High Res mode, the summary frame type is set to Average. FastFrame on the Remote + scope should be turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemHorizontalFastframeSumframe(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame`` command. + + Description: + - This command returns the summary frame type. Turning on Summary Frame does not adjust the + numberFrames value as long as there is room for an additional frame. If there is not + enough room then numberFrames will be reduced by 1. The numberFrames value is always the + number of frames to acquire. FastFrame on the Remote scope should be turned ON before + connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + + Properties: + - ``.state``: The ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = RemoteScopeItemHorizontalFastframeSumframeState( + device, f"{self._cmd_syntax}:STATE" + ) + + @property + def state(self) -> RemoteScopeItemHorizontalFastframeSumframeState: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE`` command. + + Description: + - This command returns the state of FastFrame summary frame. Summary frame mode is set + automatically based on the acquisition mode. When in Sample mode, the summary frame + type is set to Average. When in Peak Detect mode, the summary frame type is set to + Envelope. When in High Res mode, the summary frame type is set to Average. FastFrame + on the Remote scope should be turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._state + + +class RemoteScopeItemHorizontalFastframeState(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe:STATE`` command. + + Description: + - This command returns the state of FastFrame. Acquisition modes Envelope and Average are + not compatible with FastFrame. If FastFrame is on, an attempted set to those acquisition + modes will fail and revert to Sample mode. If FastFrame is turned on while in one of those + acquisition modes, the acquisition mode is changed to Sample. FastFrame on the Remote + scope should be turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:STATE? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemHorizontalFastframeSelected(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED`` command. + + Description: + - This command returns the selected frame number for acquired frames. Refs have their own + selected frames. FastFrame on the Remote scope should be turned ON before connecting from + TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:SELECTED? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemHorizontalFastframeMaxframes(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames`` command. + + Description: + - This query returns the maximum number of frames. FastFrame on the Remote scope should be + turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemHorizontalFastframeCount(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt`` command. + + Description: + - This command returns the number of frames. FastFrame on the Remote scope should be turned + ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:COUNt? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemHorizontalFastframe(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal:FASTframe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:HORizontal:FASTframe?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``SCOPe`` specifies the remote scope number. + + Properties: + - ``.count``: The ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt`` command. + - ``.maxframes``: The ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames`` command. + - ``.selected``: The ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED`` command. + - ``.state``: The ``REMOTE:SCOPe:HORizontal:FASTframe:STATE`` command. + - ``.sumframe``: The ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = RemoteScopeItemHorizontalFastframeCount(device, f"{self._cmd_syntax}:COUNt") + self._maxframes = RemoteScopeItemHorizontalFastframeMaxframes( + device, f"{self._cmd_syntax}:MAXFrames" + ) + self._selected = RemoteScopeItemHorizontalFastframeSelected( + device, f"{self._cmd_syntax}:SELECTED" + ) + self._state = RemoteScopeItemHorizontalFastframeState(device, f"{self._cmd_syntax}:STATE") + self._sumframe = RemoteScopeItemHorizontalFastframeSumframe( + device, f"{self._cmd_syntax}:SUMFrame" + ) + + @property + def count(self) -> RemoteScopeItemHorizontalFastframeCount: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt`` command. + + Description: + - This command returns the number of frames. FastFrame on the Remote scope should be + turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:COUNt? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._count + + @property + def maxframes(self) -> RemoteScopeItemHorizontalFastframeMaxframes: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames`` command. + + Description: + - This query returns the maximum number of frames. FastFrame on the Remote scope should + be turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._maxframes + + @property + def selected(self) -> RemoteScopeItemHorizontalFastframeSelected: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED`` command. + + Description: + - This command returns the selected frame number for acquired frames. Refs have their + own selected frames. FastFrame on the Remote scope should be turned ON before + connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:SELECTED? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._selected + + @property + def state(self) -> RemoteScopeItemHorizontalFastframeState: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe:STATE`` command. + + Description: + - This command returns the state of FastFrame. Acquisition modes Envelope and Average + are not compatible with FastFrame. If FastFrame is on, an attempted set to those + acquisition modes will fail and revert to Sample mode. If FastFrame is turned on while + in one of those acquisition modes, the acquisition mode is changed to Sample. + FastFrame on the Remote scope should be turned ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:STATE?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:STATE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:STATE? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._state + + @property + def sumframe(self) -> RemoteScopeItemHorizontalFastframeSumframe: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame`` command. + + Description: + - This command returns the summary frame type. Turning on Summary Frame does not adjust + the numberFrames value as long as there is room for an additional frame. If there is + not enough room then numberFrames will be reduced by 1. The numberFrames value is + always the number of frames to acquire. FastFrame on the Remote scope should be turned + ON before connecting from TekScope. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame?`` query and raise an AssertionError + if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + + Sub-properties: + - ``.state``: The ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE`` command. + """ + return self._sumframe + + +class RemoteScopeItemHorizontal(SCPICmdRead): + """The ``REMOTE:SCOPe:HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:HORizontal?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``SCOPe`` specifies the remote scope number. + + Properties: + - ``.fastframe``: The ``REMOTE:SCOPe:HORizontal:FASTframe`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fastframe = RemoteScopeItemHorizontalFastframe( + device, f"{self._cmd_syntax}:FASTframe" + ) + + @property + def fastframe(self) -> RemoteScopeItemHorizontalFastframe: + """Return the ``REMOTE:SCOPe:HORizontal:FASTframe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:HORizontal:FASTframe?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:HORizontal:FASTframe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``SCOPe`` specifies the remote scope number. + + Sub-properties: + - ``.count``: The ``REMOTE:SCOPe:HORizontal:FASTframe:COUNt`` command. + - ``.maxframes``: The ``REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames`` command. + - ``.selected``: The ``REMOTE:SCOPe:HORizontal:FASTframe:SELECTED`` command. + - ``.state``: The ``REMOTE:SCOPe:HORizontal:FASTframe:STATE`` command. + - ``.sumframe``: The ``REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame`` command. + """ + return self._fastframe + + +class RemoteScopeItemDisconnect(SCPICmdWriteNoArguments): + """The ``REMOTE:SCOPe:DISCONNECT`` command. + + Description: + - This command disconnects the specified Remote Scope. + + Usage: + - Using the ``.write()`` method will send the ``REMOTE:SCOPe:DISCONNECT`` command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:DISCONNECT + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` sets the Remote Scope to disconnect. + """ + + +class RemoteScopeItemConnectionstate(SCPICmdRead): + """The ``REMOTE:SCOPe:CONNECTIONState`` command. + + Description: + - This command queries the connected state for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:CONNECTIONState?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:CONNECTIONState?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:CONNECTIONState? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemConnectionmessage(SCPICmdRead): + """The ``REMOTE:SCOPe:CONNECTIONMessage`` command. + + Description: + - This command queries the connection status message for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:CONNECTIONMessage?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:CONNECTIONMessage?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:CONNECTIONMessage? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +class RemoteScopeItemConnect(SCPICmdWrite): + """The ``REMOTE:SCOPe:CONNECT`` command. + + Description: + - This command connects the specified Remote Scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:CONNECT value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:CONNECT + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` sets the Remote Scope to connect to. + """ + + +class RemoteScopeItemBandwidth(SCPICmdRead): + """The ``REMOTE:SCOPe:BANDWidth`` command. + + Description: + - This command queries the maximum licensed bandwidth of the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:BANDWidth?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:BANDWidth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:BANDWidth? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + + +# pylint: disable=too-many-instance-attributes +class RemoteScopeItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REMOTE:SCOPe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SCOPe`` specifies the remote scope number. + + Properties: + - ``.bandwidth``: The ``REMOTE:SCOPe:BANDWidth`` command. + - ``.connect``: The ``REMOTE:SCOPe:CONNECT`` command. + - ``.connectionmessage``: The ``REMOTE:SCOPe:CONNECTIONMessage`` command. + - ``.connectionstate``: The ``REMOTE:SCOPe:CONNECTIONState`` command. + - ``.disconnect``: The ``REMOTE:SCOPe:DISCONNECT`` command. + - ``.horizontal``: The ``REMOTE:SCOPe:HORizontal`` command tree. + - ``.ipaddress``: The ``REMOTE:SCOPe:IPADDress`` command. + - ``.modelname``: The ``REMOTE:SCOPe:MODELname`` command. + - ``.port``: The ``REMOTE:SCOPe:PORT`` command. + - ``.sync``: The ``REMOTE:SCOPe:SYNC`` command. + - ``.state``: The ``REMOTE:SCOPe:State`` command. + - ``.visaconnectiontype``: The ``REMOTE:SCOPe:VISACONNectiontype`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bandwidth = RemoteScopeItemBandwidth(device, f"{self._cmd_syntax}:BANDWidth") + self._connect = RemoteScopeItemConnect(device, f"{self._cmd_syntax}:CONNECT") + self._connectionmessage = RemoteScopeItemConnectionmessage( + device, f"{self._cmd_syntax}:CONNECTIONMessage" + ) + self._connectionstate = RemoteScopeItemConnectionstate( + device, f"{self._cmd_syntax}:CONNECTIONState" + ) + self._disconnect = RemoteScopeItemDisconnect(device, f"{self._cmd_syntax}:DISCONNECT") + self._horizontal = RemoteScopeItemHorizontal(device, f"{self._cmd_syntax}:HORizontal") + self._ipaddress = RemoteScopeItemIpaddress(device, f"{self._cmd_syntax}:IPADDress") + self._modelname = RemoteScopeItemModelname(device, f"{self._cmd_syntax}:MODELname") + self._port = RemoteScopeItemPort(device, f"{self._cmd_syntax}:PORT") + self._sync = RemoteScopeItemSync(device, f"{self._cmd_syntax}:SYNC") + self._state = RemoteScopeItemState(device, f"{self._cmd_syntax}:State") + self._visaconnectiontype = RemoteScopeItemVisaconnectiontype( + device, f"{self._cmd_syntax}:VISACONNectiontype" + ) + + @property + def bandwidth(self) -> RemoteScopeItemBandwidth: + """Return the ``REMOTE:SCOPe:BANDWidth`` command. + + Description: + - This command queries the maximum licensed bandwidth of the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:BANDWidth?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:BANDWidth?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:BANDWidth? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._bandwidth + + @property + def connect(self) -> RemoteScopeItemConnect: + """Return the ``REMOTE:SCOPe:CONNECT`` command. + + Description: + - This command connects the specified Remote Scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:CONNECT value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:CONNECT + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` sets the Remote Scope to connect to. + """ + return self._connect + + @property + def connectionmessage(self) -> RemoteScopeItemConnectionmessage: + """Return the ``REMOTE:SCOPe:CONNECTIONMessage`` command. + + Description: + - This command queries the connection status message for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:CONNECTIONMessage?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:CONNECTIONMessage?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:CONNECTIONMessage? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._connectionmessage + + @property + def connectionstate(self) -> RemoteScopeItemConnectionstate: + """Return the ``REMOTE:SCOPe:CONNECTIONState`` command. + + Description: + - This command queries the connected state for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:CONNECTIONState?`` + query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:CONNECTIONState?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:CONNECTIONState? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._connectionstate + + @property + def disconnect(self) -> RemoteScopeItemDisconnect: + """Return the ``REMOTE:SCOPe:DISCONNECT`` command. + + Description: + - This command disconnects the specified Remote Scope. + + Usage: + - Using the ``.write()`` method will send the ``REMOTE:SCOPe:DISCONNECT`` command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:DISCONNECT + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` sets the Remote Scope to disconnect. + """ + return self._disconnect + + @property + def horizontal(self) -> RemoteScopeItemHorizontal: + """Return the ``REMOTE:SCOPe:HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:HORizontal?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``SCOPe`` specifies the remote scope number. + + Sub-properties: + - ``.fastframe``: The ``REMOTE:SCOPe:HORizontal:FASTframe`` command tree. + """ + return self._horizontal + + @property + def ipaddress(self) -> RemoteScopeItemIpaddress: + """Return the ``REMOTE:SCOPe:IPADDress`` command. + + Description: + - This command sets or queries the IP Address or host name for the specified remote + scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:IPADDress?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:IPADDress?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:IPADDress value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:IPADDress + - REMOTE:SCOPe:IPADDress? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` is the remote scope IP Address or host name. The argument is of the form + 'ScopeIPAddress'. + """ + return self._ipaddress + + @property + def modelname(self) -> RemoteScopeItemModelname: + """Return the ``REMOTE:SCOPe:MODELname`` command. + + Description: + - This command returns model name of the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:MODELname?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:MODELname?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:MODELname? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._modelname + + @property + def port(self) -> RemoteScopeItemPort: + """Return the ``REMOTE:SCOPe:PORT`` command. + + Description: + - This command sets or queries the port number for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:PORT?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:PORT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:PORT value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:PORT + - REMOTE:SCOPe:PORT? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` is the remote scope port number. The argument is of the form where NR1 + ≥ 1. + """ + return self._port + + @property + def sync(self) -> RemoteScopeItemSync: + """Return the ``REMOTE:SCOPe:SYNC`` command. + + Description: + - This command refreshes the channel data from the specified remote scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:SCOPe:SYNC value`` + command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:SYNC + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ```` is the remote scope port number. The argument is of the form where NR1 + ≥ 1. + """ + return self._sync + + @property + def state(self) -> RemoteScopeItemState: + """Return the ``REMOTE:SCOPe:State`` command. + + Description: + - This command queries the connected state for the specified remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:State?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe:State?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:State? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + """ + return self._state + + @property + def visaconnectiontype(self) -> RemoteScopeItemVisaconnectiontype: + """Return the ``REMOTE:SCOPe:VISACONNectiontype`` command. + + Description: + - This command sets or queries VISA connection type for remote scope connection. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe:VISACONNectiontype?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:SCOPe:VISACONNectiontype?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:SCOPe:VISACONNectiontype value`` command. + + SCPI Syntax: + ``` + - REMOTE:SCOPe:VISACONNectiontype {Network|USB} + - REMOTE:SCOPe:VISACONNectiontype? + ``` + + Info: + - ``SCOPe`` specifies the remote scope number. + - ``Network`` sets the remote scope connection type to Network. + - ``USB`` sets the remote scope connection type to USB. + """ + return self._visaconnectiontype + + +class RemoteSItemDchItemSelectDall(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_DCH:SELect:DAll`` command. + + Description: + - This command turns on or off all constituent digital channels (D0 through D15) of the + specified source channel. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:SELect:DAll?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:SELect:DAll?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:S_DCH:SELect:DAll value`` + command. + + SCPI Syntax: + ``` + - REMOTE:S_DCH:SELect:DAll {ON|OFF|} + - REMOTE:S_DCH:SELect:DAll? + ``` + """ + + +class RemoteSItemDchItemSelect(SCPICmdRead): + """The ``REMOTE:S_DCH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:SELect?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.dall``: The ``REMOTE:S_DCH:SELect:DAll`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dall = RemoteSItemDchItemSelectDall(device, f"{self._cmd_syntax}:DAll") + + @property + def dall(self) -> RemoteSItemDchItemSelectDall: + """Return the ``REMOTE:S_DCH:SELect:DAll`` command. + + Description: + - This command turns on or off all constituent digital channels (D0 through D15) of the + specified source channel. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:SELect:DAll?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:SELect:DAll?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_DCH:SELect:DAll value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_DCH:SELect:DAll {ON|OFF|} + - REMOTE:S_DCH:SELect:DAll? + ``` + """ + return self._dall + + +class RemoteSItemDchItemGroupthresholdItem(ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_DCH:GROUPTHReshold`` command. + + Description: + - This command sets or queries the digital threshold of all bits in digital group 0 (D0-D7) + or group 1 (D8-D15) on ``S_DCH``. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:GROUPTHReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_DCH:GROUPTHReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_DCH:GROUPTHReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_DCH:GROUPTHReshold + - REMOTE:S_DCH:GROUPTHReshold? + ``` + """ + + +class RemoteSItemDchItemDigitalBitThreshold(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_DCH:D:THReshold`` command. + + Description: + - This command sets or queries the threshold level in volts for the specified digital + channel. The scope, channel, and digital channel bit number (0-15) are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:D:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:D:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_DCH:D:THReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_DCH:D:THReshold + - REMOTE:S_DCH:D:THReshold? + ``` + """ + + +class RemoteSItemDchItemDigitalBit(ValidatedDigitalBit, SCPICmdRead): + """The ``REMOTE:S_DCH:D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:D?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:D?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.threshold``: The ``REMOTE:S_DCH:D:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = RemoteSItemDchItemDigitalBitThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def threshold(self) -> RemoteSItemDchItemDigitalBitThreshold: + """Return the ``REMOTE:S_DCH:D:THReshold`` command. + + Description: + - This command sets or queries the threshold level in volts for the specified digital + channel. The scope, channel, and digital channel bit number (0-15) are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:D:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_DCH:D:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_DCH:D:THReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_DCH:D:THReshold + - REMOTE:S_DCH:D:THReshold? + ``` + """ + return self._threshold + + +class RemoteSItemDchItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REMOTE:S_DCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.d``: The ``REMOTE:S_DCH:D`` command tree. + - ``.groupthreshold``: The ``REMOTE:S_DCH:GROUPTHReshold`` command. + - ``.select``: The ``REMOTE:S_DCH:SELect`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._d: Dict[int, RemoteSItemDchItemDigitalBit] = DefaultDictPassKeyToFactory( + lambda x: RemoteSItemDchItemDigitalBit(device, f"{self._cmd_syntax}:D{x}") + ) + self._groupthreshold: Dict[int, RemoteSItemDchItemGroupthresholdItem] = ( + DefaultDictPassKeyToFactory( + lambda x: RemoteSItemDchItemGroupthresholdItem( + device, f"{self._cmd_syntax}:GROUP{x}THReshold" + ) + ) + ) + self._select = RemoteSItemDchItemSelect(device, f"{self._cmd_syntax}:SELect") + + @property + def d(self) -> Dict[int, RemoteSItemDchItemDigitalBit]: + """Return the ``REMOTE:S_DCH:D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:D?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:D?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``REMOTE:S_DCH:D:THReshold`` command. + """ + return self._d + + @property + def groupthreshold(self) -> Dict[int, RemoteSItemDchItemGroupthresholdItem]: + """Return the ``REMOTE:S_DCH:GROUPTHReshold`` command. + + Description: + - This command sets or queries the digital threshold of all bits in digital group 0 + (D0-D7) or group 1 (D8-D15) on ``S_DCH``. The scope and channel are specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:GROUPTHReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_DCH:GROUPTHReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_DCH:GROUPTHReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_DCH:GROUPTHReshold + - REMOTE:S_DCH:GROUPTHReshold? + ``` + """ + return self._groupthreshold + + @property + def select(self) -> RemoteSItemDchItemSelect: + """Return the ``REMOTE:S_DCH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH:SELect?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.dall``: The ``REMOTE:S_DCH:SELect:DAll`` command. + """ + return self._select + + +class RemoteSItemChannelSvStopfrequency(SCPICmdRead): + """The ``REMOTE:S_CH:SV:STOPFrequency`` command. + + Description: + - This command queries the stop frequency of the specified spectrum trace channel in the + Spectrum View window. S is the remote scope number and Ch is the channel number. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:STOPFrequency?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV:STOPFrequency?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:STOPFrequency? + ``` + """ + + +class RemoteSItemChannelSvState(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:SV:STATE`` command. + + Description: + - This command sets or queries the on/off setting of data acquisition for the specified + spectrum trace channel. S is the remote scope number and Ch is the channel number. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:S_CH:SV:STATE value`` + command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:STATE {ON|OFF} + - REMOTE:S_CH:SV:STATE? + ``` + + Info: + - ``ON`` enables spectrum data acquisition for the specified spectrum trace channel source. + - ``OFF`` disables spectrum data acquisition for the specified spectrum trace channel + source. + """ + + +class RemoteSItemChannelSvStartfrequency(SCPICmdRead): + """The ``REMOTE:S_CH:SV:STARTFrequency`` command. + + Description: + - This command queries the start frequency of the specified spectrum trace channel in the + Spectrum View window. S is the remote scope number and Ch is the channel number. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:STARTFrequency?`` + query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV:STARTFrequency?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:STARTFrequency? + ``` + """ + + +class RemoteSItemChannelSvPosition(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:SV:POSition`` command. + + Description: + - This command sets or queries the Spectrum Time setting of the specified spectrum trace + channel in the Spectrum View. Remote scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:POSition?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV:POSition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:S_CH:SV:POSition value`` + command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:POSition + - REMOTE:S_CH:SV:POSition? + ``` + + Info: + - ```` specifies the spectrum time location, as a percentage of the record length. The + range of values is 0.0% to 100%. + """ + + +class RemoteSItemChannelSvCenterfrequency(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:SV:CENTERFrequency`` command. + + Description: + - This command sets or queries the center frequency of the specified spectrum trace channel + for Spectrum View. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:CENTERFrequency?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:SV:CENTERFrequency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:SV:CENTERFrequency value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:CENTERFrequency + - REMOTE:S_CH:SV:CENTERFrequency? + ``` + + Info: + - ```` specifies the spectrum trace center frequency for the specified channel, in + hertz. The range of values is 0.0 to the maximum licensed bandwidth of the instrument. + """ + + +class RemoteSItemChannelSv(SCPICmdRead): + """The ``REMOTE:S_CH:SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.centerfrequency``: The ``REMOTE:S_CH:SV:CENTERFrequency`` command. + - ``.position``: The ``REMOTE:S_CH:SV:POSition`` command. + - ``.startfrequency``: The ``REMOTE:S_CH:SV:STARTFrequency`` command. + - ``.state``: The ``REMOTE:S_CH:SV:STATE`` command. + - ``.stopfrequency``: The ``REMOTE:S_CH:SV:STOPFrequency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._centerfrequency = RemoteSItemChannelSvCenterfrequency( + device, f"{self._cmd_syntax}:CENTERFrequency" + ) + self._position = RemoteSItemChannelSvPosition(device, f"{self._cmd_syntax}:POSition") + self._startfrequency = RemoteSItemChannelSvStartfrequency( + device, f"{self._cmd_syntax}:STARTFrequency" + ) + self._state = RemoteSItemChannelSvState(device, f"{self._cmd_syntax}:STATE") + self._stopfrequency = RemoteSItemChannelSvStopfrequency( + device, f"{self._cmd_syntax}:STOPFrequency" + ) + + @property + def centerfrequency(self) -> RemoteSItemChannelSvCenterfrequency: + """Return the ``REMOTE:S_CH:SV:CENTERFrequency`` command. + + Description: + - This command sets or queries the center frequency of the specified spectrum trace + channel for Spectrum View. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:CENTERFrequency?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:SV:CENTERFrequency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:SV:CENTERFrequency value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:CENTERFrequency + - REMOTE:S_CH:SV:CENTERFrequency? + ``` + + Info: + - ```` specifies the spectrum trace center frequency for the specified channel, in + hertz. The range of values is 0.0 to the maximum licensed bandwidth of the instrument. + """ + return self._centerfrequency + + @property + def position(self) -> RemoteSItemChannelSvPosition: + """Return the ``REMOTE:S_CH:SV:POSition`` command. + + Description: + - This command sets or queries the Spectrum Time setting of the specified spectrum trace + channel in the Spectrum View. Remote scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:POSition?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV:POSition?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:SV:POSition value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:POSition + - REMOTE:S_CH:SV:POSition? + ``` + + Info: + - ```` specifies the spectrum time location, as a percentage of the record length. + The range of values is 0.0% to 100%. + """ + return self._position + + @property + def startfrequency(self) -> RemoteSItemChannelSvStartfrequency: + """Return the ``REMOTE:S_CH:SV:STARTFrequency`` command. + + Description: + - This command queries the start frequency of the specified spectrum trace channel in + the Spectrum View window. S is the remote scope number and Ch is the channel + number. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:STARTFrequency?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:SV:STARTFrequency?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:STARTFrequency? + ``` + """ + return self._startfrequency + + @property + def state(self) -> RemoteSItemChannelSvState: + """Return the ``REMOTE:S_CH:SV:STATE`` command. + + Description: + - This command sets or queries the on/off setting of data acquisition for the specified + spectrum trace channel. S is the remote scope number and Ch is the channel + number. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:S_CH:SV:STATE value`` + command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:STATE {ON|OFF} + - REMOTE:S_CH:SV:STATE? + ``` + + Info: + - ``ON`` enables spectrum data acquisition for the specified spectrum trace channel + source. + - ``OFF`` disables spectrum data acquisition for the specified spectrum trace channel + source. + """ + return self._state + + @property + def stopfrequency(self) -> RemoteSItemChannelSvStopfrequency: + """Return the ``REMOTE:S_CH:SV:STOPFrequency`` command. + + Description: + - This command queries the stop frequency of the specified spectrum trace channel in the + Spectrum View window. S is the remote scope number and Ch is the channel number. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV:STOPFrequency?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:SV:STOPFrequency?`` query and raise an AssertionError if the + returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SV:STOPFrequency? + ``` + """ + return self._stopfrequency + + +class RemoteSItemChannelState(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:STAte`` command. + + Description: + - This command sets or queries the state of the specified remote channel in the specified + Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:STAte?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:STAte?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:S_CH:STAte value`` + command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:STAte + - REMOTE:S_CH:STAte? + ``` + + Info: + - ``S`` indicates the remote scope. + - ``CH`` indicates the channel number associated with remote scope. + - ```` sets the channel state value 0 or 1. 0 sets the channel state to false. 1 sets + the channel state to true. + """ + + +class RemoteSItemChannelSelectDiggrpDall(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:SELect:DIGGRP:Dall`` command. + + Description: + - This command sets or queries the display state of the specified digital channel in the + specified Waveform View. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SELect:DIGGRP:Dall?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:SELect:DIGGRP:Dall?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:SELect:DIGGRP:Dall value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SELect:DIGGRP:Dall {ON|OFF|} + - REMOTE:S_CH:SELect:DIGGRP:Dall? + ``` + + Info: + - ```` sets the display state. 0 disables the display of the specified channels on the + specified Waveform View; any other value turns this feature on. + - ``OFF`` disables the display of the specified channels on the specified Waveform View. + - ``ON`` enables the display of the specified channels on the specified Waveform View. + """ + + +class RemoteSItemChannelSelectDiggrp(SCPICmdRead): + """The ``REMOTE:S_CH:SELect:DIGGRP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SELect:DIGGRP?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SELect:DIGGRP?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.dall``: The ``REMOTE:S_CH:SELect:DIGGRP:Dall`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._dall = RemoteSItemChannelSelectDiggrpDall(device, f"{self._cmd_syntax}:Dall") + + @property + def dall(self) -> RemoteSItemChannelSelectDiggrpDall: + """Return the ``REMOTE:S_CH:SELect:DIGGRP:Dall`` command. + + Description: + - This command sets or queries the display state of the specified digital channel in the + specified Waveform View. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SELect:DIGGRP:Dall?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:SELect:DIGGRP:Dall?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:SELect:DIGGRP:Dall value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:SELect:DIGGRP:Dall {ON|OFF|} + - REMOTE:S_CH:SELect:DIGGRP:Dall? + ``` + + Info: + - ```` sets the display state. 0 disables the display of the specified channels on + the specified Waveform View; any other value turns this feature on. + - ``OFF`` disables the display of the specified channels on the specified Waveform View. + - ``ON`` enables the display of the specified channels on the specified Waveform View. + """ + return self._dall + + +class RemoteSItemChannelSelect(SCPICmdRead): + """The ``REMOTE:S_CH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SELect?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.diggrp``: The ``REMOTE:S_CH:SELect:DIGGRP`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._diggrp = RemoteSItemChannelSelectDiggrp(device, f"{self._cmd_syntax}:DIGGRP") + + @property + def diggrp(self) -> RemoteSItemChannelSelectDiggrp: + """Return the ``REMOTE:S_CH:SELect:DIGGRP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SELect:DIGGRP?`` + query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SELect:DIGGRP?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.dall``: The ``REMOTE:S_CH:SELect:DIGGRP:Dall`` command. + """ + return self._diggrp + + +class RemoteSItemChannelProbetype(SCPICmdRead): + """The ``REMOTE:S_CH:PROBETYPE`` command. + + Description: + - This command returns the probe type connected to the specified channel. Remote scope and + channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:PROBETYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:PROBETYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:S_CH:PROBETYPE? + ``` + """ + + +class RemoteSItemChannelDiggrpThreshold(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:DIGGRP:THReshold`` command. + + Description: + - This command sets or queries the threshold level in volts for the specified remote scope + channel. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:DIGGRP:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:THReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:DIGGRP:THReshold + - REMOTE:S_CH:DIGGRP:THReshold? + ``` + + Info: + - ```` is the threshold level in volts for the specified remote scope digital channel. + """ + + +class RemoteSItemChannelDiggrpDigitalBitThreshold(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:S_CH:DIGGRP:D:THReshold`` command. + + Description: + - This command sets or queries the threshold level in volts for the specified digital + channel. If the source channel doesn't exist, a hardware missing error event is set. The + scope, channel, and digital channel bit number (0-7) are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP:D:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:D:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:D:THReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:DIGGRP:D:THReshold + - REMOTE:S_CH:DIGGRP:D:THReshold? + ``` + + Info: + - ```` is the threshold level in volts for the specified digital channel. + """ + + +class RemoteSItemChannelDiggrpDigitalBit(ValidatedDigitalBit, SCPICmdRead): + """The ``REMOTE:S_CH:DIGGRP:D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP:D?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:DIGGRP:D?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.threshold``: The ``REMOTE:S_CH:DIGGRP:D:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = RemoteSItemChannelDiggrpDigitalBitThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def threshold(self) -> RemoteSItemChannelDiggrpDigitalBitThreshold: + """Return the ``REMOTE:S_CH:DIGGRP:D:THReshold`` command. + + Description: + - This command sets or queries the threshold level in volts for the specified digital + channel. If the source channel doesn't exist, a hardware missing error event is set. + The scope, channel, and digital channel bit number (0-7) are specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``REMOTE:S_CH:DIGGRP:D:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:D:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:D:THReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:DIGGRP:D:THReshold + - REMOTE:S_CH:DIGGRP:D:THReshold? + ``` + + Info: + - ```` is the threshold level in volts for the specified digital channel. + """ + return self._threshold + + +class RemoteSItemChannelDiggrp(SCPICmdRead): + """The ``REMOTE:S_CH:DIGGRP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:DIGGRP?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.d``: The ``REMOTE:S_CH:DIGGRP:D`` command tree. + - ``.threshold``: The ``REMOTE:S_CH:DIGGRP:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._d: Dict[int, RemoteSItemChannelDiggrpDigitalBit] = DefaultDictPassKeyToFactory( + lambda x: RemoteSItemChannelDiggrpDigitalBit(device, f"{self._cmd_syntax}:D{x}") + ) + self._threshold = RemoteSItemChannelDiggrpThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def d(self) -> Dict[int, RemoteSItemChannelDiggrpDigitalBit]: + """Return the ``REMOTE:S_CH:DIGGRP:D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP:D?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:DIGGRP:D?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``REMOTE:S_CH:DIGGRP:D:THReshold`` command. + """ + return self._d + + @property + def threshold(self) -> RemoteSItemChannelDiggrpThreshold: + """Return the ``REMOTE:S_CH:DIGGRP:THReshold`` command. + + Description: + - This command sets or queries the threshold level in volts for the specified remote + scope channel. The scope and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REMOTE:S_CH:DIGGRP:THReshold value`` command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:DIGGRP:THReshold + - REMOTE:S_CH:DIGGRP:THReshold? + ``` + + Info: + - ```` is the threshold level in volts for the specified remote scope digital + channel. + """ + return self._threshold + + +class RemoteSItemChannel(ValidatedChannel, SCPICmdRead): + """The ``REMOTE:S_CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.diggrp``: The ``REMOTE:S_CH:DIGGRP`` command tree. + - ``.probetype``: The ``REMOTE:S_CH:PROBETYPE`` command. + - ``.select``: The ``REMOTE:S_CH:SELect`` command tree. + - ``.state``: The ``REMOTE:S_CH:STAte`` command. + - ``.sv``: The ``REMOTE:S_CH:SV`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._diggrp = RemoteSItemChannelDiggrp(device, f"{self._cmd_syntax}:DIGGRP") + self._probetype = RemoteSItemChannelProbetype(device, f"{self._cmd_syntax}:PROBETYPE") + self._select = RemoteSItemChannelSelect(device, f"{self._cmd_syntax}:SELect") + self._state = RemoteSItemChannelState(device, f"{self._cmd_syntax}:STAte") + self._sv = RemoteSItemChannelSv(device, f"{self._cmd_syntax}:SV") + + @property + def diggrp(self) -> RemoteSItemChannelDiggrp: + """Return the ``REMOTE:S_CH:DIGGRP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:DIGGRP?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:DIGGRP?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.d``: The ``REMOTE:S_CH:DIGGRP:D`` command tree. + - ``.threshold``: The ``REMOTE:S_CH:DIGGRP:THReshold`` command. + """ + return self._diggrp + + @property + def probetype(self) -> RemoteSItemChannelProbetype: + """Return the ``REMOTE:S_CH:PROBETYPE`` command. + + Description: + - This command returns the probe type connected to the specified channel. Remote scope + and channel are specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:PROBETYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:PROBETYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:S_CH:PROBETYPE? + ``` + """ + return self._probetype + + @property + def select(self) -> RemoteSItemChannelSelect: + """Return the ``REMOTE:S_CH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SELect?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.diggrp``: The ``REMOTE:S_CH:SELect:DIGGRP`` command tree. + """ + return self._select + + @property + def state(self) -> RemoteSItemChannelState: + """Return the ``REMOTE:S_CH:STAte`` command. + + Description: + - This command sets or queries the state of the specified remote channel in the + specified Waveform View. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:STAte?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:STAte?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:S_CH:STAte value`` + command. + + SCPI Syntax: + ``` + - REMOTE:S_CH:STAte + - REMOTE:S_CH:STAte? + ``` + + Info: + - ``S`` indicates the remote scope. + - ``CH`` indicates the channel number associated with remote scope. + - ```` sets the channel state value 0 or 1. 0 sets the channel state to false. 1 + sets the channel state to true. + """ + return self._state + + @property + def sv(self) -> RemoteSItemChannelSv: + """Return the ``REMOTE:S_CH:SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH:SV?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH:SV?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.centerfrequency``: The ``REMOTE:S_CH:SV:CENTERFrequency`` command. + - ``.position``: The ``REMOTE:S_CH:SV:POSition`` command. + - ``.startfrequency``: The ``REMOTE:S_CH:SV:STARTFrequency`` command. + - ``.state``: The ``REMOTE:S_CH:SV:STATE`` command. + - ``.stopfrequency``: The ``REMOTE:S_CH:SV:STOPFrequency`` command. + """ + return self._sv + + +class RemoteSItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REMOTE:S`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``REMOTE:S_CH`` command tree. + - ``.dch``: The ``REMOTE:S_DCH`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, RemoteSItemChannel] = DefaultDictPassKeyToFactory( + lambda x: RemoteSItemChannel(device, f"{self._cmd_syntax}_CH{x}") + ) + self._dch: Dict[int, RemoteSItemDchItem] = DefaultDictPassKeyToFactory( + lambda x: RemoteSItemDchItem(device, f"{self._cmd_syntax}_DCH{x}") + ) + + @property + def ch(self) -> Dict[int, RemoteSItemChannel]: + """Return the ``REMOTE:S_CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_CH?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.diggrp``: The ``REMOTE:S_CH:DIGGRP`` command tree. + - ``.probetype``: The ``REMOTE:S_CH:PROBETYPE`` command. + - ``.select``: The ``REMOTE:S_CH:SELect`` command tree. + - ``.state``: The ``REMOTE:S_CH:STAte`` command. + - ``.sv``: The ``REMOTE:S_CH:SV`` command tree. + """ + return self._ch + + @property + def dch(self) -> Dict[int, RemoteSItemDchItem]: + """Return the ``REMOTE:S_DCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S_DCH?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S_DCH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.d``: The ``REMOTE:S_DCH:D`` command tree. + - ``.groupthreshold``: The ``REMOTE:S_DCH:GROUPTHReshold`` command. + - ``.select``: The ``REMOTE:S_DCH:SELect`` command tree. + """ + return self._dch + + +class RemoteNumacq(SCPICmdRead): + """The ``REMOTE:NUMACq`` command. + + Description: + - This query-only command returns the number of waveform acquisitions that have occurred + since the last time acquisitions were stopped. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:NUMACq?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:NUMACq?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:NUMACq? + ``` + """ + + +class RemoteLogging(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:LOGGING`` command. + + Description: + - This command sets or queries the act on event data logging feature. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:LOGGING?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:LOGGING?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:LOGGING value`` command. + + SCPI Syntax: + ``` + - REMOTE:LOGGING {START|PAUSE|STOP} + - REMOTE:LOGGING? + ``` + + Info: + - ``START`` specifies that the act on event data logging feature is started, if + ``REMOTE:ACQStatus`` is set to Acquire. + - ``PAUSE`` specifies that the act on event data logging feature is paused. + - ``STOP`` specifies that the act on event data logging feature is stopped. + """ + + +class RemoteDelete(SCPICmdWrite): + """The ``REMOTE:DELEte`` command. + + Description: + - This command delete the specified remote scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:DELEte value`` command. + + SCPI Syntax: + ``` + - REMOTE:DELEte + ``` + + Info: + - ```` is the remote scope to delete. The argument is of the form 'Scope' + where NR1 ≥ 1. + """ + + +class RemoteControl(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:CONTROL`` command. + + Description: + - This command sets or queries control the settings on the remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:CONTROL?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:CONTROL?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:CONTROL value`` command. + + SCPI Syntax: + ``` + - REMOTE:CONTROL + - REMOTE:CONTROL? + ``` + + Info: + - ```` sets the control to 0 or 1. 0 sets the remote control to off. 1 sets the remote + control to on. + """ + + +class RemoteComminter(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:COMMInter`` command. + + Description: + - This command sets or queries communication Interface for remote connection. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:COMMInter?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:COMMInter?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:COMMInter value`` command. + + SCPI Syntax: + ``` + - REMOTE:COMMInter {Visa|Socket} + - REMOTE:COMMInter? + ``` + + Info: + - ``Visa`` sets the remote communication interface to Visa. + - ``Socket`` sets the remote communication interface to Socket. + """ + + +class RemoteAddnew(SCPICmdWrite): + """The ``REMOTE:ADDNew`` command. + + Description: + - This command adds the specified remote scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:ADDNew value`` command. + + SCPI Syntax: + ``` + - REMOTE:ADDNew + ``` + + Info: + - ```` is the remote scope to add. The argument is of the form 'Scope' where + NR1 ≥ 1. + """ + + +class RemoteAcquire(SCPICmdWrite): + """The ``REMOTE:ACQUIRE`` command. + + Description: + - This command acquires a single sequence on the specified remote Scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:ACQUIRE value`` command. + + SCPI Syntax: + ``` + - REMOTE:ACQUIRE + ``` + + Info: + - ```` specifies the Remote Scope. + """ + + +class RemoteAcqstatus(SCPICmdRead): + """The ``REMOTE:ACQStatus`` command. + + Description: + - This command queries the status of the remote scope acquisition. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:ACQStatus?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:ACQStatus?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:ACQStatus? + ``` + """ + + +class RemoteAcqmethod(SCPICmdWrite, SCPICmdRead): + """The ``REMOTE:ACQMethod`` command. + + Description: + - This command sets or queries whether the instrument continually acquires acquisitions or + acquires a single sequence. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:ACQMethod?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:ACQMethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:ACQMethod value`` command. + + SCPI Syntax: + ``` + - REMOTE:ACQMethod {CONTINuous|SINGLE|SEQuence} + - REMOTE:ACQMethod? + ``` + + Info: + - ``CONTINuous`` specifies that the instrument will continually acquire data if + ``:REMOTE:RUNStop`` is set to RUN. + - ``SINGLE`` specifies that the next acquisition will be a single-sequence acquisition if + ``:REMOTE:RUNStop`` is set to RUN. + - ``SEQuence`` specifies that the next acquisition will bea single-sequence acquisition if + ``REMOTE:ACQUIRE`` is set to 1. + """ + + +# pylint: disable=too-many-instance-attributes +class Remote(SCPICmdRead): + """The ``REMOTE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.acqmethod``: The ``REMOTE:ACQMethod`` command. + - ``.acqstatus``: The ``REMOTE:ACQStatus`` command. + - ``.acquire``: The ``REMOTE:ACQUIRE`` command. + - ``.addnew``: The ``REMOTE:ADDNew`` command. + - ``.comminter``: The ``REMOTE:COMMInter`` command. + - ``.control``: The ``REMOTE:CONTROL`` command. + - ``.delete``: The ``REMOTE:DELEte`` command. + - ``.logging``: The ``REMOTE:LOGGING`` command. + - ``.numacq``: The ``REMOTE:NUMACq`` command. + - ``.s``: The ``REMOTE:S`` command tree. + - ``.scope``: The ``REMOTE:SCOPe`` command tree. + - ``.sequence``: The ``REMOTE:SEQuence`` command tree. + - ``.sv``: The ``REMOTE:SV`` command tree. + - ``.usbdescriptors``: The ``REMOTE:USBDEscriptors`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REMOTE") -> None: + super().__init__(device, cmd_syntax) + self._acqmethod = RemoteAcqmethod(device, f"{self._cmd_syntax}:ACQMethod") + self._acqstatus = RemoteAcqstatus(device, f"{self._cmd_syntax}:ACQStatus") + self._acquire = RemoteAcquire(device, f"{self._cmd_syntax}:ACQUIRE") + self._addnew = RemoteAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._comminter = RemoteComminter(device, f"{self._cmd_syntax}:COMMInter") + self._control = RemoteControl(device, f"{self._cmd_syntax}:CONTROL") + self._delete = RemoteDelete(device, f"{self._cmd_syntax}:DELEte") + self._logging = RemoteLogging(device, f"{self._cmd_syntax}:LOGGING") + self._numacq = RemoteNumacq(device, f"{self._cmd_syntax}:NUMACq") + self._s: Dict[int, RemoteSItem] = DefaultDictPassKeyToFactory( + lambda x: RemoteSItem(device, f"{self._cmd_syntax}:S{x}") + ) + self._scope: Dict[int, RemoteScopeItem] = DefaultDictPassKeyToFactory( + lambda x: RemoteScopeItem(device, f"{self._cmd_syntax}:SCOPe{x}") + ) + self._sequence = RemoteSequence(device, f"{self._cmd_syntax}:SEQuence") + self._sv = RemoteSv(device, f"{self._cmd_syntax}:SV") + self._usbdescriptors = RemoteUsbdescriptors(device, f"{self._cmd_syntax}:USBDEscriptors") + + @property + def acqmethod(self) -> RemoteAcqmethod: + """Return the ``REMOTE:ACQMethod`` command. + + Description: + - This command sets or queries whether the instrument continually acquires acquisitions + or acquires a single sequence. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:ACQMethod?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:ACQMethod?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:ACQMethod value`` command. + + SCPI Syntax: + ``` + - REMOTE:ACQMethod {CONTINuous|SINGLE|SEQuence} + - REMOTE:ACQMethod? + ``` + + Info: + - ``CONTINuous`` specifies that the instrument will continually acquire data if + ``:REMOTE:RUNStop`` is set to RUN. + - ``SINGLE`` specifies that the next acquisition will be a single-sequence acquisition + if ``:REMOTE:RUNStop`` is set to RUN. + - ``SEQuence`` specifies that the next acquisition will bea single-sequence acquisition + if ``REMOTE:ACQUIRE`` is set to 1. + """ + return self._acqmethod + + @property + def acqstatus(self) -> RemoteAcqstatus: + """Return the ``REMOTE:ACQStatus`` command. + + Description: + - This command queries the status of the remote scope acquisition. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:ACQStatus?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:ACQStatus?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:ACQStatus? + ``` + """ + return self._acqstatus + + @property + def acquire(self) -> RemoteAcquire: + """Return the ``REMOTE:ACQUIRE`` command. + + Description: + - This command acquires a single sequence on the specified remote Scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:ACQUIRE value`` command. + + SCPI Syntax: + ``` + - REMOTE:ACQUIRE + ``` + + Info: + - ```` specifies the Remote Scope. + """ + return self._acquire + + @property + def addnew(self) -> RemoteAddnew: + """Return the ``REMOTE:ADDNew`` command. + + Description: + - This command adds the specified remote scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:ADDNew value`` command. + + SCPI Syntax: + ``` + - REMOTE:ADDNew + ``` + + Info: + - ```` is the remote scope to add. The argument is of the form 'Scope' + where NR1 ≥ 1. + """ + return self._addnew + + @property + def comminter(self) -> RemoteComminter: + """Return the ``REMOTE:COMMInter`` command. + + Description: + - This command sets or queries communication Interface for remote connection. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:COMMInter?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:COMMInter?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:COMMInter value`` command. + + SCPI Syntax: + ``` + - REMOTE:COMMInter {Visa|Socket} + - REMOTE:COMMInter? + ``` + + Info: + - ``Visa`` sets the remote communication interface to Visa. + - ``Socket`` sets the remote communication interface to Socket. + """ + return self._comminter + + @property + def control(self) -> RemoteControl: + """Return the ``REMOTE:CONTROL`` command. + + Description: + - This command sets or queries control the settings on the remote scope. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:CONTROL?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:CONTROL?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:CONTROL value`` command. + + SCPI Syntax: + ``` + - REMOTE:CONTROL + - REMOTE:CONTROL? + ``` + + Info: + - ```` sets the control to 0 or 1. 0 sets the remote control to off. 1 sets the + remote control to on. + """ + return self._control + + @property + def delete(self) -> RemoteDelete: + """Return the ``REMOTE:DELEte`` command. + + Description: + - This command delete the specified remote scope. + + Usage: + - Using the ``.write(value)`` method will send the ``REMOTE:DELEte value`` command. + + SCPI Syntax: + ``` + - REMOTE:DELEte + ``` + + Info: + - ```` is the remote scope to delete. The argument is of the form 'Scope' + where NR1 ≥ 1. + """ + return self._delete + + @property + def logging(self) -> RemoteLogging: + """Return the ``REMOTE:LOGGING`` command. + + Description: + - This command sets or queries the act on event data logging feature. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:LOGGING?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:LOGGING?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:LOGGING value`` command. + + SCPI Syntax: + ``` + - REMOTE:LOGGING {START|PAUSE|STOP} + - REMOTE:LOGGING? + ``` + + Info: + - ``START`` specifies that the act on event data logging feature is started, if + ``REMOTE:ACQStatus`` is set to Acquire. + - ``PAUSE`` specifies that the act on event data logging feature is paused. + - ``STOP`` specifies that the act on event data logging feature is stopped. + """ + return self._logging + + @property + def numacq(self) -> RemoteNumacq: + """Return the ``REMOTE:NUMACq`` command. + + Description: + - This query-only command returns the number of waveform acquisitions that have occurred + since the last time acquisitions were stopped. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:NUMACq?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:NUMACq?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - REMOTE:NUMACq? + ``` + """ + return self._numacq + + @property + def s(self) -> Dict[int, RemoteSItem]: + """Return the ``REMOTE:S`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:S?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:S?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``REMOTE:S_CH`` command tree. + - ``.dch``: The ``REMOTE:S_DCH`` command tree. + """ + return self._s + + @property + def scope(self) -> Dict[int, RemoteScopeItem]: + """Return the ``REMOTE:SCOPe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SCOPe?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SCOPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Info: + - ``SCOPe`` specifies the remote scope number. + + Sub-properties: + - ``.bandwidth``: The ``REMOTE:SCOPe:BANDWidth`` command. + - ``.connect``: The ``REMOTE:SCOPe:CONNECT`` command. + - ``.connectionmessage``: The ``REMOTE:SCOPe:CONNECTIONMessage`` command. + - ``.connectionstate``: The ``REMOTE:SCOPe:CONNECTIONState`` command. + - ``.disconnect``: The ``REMOTE:SCOPe:DISCONNECT`` command. + - ``.horizontal``: The ``REMOTE:SCOPe:HORizontal`` command tree. + - ``.ipaddress``: The ``REMOTE:SCOPe:IPADDress`` command. + - ``.modelname``: The ``REMOTE:SCOPe:MODELname`` command. + - ``.port``: The ``REMOTE:SCOPe:PORT`` command. + - ``.sync``: The ``REMOTE:SCOPe:SYNC`` command. + - ``.state``: The ``REMOTE:SCOPe:State`` command. + - ``.visaconnectiontype``: The ``REMOTE:SCOPe:VISACONNectiontype`` command. + """ + return self._scope + + @property + def sequence(self) -> RemoteSequence: + """Return the ``REMOTE:SEQuence`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SEQuence?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SEQuence?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.current``: The ``REMOTE:SEQuence:CURrent`` command. + - ``.numsequence``: The ``REMOTE:SEQuence:NUMSEQuence`` command. + """ + return self._sequence + + @property + def sv(self) -> RemoteSv: + """Return the ``REMOTE:SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:SV?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rbw``: The ``REMOTE:SV:RBW`` command. + - ``.rbwmode``: The ``REMOTE:SV:RBWMode`` command. + - ``.span``: The ``REMOTE:SV:SPAN`` command. + - ``.spanrbwratio``: The ``REMOTE:SV:SPANRBWRatio`` command. + - ``.window``: The ``REMOTE:SV:WINDOW`` command. + """ + return self._sv + + @property + def usbdescriptors(self) -> RemoteUsbdescriptors: + """Return the ``REMOTE:USBDEscriptors`` command. + + Description: + - This command sets or queries the USB descriptors available for remote connection. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE:USBDEscriptors?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE:USBDEscriptors?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REMOTE:USBDEscriptors value`` + command. + + SCPI Syntax: + ``` + - REMOTE:USBDEscriptors {Usb} + - REMOTE:USBDEscriptors? + ``` + + Info: + - ``Usb0`` sets the usb address of the first specified scope. + - ``Usb1`` sets the usb address of the second specified scope. + """ + return self._usbdescriptors diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/s.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/s.py new file mode 100644 index 00000000..ecbd84cb --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/s.py @@ -0,0 +1,990 @@ +"""The s commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - S_CH:BANdwidth:ACTUal? + - S_CH:CLIPping? + - S_CH:COUPling {AC|DC|DCREJ} + - S_CH:COUPling? + - S_CH:DESKew + - S_CH:DESKew? + - S_CH:LABel:COLor + - S_CH:LABel:FONT:BOLD {ON|OFF|} + - S_CH:LABel:FONT:ITALic {ON|OFF|} + - S_CH:LABel:FONT:SIZE + - S_CH:LABel:FONT:TYPE + - S_CH:LABel:FONT:UNDERline {ON|OFF|} + - S_CH:LABel:NAMe + - S_CH:LABel:NAMe? + - S_CH:LABel:XPOS + - S_CH:LABel:XPOS? + - S_CH:LABel:YPOS + - S_CH:LABel:YPOS? + - S_CH:OFFSet + - S_CH:OFFSet? + - S_CH:POSition + - S_CH:SCAle + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedChannel, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class SItemChannelScale(SCPICmdWrite): + """The ``S_CH:SCAle`` command. + + Description: + - This command sets or returns the vertical scale for the specified remote scope analog + channel. The remote scope and the channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:SCAle value`` command. + + SCPI Syntax: + ``` + - S_CH:SCAle + ``` + + Info: + - ```` is the vertical scale for the specified analog channel. + """ + + +class SItemChannelPosition(SCPICmdWrite): + """The ``S_CH:POSition`` command. + + Description: + - This command sets or queries the vertical position for the specified analog channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:POSition value`` command. + + SCPI Syntax: + ``` + - S_CH:POSition + ``` + + Info: + - ```` is the vertical position for the specified analog channel. + """ + + +class SItemChannelOffset(SCPICmdWrite, SCPICmdRead): + """The ``S_CH:OFFSet`` command. + + Description: + - This command sets or queries the vertical offset for the specified remote scope analog + channel. The remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:OFFSet?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:OFFSet value`` command. + + SCPI Syntax: + ``` + - S_CH:OFFSet + - S_CH:OFFSet? + ``` + + Info: + - ```` is the offset value for the specified remote scope analog channel. + """ + + +class SItemChannelLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``S_CH:LABel:YPOS`` command. + + Description: + - This command sets or queries the Y-position of the specified remote scope channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:LABel:YPOS value`` command. + + SCPI Syntax: + ``` + - S_CH:LABel:YPOS + - S_CH:LABel:YPOS? + ``` + + Info: + - ```` is the location (in pixels) where the waveform label for the selected channel is + displayed, relative to the baseline of the waveform. Positive values are above the + baseline and negative values are below. + """ + + +class SItemChannelLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``S_CH:LABel:XPOS`` command. + + Description: + - This command sets or queries the X-position of the specified remote scope channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:LABel:XPOS value`` command. + + SCPI Syntax: + ``` + - S_CH:LABel:XPOS + - S_CH:LABel:XPOS? + ``` + + Info: + - ```` is the location (in pixels) where the waveform label for the selected channel is + displayed, relative to the left edge of the screen. + """ + + +class SItemChannelLabelName(SCPICmdWrite, SCPICmdRead): + """The ``S_CH:LABel:NAMe`` command. + + Description: + - This command sets or queries the label attached to the displayed waveform for the + specified remote scope channel. The remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:LABel:NAMe value`` command. + + SCPI Syntax: + ``` + - S_CH:LABel:NAMe + - S_CH:LABel:NAMe? + ``` + + Info: + - ```` is an alphanumeric character string, ranging from 1 through 32 characters in + length. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SItemChannelLabelFontUnderline(SCPICmdWrite): + """The ``S_CH:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified channel label. The + channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:UNDERline value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:UNDERline {ON|OFF|} + ``` + + Info: + - ``OFF`` argument turns off underlined font. + - ``ON`` argument turns on underlined font. + - ```` = 0 turns off underlined font; any other value turns on underlined font. + """ + + +class SItemChannelLabelFontType(SCPICmdWrite): + """The ``S_CH:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified remote scope channel label, + such as Arial or Times New Roman. The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:TYPE + ``` + + Info: + - ```` is the specified font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SItemChannelLabelFontSize(SCPICmdWrite): + """The ``S_CH:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified channel label. The remote + scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:SIZE + ``` + + Info: + - ```` is the font size. + """ + + +class SItemChannelLabelFontItalic(SCPICmdWrite): + """The ``S_CH:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified remote scope channel label. + The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:ITALic {ON|OFF|} + ``` + + Info: + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + + +class SItemChannelLabelFontBold(SCPICmdWrite): + """The ``S_CH:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified remote scope channel label. + The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:BOLD {ON|OFF|} + ``` + + Info: + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + + +class SItemChannelLabelFont(SCPICmdRead): + """The ``S_CH:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``S_CH:LABel:FONT:BOLD`` command. + - ``.italic``: The ``S_CH:LABel:FONT:ITALic`` command. + - ``.size``: The ``S_CH:LABel:FONT:SIZE`` command. + - ``.type``: The ``S_CH:LABel:FONT:TYPE`` command. + - ``.underline``: The ``S_CH:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = SItemChannelLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = SItemChannelLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = SItemChannelLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = SItemChannelLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = SItemChannelLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> SItemChannelLabelFontBold: + """Return the ``S_CH:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified remote scope channel + label. The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:BOLD {ON|OFF|} + ``` + + Info: + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + return self._bold + + @property + def italic(self) -> SItemChannelLabelFontItalic: + """Return the ``S_CH:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified remote scope channel + label. The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``S_CH:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:ITALic {ON|OFF|} + ``` + + Info: + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + return self._italic + + @property + def size(self) -> SItemChannelLabelFontSize: + """Return the ``S_CH:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified channel label. The remote + scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:SIZE + ``` + + Info: + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> SItemChannelLabelFontType: + """Return the ``S_CH:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified remote scope channel + label, such as Arial or Times New Roman. The remote scope and channel is specified by + x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:TYPE + ``` + + Info: + - ```` is the specified font type. + """ + return self._type + + @property + def underline(self) -> SItemChannelLabelFontUnderline: + """Return the ``S_CH:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified channel label. The + channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``S_CH:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - S_CH:LABel:FONT:UNDERline {ON|OFF|} + ``` + + Info: + - ``OFF`` argument turns off underlined font. + - ``ON`` argument turns on underlined font. + - ```` = 0 turns off underlined font; any other value turns on underlined font. + """ + return self._underline + + +class SItemChannelLabelColor(SCPICmdWrite): + """The ``S_CH:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified remote scope channel label. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:COLor value`` command. + + SCPI Syntax: + ``` + - S_CH:LABel:COLor + ``` + + Info: + - ```` is the label color. To return the color to the default color, send an empty + string as in this example: ``S1_CH5:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SItemChannelLabel(SCPICmdRead): + """The ``S_CH:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``S_CH:LABel:COLor`` command. + - ``.font``: The ``S_CH:LABel:FONT`` command tree. + - ``.name``: The ``S_CH:LABel:NAMe`` command. + - ``.xpos``: The ``S_CH:LABel:XPOS`` command. + - ``.ypos``: The ``S_CH:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = SItemChannelLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = SItemChannelLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = SItemChannelLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = SItemChannelLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = SItemChannelLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> SItemChannelLabelColor: + """Return the ``S_CH:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified remote scope channel label. + The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:COLor + ``` + + Info: + - ```` is the label color. To return the color to the default color, send an + empty string as in this example: ``S1_CH5:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> SItemChannelLabelFont: + """Return the ``S_CH:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``S_CH:LABel:FONT:BOLD`` command. + - ``.italic``: The ``S_CH:LABel:FONT:ITALic`` command. + - ``.size``: The ``S_CH:LABel:FONT:SIZE`` command. + - ``.type``: The ``S_CH:LABel:FONT:TYPE`` command. + - ``.underline``: The ``S_CH:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> SItemChannelLabelName: + """Return the ``S_CH:LABel:NAMe`` command. + + Description: + - This command sets or queries the label attached to the displayed waveform for the + specified remote scope channel. The remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:NAMe + - S_CH:LABel:NAMe? + ``` + + Info: + - ```` is an alphanumeric character string, ranging from 1 through 32 + characters in length. + """ + return self._name + + @property + def xpos(self) -> SItemChannelLabelXpos: + """Return the ``S_CH:LABel:XPOS`` command. + + Description: + - This command sets or queries the X-position of the specified remote scope channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:XPOS + - S_CH:LABel:XPOS? + ``` + + Info: + - ```` is the location (in pixels) where the waveform label for the selected + channel is displayed, relative to the left edge of the screen. + """ + return self._xpos + + @property + def ypos(self) -> SItemChannelLabelYpos: + """Return the ``S_CH:LABel:YPOS`` command. + + Description: + - This command sets or queries the Y-position of the specified remote scope channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - S_CH:LABel:YPOS + - S_CH:LABel:YPOS? + ``` + + Info: + - ```` is the location (in pixels) where the waveform label for the selected + channel is displayed, relative to the baseline of the waveform. Positive values are + above the baseline and negative values are below. + """ + return self._ypos + + +class SItemChannelDeskew(SCPICmdWrite, SCPICmdRead): + """The ``S_CH:DESKew`` command. + + Description: + - This command sets or queries the horizontal deskew time for the specified channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:DESKew?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:DESKew?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:DESKew value`` command. + + SCPI Syntax: + ``` + - S_CH:DESKew + - S_CH:DESKew? + ``` + + Info: + - ```` is the deskew time for this channel, ranging from -125 ns to +125 ns with a + resolution of 40 ps. Out-of-range values are clipped. + """ + + +class SItemChannelCoupling(SCPICmdWrite, SCPICmdRead): + """The ``S_CH:COUPling`` command. + + Description: + - This command sets or queries the input coupling setting for the specified remote scope + analog channel. The remote scope and the channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:COUPling?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:COUPling value`` command. + + SCPI Syntax: + ``` + - S_CH:COUPling {AC|DC|DCREJ} + - S_CH:COUPling? + ``` + + Info: + - ``AC`` sets the specified channel to AC coupling. + - ``DC`` sets the specified channel to DC coupling. + - ``DCREJect`` sets DC Reject coupling when probes are attached that support that feature. + """ + + +class SItemChannelClipping(SCPICmdRead): + """The ``S_CH:CLIPping`` command. + + Description: + - Queries whether the specified remote scope channel's input signal is clipping (exceeding) + the channel A/D converter range. The remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:CLIPping?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:CLIPping?`` query and raise + an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - S_CH:CLIPping? + ``` + """ + + +class SItemChannelBandwidthActual(SCPICmdRead): + """The ``S_CH:BANdwidth:ACTUal`` command. + + Description: + - Queries whether the actual bandwidth of the specified remote scope channel. The remote + scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:BANdwidth:ACTUal?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:BANdwidth:ACTUal?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - S_CH:BANdwidth:ACTUal? + ``` + """ + + +class SItemChannelBandwidth(SCPICmdRead): + """The ``S_CH:BANdwidth`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:BANdwidth?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:BANdwidth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.actual``: The ``S_CH:BANdwidth:ACTUal`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._actual = SItemChannelBandwidthActual(device, f"{self._cmd_syntax}:ACTUal") + + @property + def actual(self) -> SItemChannelBandwidthActual: + """Return the ``S_CH:BANdwidth:ACTUal`` command. + + Description: + - Queries whether the actual bandwidth of the specified remote scope channel. The remote + scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:BANdwidth:ACTUal?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:BANdwidth:ACTUal?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - S_CH:BANdwidth:ACTUal? + ``` + """ + return self._actual + + +# pylint: disable=too-many-instance-attributes +class SItemChannel(ValidatedChannel, SCPICmdRead): + """The ``S_CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bandwidth``: The ``S_CH:BANdwidth`` command tree. + - ``.clipping``: The ``S_CH:CLIPping`` command. + - ``.coupling``: The ``S_CH:COUPling`` command. + - ``.deskew``: The ``S_CH:DESKew`` command. + - ``.label``: The ``S_CH:LABel`` command tree. + - ``.offset``: The ``S_CH:OFFSet`` command. + - ``.position``: The ``S_CH:POSition`` command. + - ``.scale``: The ``S_CH:SCAle`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bandwidth = SItemChannelBandwidth(device, f"{self._cmd_syntax}:BANdwidth") + self._clipping = SItemChannelClipping(device, f"{self._cmd_syntax}:CLIPping") + self._coupling = SItemChannelCoupling(device, f"{self._cmd_syntax}:COUPling") + self._deskew = SItemChannelDeskew(device, f"{self._cmd_syntax}:DESKew") + self._label = SItemChannelLabel(device, f"{self._cmd_syntax}:LABel") + self._offset = SItemChannelOffset(device, f"{self._cmd_syntax}:OFFSet") + self._position = SItemChannelPosition(device, f"{self._cmd_syntax}:POSition") + self._scale = SItemChannelScale(device, f"{self._cmd_syntax}:SCAle") + + @property + def bandwidth(self) -> SItemChannelBandwidth: + """Return the ``S_CH:BANdwidth`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:BANdwidth?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:BANdwidth?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.actual``: The ``S_CH:BANdwidth:ACTUal`` command. + """ + return self._bandwidth + + @property + def clipping(self) -> SItemChannelClipping: + """Return the ``S_CH:CLIPping`` command. + + Description: + - Queries whether the specified remote scope channel's input signal is clipping + (exceeding) the channel A/D converter range. The remote scope and channel is specified + by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:CLIPping?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:CLIPping?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - S_CH:CLIPping? + ``` + """ + return self._clipping + + @property + def coupling(self) -> SItemChannelCoupling: + """Return the ``S_CH:COUPling`` command. + + Description: + - This command sets or queries the input coupling setting for the specified remote scope + analog channel. The remote scope and the channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:COUPling?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:COUPling value`` + command. + + SCPI Syntax: + ``` + - S_CH:COUPling {AC|DC|DCREJ} + - S_CH:COUPling? + ``` + + Info: + - ``AC`` sets the specified channel to AC coupling. + - ``DC`` sets the specified channel to DC coupling. + - ``DCREJect`` sets DC Reject coupling when probes are attached that support that + feature. + """ + return self._coupling + + @property + def deskew(self) -> SItemChannelDeskew: + """Return the ``S_CH:DESKew`` command. + + Description: + - This command sets or queries the horizontal deskew time for the specified channel. The + remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:DESKew?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:DESKew?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:DESKew value`` command. + + SCPI Syntax: + ``` + - S_CH:DESKew + - S_CH:DESKew? + ``` + + Info: + - ```` is the deskew time for this channel, ranging from -125 ns to +125 ns with a + resolution of 40 ps. Out-of-range values are clipped. + """ + return self._deskew + + @property + def label(self) -> SItemChannelLabel: + """Return the ``S_CH:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``S_CH:LABel:COLor`` command. + - ``.font``: The ``S_CH:LABel:FONT`` command tree. + - ``.name``: The ``S_CH:LABel:NAMe`` command. + - ``.xpos``: The ``S_CH:LABel:XPOS`` command. + - ``.ypos``: The ``S_CH:LABel:YPOS`` command. + """ + return self._label + + @property + def offset(self) -> SItemChannelOffset: + """Return the ``S_CH:OFFSet`` command. + + Description: + - This command sets or queries the vertical offset for the specified remote scope analog + channel. The remote scope and channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``S_CH:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH:OFFSet?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``S_CH:OFFSet value`` command. + + SCPI Syntax: + ``` + - S_CH:OFFSet + - S_CH:OFFSet? + ``` + + Info: + - ```` is the offset value for the specified remote scope analog channel. + """ + return self._offset + + @property + def position(self) -> SItemChannelPosition: + """Return the ``S_CH:POSition`` command. + + Description: + - This command sets or queries the vertical position for the specified analog channel. + The remote scope and channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:POSition value`` + command. + + SCPI Syntax: + ``` + - S_CH:POSition + ``` + + Info: + - ```` is the vertical position for the specified analog channel. + """ + return self._position + + @property + def scale(self) -> SItemChannelScale: + """Return the ``S_CH:SCAle`` command. + + Description: + - This command sets or returns the vertical scale for the specified remote scope analog + channel. The remote scope and the channel is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``S_CH:SCAle value`` command. + + SCPI Syntax: + ``` + - S_CH:SCAle + ``` + + Info: + - ```` is the vertical scale for the specified analog channel. + """ + return self._scale + + +class SItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``S`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S?`` query. + - Using the ``.verify(value)`` method will send the ``S?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``S_CH`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "S") -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SItemChannel] = DefaultDictPassKeyToFactory( + lambda x: SItemChannel(device, f"{self._cmd_syntax}_CH{x}") + ) + + @property + def ch(self) -> Dict[int, SItemChannel]: + """Return the ``S_CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S_CH?`` query. + - Using the ``.verify(value)`` method will send the ``S_CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bandwidth``: The ``S_CH:BANdwidth`` command tree. + - ``.clipping``: The ``S_CH:CLIPping`` command. + - ``.coupling``: The ``S_CH:COUPling`` command. + - ``.deskew``: The ``S_CH:DESKew`` command. + - ``.label``: The ``S_CH:LABel`` command tree. + - ``.offset``: The ``S_CH:OFFSet`` command. + - ``.position``: The ``S_CH:POSition`` command. + - ``.scale``: The ``S_CH:SCAle`` command. + """ + return self._ch diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/save.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/save.py new file mode 100644 index 00000000..f4ac9fc3 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/save.py @@ -0,0 +1,1275 @@ +# pylint: disable=line-too-long +"""The save commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - SAVe:EVENTtable:BUS + - SAVe:EVENTtable:CUSTom + - SAVe:EVENTtable:CUSTom:COMMents + - SAVe:EVENTtable:CUSTom:COMMents? + - SAVe:EVENTtable:CUSTom:DATAFormat [SCIentific|ENGineering] + - SAVe:EVENTtable:CUSTom:DATAFormat? + - SAVe:EVENTtable:CUSTom:INCLUDEREFs {1|0} + - SAVe:EVENTtable:CUSTom:INCLUDEREFs? + - SAVe:EVENTtable:MEASUrement + - SAVe:EVENTtable:PEAKS + - SAVe:EVENTtable:SEARCHTable + - SAVe:IMAGe + - SAVe:IMAGe:COMPosition {NORMal|INVErted} + - SAVe:IMAGe:COMPosition? + - SAVe:IMAGe:VIEWTYpe {FULLScreen} + - SAVe:IMAGe:VIEWTYpe? + - SAVe:PLOTData + - SAVe:REPOrt + - SAVe:REPOrt:COMMents + - SAVe:REPOrt:COMMents? + - SAVe:SESsion + - SAVe:SETUp + - SAVe:SETUp:INCLUDEREFs {OFF|ON|0|1} + - SAVe:SETUp:INCLUDEREFs? + - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME]|MATH|REF|ALL| }, + - SAVe:WAVEform:GATing {NONe|CURSors|SCREEN|RESAMPLE|SELected} + - SAVe:WAVEform:GATing:RESAMPLErate + - SAVe:WAVEform:GATing:RESAMPLErate? + - SAVe:WAVEform:GATing? + - SAVe:WAVEform:SOURCELIst? + ``` +""" # noqa: E501 + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead, SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class SaveWaveformSourcelist(SCPICmdRead): + """The ``SAVe:WAVEform:SOURCELIst`` command. + + Description: + - This query returns a list of the available waveforms that can be specified as the source + for the ``SAVe:WAVEform`` command. Source waveforms must have their display mode set to On + to appear in this list and to be saved. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:WAVEform:SOURCELIst?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:WAVEform:SOURCELIst?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SAVe:WAVEform:SOURCELIst? + ``` + """ + + +class SaveWaveformGatingResamplerate(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:WAVEform:GATing:RESAMPLErate`` command. + + Description: + - This command saves the waveform data at a sample interval. The resulting saved waveform is + a resampled version of the original waveform with fewer data points. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:WAVEform:GATing:RESAMPLErate?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:WAVEform:GATing:RESAMPLErate?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:WAVEform:GATing:RESAMPLErate value`` command. + + SCPI Syntax: + ``` + - SAVe:WAVEform:GATing:RESAMPLErate + - SAVe:WAVEform:GATing:RESAMPLErate? + ``` + + Info: + - ```` specifies the resample interval. + """ + + +class SaveWaveformGating(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:WAVEform:GATing`` command. + + Description: + - This command specifies the method to save a specified part of the waveform data or the + entire waveform. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:WAVEform:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:WAVEform:GATing?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:WAVEform:GATing value`` command. + + SCPI Syntax: + ``` + - SAVe:WAVEform:GATing {NONe|CURSors|SCREEN|RESAMPLE|SELected} + - SAVe:WAVEform:GATing? + ``` + + Info: + - ``NONe`` saves the full waveform data. + - ``CURSors`` saves the waveform data located between the vertical cursors. + - ``SCREEN`` saves the waveform data that is on the screen. Nothing outside the waveform + will be saved. + - ``RESAMPLE`` saves the waveform data at a sample interval set by the user. The resulting + saved waveform is a resampled version of the original waveform with fewer data points. + - ``SELected`` saves the data from the currently selected history or FastFrame acquisition. + + Properties: + - ``.resamplerate``: The ``SAVe:WAVEform:GATing:RESAMPLErate`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._resamplerate = SaveWaveformGatingResamplerate( + device, f"{self._cmd_syntax}:RESAMPLErate" + ) + + @property + def resamplerate(self) -> SaveWaveformGatingResamplerate: + """Return the ``SAVe:WAVEform:GATing:RESAMPLErate`` command. + + Description: + - This command saves the waveform data at a sample interval. The resulting saved + waveform is a resampled version of the original waveform with fewer data points. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:WAVEform:GATing:RESAMPLErate?`` + query. + - Using the ``.verify(value)`` method will send the + ``SAVe:WAVEform:GATing:RESAMPLErate?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:WAVEform:GATing:RESAMPLErate value`` command. + + SCPI Syntax: + ``` + - SAVe:WAVEform:GATing:RESAMPLErate + - SAVe:WAVEform:GATing:RESAMPLErate? + ``` + + Info: + - ```` specifies the resample interval. + """ + return self._resamplerate + + +class SaveWaveform(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:WAVEform`` command. + + Description: + - This command saves the specified waveform(s) to the specified destination file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:WAVEform value`` command. + + SCPI Syntax: + ``` + - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME]|MATH|REF|ALL| }, + ``` + + Info: + - ```` is the number of the analog channel, math, or reference waveform source used to + save the waveform data. + - ``_DALL`` saves the digital channel waveform data of the specified channel. + - ``_SV_NORMal`` saves the Normal Spectrum view waveform of the specified channel. + - ``_SV_AVErage`` saves the Average Spectrum view waveform of the specified channel. + - ``_SV_MAXHold`` saves the Maximum Hold Spectrum view waveform of the specified channel. + - ``_SV_MINHold`` saves the Minimum Hold Spectrum view waveform of the specified channel. + - ``_MAG_VS_TIME`` saves the Magnitude vs. + - ``_FREQ_VS_TIME`` saves the Freuency vs. + - ``_PHASE_VS_TIME`` saves the Phase vs. + - ``_SV_BASEBAND_IQ`` saves the baseband I & Q data of the specified channel. + - ``ALL`` saves all displayed analog, math, and reference waveforms to individual files. + - ```` is a quoted string that defines the path and file name to use to save the + specified file, in the format '[]`` uses the form '/. + - ```` sets the file name to use to create the file. + - ``<.ext>`` sets the file format to which to save the data. + + Properties: + - ``.gating``: The ``SAVe:WAVEform:GATing`` command. + - ``.sourcelist``: The ``SAVe:WAVEform:SOURCELIst`` command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._gating = SaveWaveformGating(device, f"{self._cmd_syntax}:GATing") + self._sourcelist = SaveWaveformSourcelist(device, f"{self._cmd_syntax}:SOURCELIst") + + @property + def gating(self) -> SaveWaveformGating: + """Return the ``SAVe:WAVEform:GATing`` command. + + Description: + - This command specifies the method to save a specified part of the waveform data or the + entire waveform. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:WAVEform:GATing?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:WAVEform:GATing?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:WAVEform:GATing value`` + command. + + SCPI Syntax: + ``` + - SAVe:WAVEform:GATing {NONe|CURSors|SCREEN|RESAMPLE|SELected} + - SAVe:WAVEform:GATing? + ``` + + Info: + - ``NONe`` saves the full waveform data. + - ``CURSors`` saves the waveform data located between the vertical cursors. + - ``SCREEN`` saves the waveform data that is on the screen. Nothing outside the waveform + will be saved. + - ``RESAMPLE`` saves the waveform data at a sample interval set by the user. The + resulting saved waveform is a resampled version of the original waveform with fewer + data points. + - ``SELected`` saves the data from the currently selected history or FastFrame + acquisition. + + Sub-properties: + - ``.resamplerate``: The ``SAVe:WAVEform:GATing:RESAMPLErate`` command. + """ + return self._gating + + @property + def sourcelist(self) -> SaveWaveformSourcelist: + """Return the ``SAVe:WAVEform:SOURCELIst`` command. + + Description: + - This query returns a list of the available waveforms that can be specified as the + source for the ``SAVe:WAVEform`` command. Source waveforms must have their display + mode set to On to appear in this list and to be saved. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:WAVEform:SOURCELIst?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:WAVEform:SOURCELIst?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SAVe:WAVEform:SOURCELIst? + ``` + """ + return self._sourcelist + + +class SaveSetupIncluderefs(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:SETUp:INCLUDEREFs`` command. + + Description: + - This command sets or queries whether displayed reference waveforms are to be included in + saved setups. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:SETUp:INCLUDEREFs?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:SETUp:INCLUDEREFs?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:SETUp:INCLUDEREFs value`` command. + + SCPI Syntax: + ``` + - SAVe:SETUp:INCLUDEREFs {OFF|ON|0|1} + - SAVe:SETUp:INCLUDEREFs? + ``` + + Info: + - ``OFF`` specifies not including displayed reference waveforms in saved setups. + - ``ON`` specifies including displayed reference waveforms in saved setups. + - ``0`` specifies not including displayed reference waveforms in saved setups. + - ``1`` specifies including displayed reference waveforms in saved setups. + """ + + +class SaveSetup(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:SETUp`` command. + + Description: + - Saves the current instrument state to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:SETUp value`` command. + + SCPI Syntax: + ``` + - SAVe:SETUp + ``` + + Info: + - ```` is a quoted string that is the complete path specification. If a file name + or path is specified, the file is expected to be located in a directory relative to the + current working directory (specified by ``FILESYSTEM:CWD``) unless a complete path is + specified. + + Properties: + - ``.includerefs``: The ``SAVe:SETUp:INCLUDEREFs`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._includerefs = SaveSetupIncluderefs(device, f"{self._cmd_syntax}:INCLUDEREFs") + + @property + def includerefs(self) -> SaveSetupIncluderefs: + """Return the ``SAVe:SETUp:INCLUDEREFs`` command. + + Description: + - This command sets or queries whether displayed reference waveforms are to be included + in saved setups. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:SETUp:INCLUDEREFs?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:SETUp:INCLUDEREFs?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:SETUp:INCLUDEREFs value`` + command. + + SCPI Syntax: + ``` + - SAVe:SETUp:INCLUDEREFs {OFF|ON|0|1} + - SAVe:SETUp:INCLUDEREFs? + ``` + + Info: + - ``OFF`` specifies not including displayed reference waveforms in saved setups. + - ``ON`` specifies including displayed reference waveforms in saved setups. + - ``0`` specifies not including displayed reference waveforms in saved setups. + - ``1`` specifies including displayed reference waveforms in saved setups. + """ + return self._includerefs + + +class SaveSession(SCPICmdWrite): + """The ``SAVe:SESsion`` command. + + Description: + - Saves the state of the instrument, including reference waveforms, to a saved session file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:SESsion value`` command. + + SCPI Syntax: + ``` + - SAVe:SESsion + ``` + + Info: + - ```` is the file path that specifies the location to save the specified + instrument session file. If a file name or path is specified, the file is expected to be + located in a directory relative to the current working directory (specified by. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveReportComments(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:REPOrt:COMMents`` command. + + Description: + - This command sets or queries the comments to be included in saved report files. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:REPOrt:COMMents?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:REPOrt:COMMents?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:REPOrt:COMMents value`` command. + + SCPI Syntax: + ``` + - SAVe:REPOrt:COMMents + - SAVe:REPOrt:COMMents? + ``` + + Info: + - ```` is the comments to be included in saved report files. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveReport(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:REPOrt`` command. + + Description: + - This command saves a report to the specified file. Supported report formats are PDF and + MHT (web page archive file). + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:REPOrt value`` command. + + SCPI Syntax: + ``` + - SAVe:REPOrt + ``` + + Info: + - ```` is the complete path specification. When specifying the file name with this + command, use the correct file extension (.pdf for PDF format, or .mht for MHT format). + + Properties: + - ``.comments``: The ``SAVe:REPOrt:COMMents`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._comments = SaveReportComments(device, f"{self._cmd_syntax}:COMMents") + + @property + def comments(self) -> SaveReportComments: + """Return the ``SAVe:REPOrt:COMMents`` command. + + Description: + - This command sets or queries the comments to be included in saved report files. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:REPOrt:COMMents?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:REPOrt:COMMents?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:REPOrt:COMMents value`` + command. + + SCPI Syntax: + ``` + - SAVe:REPOrt:COMMents + - SAVe:REPOrt:COMMents? + ``` + + Info: + - ```` is the comments to be included in saved report files. + """ + return self._comments + + +class SavePlotdata(SCPICmdWrite): + """The ``SAVe:PLOTData`` command. + + Description: + - Saves the plot data of the currently selected plot to a specified file. Supported file + format is CSV. When specifying the file name with this command, use the correct file + extension (.CSV). If a file name or path is specified, the file is expected to be located + in a directory relative to the current working directory (specified by ``FILESYSTEM:CWD``) + unless a complete path is specified. If the file argument begins with a drive designator + (such as C:), then the file name is interpreted as a full path. If the file argument + begins with '.' or '', or has a file path separator appearing anywhere other than the + first character position, then the file name is treated as a path that is relative to the + current working directory. To export an eye diagram plot data to a .csv file, the + prerequisite command is ``MEASUrement:ADDMEAS TIE`` + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:PLOTData value`` command. + + SCPI Syntax: + ``` + - SAVe:PLOTData + ``` + + Info: + - ```` sets the file name and location used to store the plot data. + """ + + +class SaveImageViewtype(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:IMAGe:VIEWTYpe`` command. + + Description: + - Sets or queries the view type for saved images. Currently only FULLScreen is supported. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:IMAGe:VIEWTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:IMAGe:VIEWTYpe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:IMAGe:VIEWTYpe value`` command. + + SCPI Syntax: + ``` + - SAVe:IMAGe:VIEWTYpe {FULLScreen} + - SAVe:IMAGe:VIEWTYpe? + ``` + + Info: + - ``FULLScreen`` sets the screen capture mode to capture the full screen. + """ + + +class SaveImageComposition(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:IMAGe:COMPosition`` command. + + Description: + - Sets or queries the color mode for saved images (normal or inverted). + + Usage: + - Using the ``.query()`` method will send the ``SAVe:IMAGe:COMPosition?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:IMAGe:COMPosition?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:IMAGe:COMPosition value`` command. + + SCPI Syntax: + ``` + - SAVe:IMAGe:COMPosition {NORMal|INVErted} + - SAVe:IMAGe:COMPosition? + ``` + + Info: + - ``NORMal`` Sets the saved screen capture to Normal colors. + - ``INVErted`` sets the saved screen capture to Inverted colors. + """ + + +class SaveImage(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:IMAGe`` command. + + Description: + - Saves a capture of the screen contents to the specified image file. Supported image + formats are PNG, Windows Bitmap, and JPEG. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:IMAGe value`` command. + + SCPI Syntax: + ``` + - SAVe:IMAGe + ``` + + Info: + - ```` is the file name and location used to store the image file. + + Properties: + - ``.composition``: The ``SAVe:IMAGe:COMPosition`` command. + - ``.viewtype``: The ``SAVe:IMAGe:VIEWTYpe`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._composition = SaveImageComposition(device, f"{self._cmd_syntax}:COMPosition") + self._viewtype = SaveImageViewtype(device, f"{self._cmd_syntax}:VIEWTYpe") + + @property + def composition(self) -> SaveImageComposition: + """Return the ``SAVe:IMAGe:COMPosition`` command. + + Description: + - Sets or queries the color mode for saved images (normal or inverted). + + Usage: + - Using the ``.query()`` method will send the ``SAVe:IMAGe:COMPosition?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:IMAGe:COMPosition?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:IMAGe:COMPosition value`` + command. + + SCPI Syntax: + ``` + - SAVe:IMAGe:COMPosition {NORMal|INVErted} + - SAVe:IMAGe:COMPosition? + ``` + + Info: + - ``NORMal`` Sets the saved screen capture to Normal colors. + - ``INVErted`` sets the saved screen capture to Inverted colors. + """ + return self._composition + + @property + def viewtype(self) -> SaveImageViewtype: + """Return the ``SAVe:IMAGe:VIEWTYpe`` command. + + Description: + - Sets or queries the view type for saved images. Currently only FULLScreen is + supported. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:IMAGe:VIEWTYpe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:IMAGe:VIEWTYpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:IMAGe:VIEWTYpe value`` + command. + + SCPI Syntax: + ``` + - SAVe:IMAGe:VIEWTYpe {FULLScreen} + - SAVe:IMAGe:VIEWTYpe? + ``` + + Info: + - ``FULLScreen`` sets the screen capture mode to capture the full screen. + """ + return self._viewtype + + +class SaveEventtableSearchtable(SCPICmdWrite): + """The ``SAVe:EVENTtable:SEARCHTable`` command. + + Description: + - This command saves a search results table to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:SEARCHTable value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:SEARCHTable + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory (specified + by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveEventtablePeaks(SCPICmdWrite): + """The ``SAVe:EVENTtable:PEAKS`` command. + + Description: + - This command saves peak markers results table to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:PEAKS value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:PEAKS + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory (specified + by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveEventtableMeasurement(SCPICmdWrite): + """The ``SAVe:EVENTtable:MEASUrement`` command. + + Description: + - This command saves data (measurement) results to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:MEASUrement value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:MEASUrement + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory (specified + by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveEventtableCustomIncluderefs(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:EVENTtable:CUSTom:INCLUDEREFs`` command. + + Description: + - This command sets or queries whether to include displayed reference waveforms with saved + results table files. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:INCLUDEREFs?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable:CUSTom:INCLUDEREFs?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:INCLUDEREFs value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom:INCLUDEREFs {1|0} + - SAVe:EVENTtable:CUSTom:INCLUDEREFs? + ``` + + Info: + - ``1`` sets the instrument to save all displayed reference waveforms as part of a saved + results table file. + - ``0`` sets the instrument to not save all displayed reference waveforms as part of a saved + results table file. + """ + + +class SaveEventtableCustomDataformat(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:EVENTtable:CUSTom:DATAFormat`` command. + + Description: + - This command sets or queries the data format to use for saving results table data. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:DATAFormat value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom:DATAFormat [SCIentific|ENGineering] + - SAVe:EVENTtable:CUSTom:DATAFormat? + ``` + + Info: + - ``SCIentific`` sets the instrument to save results tables data in scientific notation (for + example, 5.0100E-12). + - ``ENGineering`` sets the instrument to save results tables data in engineering notation + (for example, 5.0100ps). + """ + + +class SaveEventtableCustomComments(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:EVENTtable:CUSTom:COMMents`` command. + + Description: + - This command sets or queries comments to be included in saved results table files. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:COMMents?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable:CUSTom:COMMents?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:CUSTom:COMMents value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom:COMMents + - SAVe:EVENTtable:CUSTom:COMMents? + ``` + + Info: + - ```` sets the instrument to save the quoted string as a comment in the saved + results table file. + """ + + +class SaveEventtableCustom(SCPICmdWrite, SCPICmdRead): + """The ``SAVe:EVENTtable:CUSTom`` command. + + Description: + - This command saves the results table to the specified file path and name. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:CUSTom value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory (specified + by ``FILESYSTEM:CWD``) unless a complete path is specified. + + Properties: + - ``.comments``: The ``SAVe:EVENTtable:CUSTom:COMMents`` command. + - ``.dataformat``: The ``SAVe:EVENTtable:CUSTom:DATAFormat`` command. + - ``.includerefs``: The ``SAVe:EVENTtable:CUSTom:INCLUDEREFs`` command. + """ + + _WRAP_ARG_WITH_QUOTES = True + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._comments = SaveEventtableCustomComments(device, f"{self._cmd_syntax}:COMMents") + self._dataformat = SaveEventtableCustomDataformat(device, f"{self._cmd_syntax}:DATAFormat") + self._includerefs = SaveEventtableCustomIncluderefs( + device, f"{self._cmd_syntax}:INCLUDEREFs" + ) + + @property + def comments(self) -> SaveEventtableCustomComments: + """Return the ``SAVe:EVENTtable:CUSTom:COMMents`` command. + + Description: + - This command sets or queries comments to be included in saved results table files. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:COMMents?`` + query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable:CUSTom:COMMents?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:COMMents value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom:COMMents + - SAVe:EVENTtable:CUSTom:COMMents? + ``` + + Info: + - ```` sets the instrument to save the quoted string as a comment in the saved + results table file. + """ + return self._comments + + @property + def dataformat(self) -> SaveEventtableCustomDataformat: + """Return the ``SAVe:EVENTtable:CUSTom:DATAFormat`` command. + + Description: + - This command sets or queries the data format to use for saving results table data. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:DATAFormat?`` + query. + - Using the ``.verify(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:DATAFormat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:DATAFormat value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom:DATAFormat [SCIentific|ENGineering] + - SAVe:EVENTtable:CUSTom:DATAFormat? + ``` + + Info: + - ``SCIentific`` sets the instrument to save results tables data in scientific notation + (for example, 5.0100E-12). + - ``ENGineering`` sets the instrument to save results tables data in engineering + notation (for example, 5.0100ps). + """ + return self._dataformat + + @property + def includerefs(self) -> SaveEventtableCustomIncluderefs: + """Return the ``SAVe:EVENTtable:CUSTom:INCLUDEREFs`` command. + + Description: + - This command sets or queries whether to include displayed reference waveforms with + saved results table files. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable:CUSTom:INCLUDEREFs?`` + query. + - Using the ``.verify(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:INCLUDEREFs?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVe:EVENTtable:CUSTom:INCLUDEREFs value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom:INCLUDEREFs {1|0} + - SAVe:EVENTtable:CUSTom:INCLUDEREFs? + ``` + + Info: + - ``1`` sets the instrument to save all displayed reference waveforms as part of a saved + results table file. + - ``0`` sets the instrument to not save all displayed reference waveforms as part of a + saved results table file. + """ + return self._includerefs + + +class SaveEventtableBus(SCPICmdWrite): + """The ``SAVe:EVENTtable:BUS`` command. + + Description: + - This command saves bus results table to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:BUS value`` command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:BUS + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory (specified + by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveEventtable(SCPICmdRead): + """The ``SAVe:EVENTtable`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bus``: The ``SAVe:EVENTtable:BUS`` command. + - ``.custom``: The ``SAVe:EVENTtable:CUSTom`` command. + - ``.measurement``: The ``SAVe:EVENTtable:MEASUrement`` command. + - ``.peaks``: The ``SAVe:EVENTtable:PEAKS`` command. + - ``.searchtable``: The ``SAVe:EVENTtable:SEARCHTable`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bus = SaveEventtableBus(device, f"{self._cmd_syntax}:BUS") + self._custom = SaveEventtableCustom(device, f"{self._cmd_syntax}:CUSTom") + self._measurement = SaveEventtableMeasurement(device, f"{self._cmd_syntax}:MEASUrement") + self._peaks = SaveEventtablePeaks(device, f"{self._cmd_syntax}:PEAKS") + self._searchtable = SaveEventtableSearchtable(device, f"{self._cmd_syntax}:SEARCHTable") + + @property + def bus(self) -> SaveEventtableBus: + """Return the ``SAVe:EVENTtable:BUS`` command. + + Description: + - This command saves bus results table to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:BUS value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:BUS + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory + (specified by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + return self._bus + + @property + def custom(self) -> SaveEventtableCustom: + """Return the ``SAVe:EVENTtable:CUSTom`` command. + + Description: + - This command saves the results table to the specified file path and name. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:CUSTom value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:CUSTom + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory + (specified by ``FILESYSTEM:CWD``) unless a complete path is specified. + + Sub-properties: + - ``.comments``: The ``SAVe:EVENTtable:CUSTom:COMMents`` command. + - ``.dataformat``: The ``SAVe:EVENTtable:CUSTom:DATAFormat`` command. + - ``.includerefs``: The ``SAVe:EVENTtable:CUSTom:INCLUDEREFs`` command. + """ + return self._custom + + @property + def measurement(self) -> SaveEventtableMeasurement: + """Return the ``SAVe:EVENTtable:MEASUrement`` command. + + Description: + - This command saves data (measurement) results to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:MEASUrement value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:MEASUrement + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory + (specified by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + return self._measurement + + @property + def peaks(self) -> SaveEventtablePeaks: + """Return the ``SAVe:EVENTtable:PEAKS`` command. + + Description: + - This command saves peak markers results table to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:PEAKS value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:PEAKS + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory + (specified by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + return self._peaks + + @property + def searchtable(self) -> SaveEventtableSearchtable: + """Return the ``SAVe:EVENTtable:SEARCHTable`` command. + + Description: + - This command saves a search results table to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:EVENTtable:SEARCHTable value`` + command. + + SCPI Syntax: + ``` + - SAVe:EVENTtable:SEARCHTable + ``` + + Info: + - ```` is the specified file. If a file name or path is specified, the file is + expected to be located in a directory relative to the current working directory + (specified by ``FILESYSTEM:CWD``) unless a complete path is specified. + """ + return self._searchtable + + +class Save(SCPICmdRead): + """The ``SAVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. + - ``.image``: The ``SAVe:IMAGe`` command. + - ``.plotdata``: The ``SAVe:PLOTData`` command. + - ``.report``: The ``SAVe:REPOrt`` command. + - ``.session``: The ``SAVe:SESsion`` command. + - ``.setup``: The ``SAVe:SETUp`` command. + - ``.waveform``: The ``SAVe:WAVEform`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SAVe") -> None: + super().__init__(device, cmd_syntax) + self._eventtable = SaveEventtable(device, f"{self._cmd_syntax}:EVENTtable") + self._image = SaveImage(device, f"{self._cmd_syntax}:IMAGe") + self._plotdata = SavePlotdata(device, f"{self._cmd_syntax}:PLOTData") + self._report = SaveReport(device, f"{self._cmd_syntax}:REPOrt") + self._session = SaveSession(device, f"{self._cmd_syntax}:SESsion") + self._setup = SaveSetup(device, f"{self._cmd_syntax}:SETUp") + self._waveform = SaveWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def eventtable(self) -> SaveEventtable: + """Return the ``SAVe:EVENTtable`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVe:EVENTtable?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe:EVENTtable?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bus``: The ``SAVe:EVENTtable:BUS`` command. + - ``.custom``: The ``SAVe:EVENTtable:CUSTom`` command. + - ``.measurement``: The ``SAVe:EVENTtable:MEASUrement`` command. + - ``.peaks``: The ``SAVe:EVENTtable:PEAKS`` command. + - ``.searchtable``: The ``SAVe:EVENTtable:SEARCHTable`` command. + """ + return self._eventtable + + @property + def image(self) -> SaveImage: + """Return the ``SAVe:IMAGe`` command. + + Description: + - Saves a capture of the screen contents to the specified image file. Supported image + formats are PNG, Windows Bitmap, and JPEG. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:IMAGe value`` command. + + SCPI Syntax: + ``` + - SAVe:IMAGe + ``` + + Info: + - ```` is the file name and location used to store the image file. + + Sub-properties: + - ``.composition``: The ``SAVe:IMAGe:COMPosition`` command. + - ``.viewtype``: The ``SAVe:IMAGe:VIEWTYpe`` command. + """ + return self._image + + @property + def plotdata(self) -> SavePlotdata: + """Return the ``SAVe:PLOTData`` command. + + Description: + - Saves the plot data of the currently selected plot to a specified file. Supported file + format is CSV. When specifying the file name with this command, use the correct file + extension (.CSV). If a file name or path is specified, the file is expected to be + located in a directory relative to the current working directory (specified by + ``FILESYSTEM:CWD``) unless a complete path is specified. If the file argument begins + with a drive designator (such as C:), then the file name is interpreted as a full + path. If the file argument begins with '.' or '', or has a file path separator + appearing anywhere other than the first character position, then the file name is + treated as a path that is relative to the current working directory. To export an eye + diagram plot data to a .csv file, the prerequisite command is + ``MEASUrement:ADDMEAS TIE`` + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:PLOTData value`` command. + + SCPI Syntax: + ``` + - SAVe:PLOTData + ``` + + Info: + - ```` sets the file name and location used to store the plot data. + """ + return self._plotdata + + @property + def report(self) -> SaveReport: + """Return the ``SAVe:REPOrt`` command. + + Description: + - This command saves a report to the specified file. Supported report formats are PDF + and MHT (web page archive file). + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:REPOrt value`` command. + + SCPI Syntax: + ``` + - SAVe:REPOrt + ``` + + Info: + - ```` is the complete path specification. When specifying the file name with + this command, use the correct file extension (.pdf for PDF format, or .mht for MHT + format). + + Sub-properties: + - ``.comments``: The ``SAVe:REPOrt:COMMents`` command. + """ + return self._report + + @property + def session(self) -> SaveSession: + """Return the ``SAVe:SESsion`` command. + + Description: + - Saves the state of the instrument, including reference waveforms, to a saved session + file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:SESsion value`` command. + + SCPI Syntax: + ``` + - SAVe:SESsion + ``` + + Info: + - ```` is the file path that specifies the location to save the specified + instrument session file. If a file name or path is specified, the file is expected to + be located in a directory relative to the current working directory (specified by. + """ + return self._session + + @property + def setup(self) -> SaveSetup: + """Return the ``SAVe:SETUp`` command. + + Description: + - Saves the current instrument state to the specified file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:SETUp value`` command. + + SCPI Syntax: + ``` + - SAVe:SETUp + ``` + + Info: + - ```` is a quoted string that is the complete path specification. If a file + name or path is specified, the file is expected to be located in a directory relative + to the current working directory (specified by ``FILESYSTEM:CWD``) unless a complete + path is specified. + + Sub-properties: + - ``.includerefs``: The ``SAVe:SETUp:INCLUDEREFs`` command. + """ + return self._setup + + @property + def waveform(self) -> SaveWaveform: + """Return the ``SAVe:WAVEform`` command. + + Description: + - This command saves the specified waveform(s) to the specified destination file. + + Usage: + - Using the ``.write(value)`` method will send the ``SAVe:WAVEform value`` command. + + SCPI Syntax: + ``` + - SAVe:WAVEform {CH[_DALL|_SV_NORMal|_SV_AVErage|_SV_MAXHold| _SV_MINHold|_MAG_VS_TIME|_FREQ_VS_TIME| _PHASE_VS_TIME]|MATH|REF|ALL| }, + ``` + + Info: + - ```` is the number of the analog channel, math, or reference waveform source used + to save the waveform data. + - ``_DALL`` saves the digital channel waveform data of the specified channel. + - ``_SV_NORMal`` saves the Normal Spectrum view waveform of the specified channel. + - ``_SV_AVErage`` saves the Average Spectrum view waveform of the specified channel. + - ``_SV_MAXHold`` saves the Maximum Hold Spectrum view waveform of the specified + channel. + - ``_SV_MINHold`` saves the Minimum Hold Spectrum view waveform of the specified + channel. + - ``_MAG_VS_TIME`` saves the Magnitude vs. + - ``_FREQ_VS_TIME`` saves the Freuency vs. + - ``_PHASE_VS_TIME`` saves the Phase vs. + - ``_SV_BASEBAND_IQ`` saves the baseband I & Q data of the specified channel. + - ``ALL`` saves all displayed analog, math, and reference waveforms to individual files. + - ```` is a quoted string that defines the path and file name to use to save + the specified file, in the format '[]`` uses the form '/. + - ```` sets the file name to use to create the file. + - ``<.ext>`` sets the file format to which to save the data. + + Sub-properties: + - ``.gating``: The ``SAVe:WAVEform:GATing`` command. + - ``.sourcelist``: The ``SAVe:WAVEform:SOURCELIst`` command. + """ # noqa: E501 + return self._waveform diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/saveonevent.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/saveonevent.py new file mode 100644 index 00000000..bf33b9a2 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/saveonevent.py @@ -0,0 +1,404 @@ +"""The saveonevent commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - SAVEONEVent:FILEDest + - SAVEONEVent:FILEDest? + - SAVEONEVent:FILEName + - SAVEONEVent:FILEName? + - SAVEONEVent:IMAGe:FILEFormat {PNG|BMP|JPG} + - SAVEONEVent:IMAGe:FILEFormat? + - SAVEONEVent:WAVEform:FILEFormat {INTERNal|SPREADSheet|MATlab} + - SAVEONEVent:WAVEform:FILEFormat? + - SAVEONEVent:WAVEform:SOUrce {S_CH|CH|MATH|REF|ALL} + - SAVEONEVent:WAVEform:SOUrce? + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead, SCPICmdReadWithArguments, SCPICmdWrite, SCPICmdWriteNoArguments + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class SaveoneventWaveformSource(SCPICmdWrite, SCPICmdRead): + """The ``SAVEONEVent:WAVEform:SOUrce`` command. + + Description: + - This command sets or returns the sources for saving waveforms when an event occurs. This + command replaces ``SAVEON:WAVEform:SOURce`` (still valid command, but only an alias for + this new command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:WAVEform:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:WAVEform:SOUrce?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVEONEVent:WAVEform:SOUrce value`` + command. + + SCPI Syntax: + ``` + - SAVEONEVent:WAVEform:SOUrce {S_CH|CH|MATH|REF|ALL} + - SAVEONEVent:WAVEform:SOUrce? + ``` + + Info: + - ``S_CH`` specifies the remote scope and the analog channel. + - ``CH`` specifies an analog channel as the source waveform for saving. + - ``Math`` specifies a math waveform as the source waveform for saving. + - ``REF`` specifies a reference waveform as the source waveform for saving. + - ``ALL`` specifies all analog, math, and reference waveforms as the source waveforms for + saving. + """ + + +class SaveoneventWaveformFileformat(SCPICmdWrite, SCPICmdRead): + """The ``SAVEONEVent:WAVEform:FILEFormat`` command. + + Description: + - This command sets or returns the file extension (csv, wfm, mat). This command replaces + ``SAVEON:WAVEFORM:FILEFORMAT`` (still valid command, but only an alias for this new + command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:WAVEform:FILEFormat?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:WAVEform:FILEFormat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVEONEVent:WAVEform:FILEFormat value`` + command. + + SCPI Syntax: + ``` + - SAVEONEVent:WAVEform:FILEFormat {INTERNal|SPREADSheet|MATlab} + - SAVEONEVent:WAVEform:FILEFormat? + ``` + + Info: + - ``INTERNal`` specifies saving the waveform in the instrument internal format. + - ``SPREADSheet`` specifies saving the waveform in comma separated values format. + - ``MATlab`` specifies saving the waveform in matlab compatible file format. + """ + + +class SaveoneventWaveform(SCPICmdRead): + """The ``SAVEONEVent:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:WAVEform?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fileformat``: The ``SAVEONEVent:WAVEform:FILEFormat`` command. + - ``.source``: The ``SAVEONEVent:WAVEform:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fileformat = SaveoneventWaveformFileformat(device, f"{self._cmd_syntax}:FILEFormat") + self._source = SaveoneventWaveformSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def fileformat(self) -> SaveoneventWaveformFileformat: + """Return the ``SAVEONEVent:WAVEform:FILEFormat`` command. + + Description: + - This command sets or returns the file extension (csv, wfm, mat). This command replaces + ``SAVEON:WAVEFORM:FILEFORMAT`` (still valid command, but only an alias for this new + command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:WAVEform:FILEFormat?`` + query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:WAVEform:FILEFormat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVEONEVent:WAVEform:FILEFormat value`` command. + + SCPI Syntax: + ``` + - SAVEONEVent:WAVEform:FILEFormat {INTERNal|SPREADSheet|MATlab} + - SAVEONEVent:WAVEform:FILEFormat? + ``` + + Info: + - ``INTERNal`` specifies saving the waveform in the instrument internal format. + - ``SPREADSheet`` specifies saving the waveform in comma separated values format. + - ``MATlab`` specifies saving the waveform in matlab compatible file format. + """ + return self._fileformat + + @property + def source(self) -> SaveoneventWaveformSource: + """Return the ``SAVEONEVent:WAVEform:SOUrce`` command. + + Description: + - This command sets or returns the sources for saving waveforms when an event occurs. + This command replaces ``SAVEON:WAVEform:SOURce`` (still valid command, but only an + alias for this new command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:WAVEform:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:WAVEform:SOUrce?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVEONEVent:WAVEform:SOUrce value`` + command. + + SCPI Syntax: + ``` + - SAVEONEVent:WAVEform:SOUrce {S_CH|CH|MATH|REF|ALL} + - SAVEONEVent:WAVEform:SOUrce? + ``` + + Info: + - ``S_CH`` specifies the remote scope and the analog channel. + - ``CH`` specifies an analog channel as the source waveform for saving. + - ``Math`` specifies a math waveform as the source waveform for saving. + - ``REF`` specifies a reference waveform as the source waveform for saving. + - ``ALL`` specifies all analog, math, and reference waveforms as the source waveforms + for saving. + """ + return self._source + + +class SaveoneventImageFileformat(SCPICmdWrite, SCPICmdRead): + """The ``SAVEONEVent:IMAGe:FILEFormat`` command. + + Description: + - This command sets or returns the image file extension (png, jpg, bmp). This command + replaces ``SAVEON:IMAGE:FILEFORMAT`` (still valid command, but only an alias for this new + command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:IMAGe:FILEFormat?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:IMAGe:FILEFormat?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVEONEVent:IMAGe:FILEFormat value`` + command. + + SCPI Syntax: + ``` + - SAVEONEVent:IMAGe:FILEFormat {PNG|BMP|JPG} + - SAVEONEVent:IMAGe:FILEFormat? + ``` + + Info: + - ``PNG`` specifies using PNG format for saved image files. + - ``BMP`` specifies using BMP format for saved image files. + - ``JPG`` specifies using JPEG format for saved image files. + """ + + +class SaveoneventImage(SCPICmdRead): + """The ``SAVEONEVent:IMAGe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:IMAGe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:IMAGe?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.fileformat``: The ``SAVEONEVent:IMAGe:FILEFormat`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._fileformat = SaveoneventImageFileformat(device, f"{self._cmd_syntax}:FILEFormat") + + @property + def fileformat(self) -> SaveoneventImageFileformat: + """Return the ``SAVEONEVent:IMAGe:FILEFormat`` command. + + Description: + - This command sets or returns the image file extension (png, jpg, bmp). This command + replaces ``SAVEON:IMAGE:FILEFORMAT`` (still valid command, but only an alias for this + new command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:IMAGe:FILEFormat?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:IMAGe:FILEFormat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SAVEONEVent:IMAGe:FILEFormat value`` command. + + SCPI Syntax: + ``` + - SAVEONEVent:IMAGe:FILEFormat {PNG|BMP|JPG} + - SAVEONEVent:IMAGe:FILEFormat? + ``` + + Info: + - ``PNG`` specifies using PNG format for saved image files. + - ``BMP`` specifies using BMP format for saved image files. + - ``JPG`` specifies using JPEG format for saved image files. + """ + return self._fileformat + + +class SaveoneventFilename(SCPICmdWrite, SCPICmdRead): + """The ``SAVEONEVent:FILEName`` command. + + Description: + - This command sets or queries the file name without the extension. This command replaces + ``SAVEON:FILE:NAME`` (still valid command, but only an alias for this new command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:FILEName?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:FILEName?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVEONEVent:FILEName value`` command. + + SCPI Syntax: + ``` + - SAVEONEVent:FILEName + - SAVEONEVent:FILEName? + ``` + + Info: + - ```` specifies the name of the file. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SaveoneventFiledest(SCPICmdWriteNoArguments, SCPICmdReadWithArguments): + """The ``SAVEONEVent:FILEDest`` command. + + Description: + - This command sets or queries the location where files are saved. This command replaces + ``SAVEON:FILE:DEST`` (still valid command, but only an alias for this new command). + + Usage: + - Using the ``.query(argument)`` method will send the ``SAVEONEVent:FILEDest? argument`` + query. + - Using the ``.verify(argument, value)`` method will send the + ``SAVEONEVent:FILEDest? argument`` query and raise an AssertionError if the returned value + does not match ``value``. + - Using the ``.write()`` method will send the ``SAVEONEVent:FILEDest`` command. + + SCPI Syntax: + ``` + - SAVEONEVent:FILEDest + - SAVEONEVent:FILEDest? + ``` + + Info: + - ```` specifies the location to store files. + """ + + +class Saveonevent(SCPICmdRead): + """The ``SAVEONEVent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.filedest``: The ``SAVEONEVent:FILEDest`` command. + - ``.filename``: The ``SAVEONEVent:FILEName`` command. + - ``.image``: The ``SAVEONEVent:IMAGe`` command tree. + - ``.waveform``: The ``SAVEONEVent:WAVEform`` command tree. + """ + + def __init__( + self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SAVEONEVent" + ) -> None: + super().__init__(device, cmd_syntax) + self._filedest = SaveoneventFiledest(device, f"{self._cmd_syntax}:FILEDest") + self._filename = SaveoneventFilename(device, f"{self._cmd_syntax}:FILEName") + self._image = SaveoneventImage(device, f"{self._cmd_syntax}:IMAGe") + self._waveform = SaveoneventWaveform(device, f"{self._cmd_syntax}:WAVEform") + + @property + def filedest(self) -> SaveoneventFiledest: + """Return the ``SAVEONEVent:FILEDest`` command. + + Description: + - This command sets or queries the location where files are saved. This command replaces + ``SAVEON:FILE:DEST`` (still valid command, but only an alias for this new command). + + Usage: + - Using the ``.query(argument)`` method will send the ``SAVEONEVent:FILEDest? argument`` + query. + - Using the ``.verify(argument, value)`` method will send the + ``SAVEONEVent:FILEDest? argument`` query and raise an AssertionError if the returned + value does not match ``value``. + - Using the ``.write()`` method will send the ``SAVEONEVent:FILEDest`` command. + + SCPI Syntax: + ``` + - SAVEONEVent:FILEDest + - SAVEONEVent:FILEDest? + ``` + + Info: + - ```` specifies the location to store files. + """ + return self._filedest + + @property + def filename(self) -> SaveoneventFilename: + """Return the ``SAVEONEVent:FILEName`` command. + + Description: + - This command sets or queries the file name without the extension. This command + replaces ``SAVEON:FILE:NAME`` (still valid command, but only an alias for this new + command). + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:FILEName?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:FILEName?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SAVEONEVent:FILEName value`` + command. + + SCPI Syntax: + ``` + - SAVEONEVent:FILEName + - SAVEONEVent:FILEName? + ``` + + Info: + - ```` specifies the name of the file. + """ + return self._filename + + @property + def image(self) -> SaveoneventImage: + """Return the ``SAVEONEVent:IMAGe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:IMAGe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:IMAGe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.fileformat``: The ``SAVEONEVent:IMAGe:FILEFormat`` command. + """ + return self._image + + @property + def waveform(self) -> SaveoneventWaveform: + """Return the ``SAVEONEVent:WAVEform`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent:WAVEform?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent:WAVEform?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.fileformat``: The ``SAVEONEVent:WAVEform:FILEFormat`` command. + - ``.source``: The ``SAVEONEVent:WAVEform:SOUrce`` command. + """ + return self._waveform diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/search.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/search.py new file mode 100644 index 00000000..cccb1fdb --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/search.py @@ -0,0 +1,54615 @@ +# pylint: disable=line-too-long +"""The search commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - SEARCH:ADDNew + - SEARCH:DELETEALL + - SEARCH:DELete + - SEARCH:LIST? + - SEARCH:SEARCH:COPy {SEARCHtotrigger|TRIGgertosearch} + - SEARCH:SEARCH:NAVigate {NEXT|PREVious|MIN|NONE|MAX} + - SEARCH:SEARCH:TOTAL? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition {SOW|LABel|DATa|LABELANDDATA|EOW|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe {ANY|PARity|WORD|GAP} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition {SOF|DATa} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD {EITher|LEFt|RIGht} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition {SSD|SFD|MACADDRess|MACLENgth|IPHeader|TCPHeader|DATa|EOP|FCSError|QTAG} + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition {DATa} + - SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition {STARt|STATus|DATa|BLOCkid|SENSORSTATus|ERRors|STARTBIT|FUNCTIONCODe|ECUDATa|SENSORADDRess|REGISTERADDRess|SENSORSTATus|CRCERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs {FOURBIT|EIGHTBIT|TWENTYBIT} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe {ANY|PARity|CRC|RESPONSECODe} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess {TWOBIT|SIXBIT|EIGHTBIT} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe {READy|BUSY|DEFect|SERVICEMODe|UNLocked} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition {SYMbols|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition {SOF|FRAMEtype|IDentifier|DATa|IDANDDATA|EOF|ERRor|FDBITS} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection {READ|WRITE|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier {EQUal|LESSEQual|MOREEQua|UNEQual|LESSthan|MOREthan} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType {ACKMISS|BITSTUFFing|FORMERRor|ANYERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype {DATa|ERRor|OVERLoad|REMote} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe {EXTENDed|STandard} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe? + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition {SOT|EOT|DATa|EOTPDATa|OPTIONALPARam|SCRambling|COMPression|PACKets|BUSTURNAROUnd|ESCAPEMODe|STop|ERRors|MODe|WORD|SYMBol} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe {ANY|ECC|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand {LPDT|ULPS|RESETTRIGger|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe {HS|LP} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST {VSYNCSTART|VSYNCEND|HSYNCSTART|HSYNCEND|EOTP|COLOROFF|COLORON|SHUTDOWN|TURNON|GSW|GR|COMPRESSION|SCRAMBLING|EXECUTEQUEue|DCSSW|DCSR|GLONGWRITE|DSINULL|DSIBLANk|MAXRETSIZE|DCSGLONGWRITE|PICPARameter|COMPRESSEDPSTReam|PPS101010|PPS121212|PPS565|PPS666|LPS666|PPS888|YCBCR24|LPYCBCR24|YCBCR16|YCBCR12|ACKNowledge|ERRORREPort|GSRR|GLONGREAD|DCSLONGREAD|DCSSRR|FRAMESTARt|FRAMEEND|LINESTARt|LINEEND|GSP|CSINULL|CSIBLANk|EMBEDDED|USEREIGHTB|RGB565|RGB555|RGB444|RGB666|RAW6|RAW7|RAW8|RAW10|RAW12|RAW14|RAW16|RAW20|RGB888|YUV420L8|YUV8BIT|YUV422B10|YUV420B10} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe {SHORt|LONG} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion {PIXELVALue|PIXELNUMBer} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V? + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition {STARt|FRAMes|FRAMEID|PTYPe|DLC|EXTDLC|NETMN|COUNter|DATa|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe {CRC|PARity|FRAMe|IBS|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe {NORMal|SLEep|LONG|POLLINGNORMal|POLLINGLONG} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND {ON|OFF|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND? + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND {ON|OFF|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition {SOT|EOT|DATa|EOTPDATa|OPTIONALPARam|SCRambling|COMPression|PACKets|BUSTURNAROUnd|ESCAPEMODe|STop|ERRors|MODe} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe {ANY|ECC|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand {LPDT|ULPS|RESETTRIGger|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe {HS|LP} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST {VSYNCSTART|VSYNCEND|HSYNCSTART|HSYNCEND|EOTP|COLOROFF|COLORON|SHUTDOWN|TURNON|GSW|GR|COMPRESSION|SCRAMBLING|EXECUTEQUEue|DCSSW|DCSR|GLONGWRITE|DSINULL|DSIBLANk|MAXRETSIZE|DCSGLONGWRITE|PICPARameter|COMPRESSEDPSTReam|PPS101010|PPS121212|PPS565|PPS666|LPS666|PPS888|YCBCR24|LPYCBCR24|YCBCR16|YCBCR12|ACKNowledge|ERRORREPort|GSRR|GLONGREAD|DCSLONGREAD|DCSSRR|FRAMESTARt|FRAMEEND|LINESTARt|LINEEND|GSP|CSINULL|CSIBLANk|EMBEDDED|USEREIGHTB|RGB565|RGB555|RGB444|RGB666|RAW6|RAW7|RAW8|RAW10|RAW12|RAW14|RAW16|RAW20|RGB888|YUV420L8|YUV8BIT|YUV422B10|YUV420B10} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe {SHORt|LONG} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion {PIXELVALue|PIXELNUMBer} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V? + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode {GETSTATus|GETCONFig|SETCONFig|GETNP|GETPC|PUTNP|PUTPC|PUTIORDSHORt|PUTIOWRSHORt|PUTMEMRD32SHORt|PUTMEMWR32SHORt|PUTOOB|GETOOB|PUTFLASHC|GETFLASHNP|PUTVWIRe|GETVWIRe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition {STARt|CHINDependent|PERICHANnel|OOBCHANnel|VWCHANnel|FACHANnel|DATa|STATus|ERRors|WAIT|END} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe {MEMRD32|MEMRD64|MEMWR32|MEMWR64|MESSage|MSGWITHDATa|SUCCESSNODATa|SUCCESSDATa|UNSUCCESSNODATa|OOBSMBUS|MCTP|FLASHREAD|FLASHWRITe|FLASHERASe|FLSUCCESSNODATa|FLSUCCESSDATa|FLUNSUCCESSNODATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe {CRC|DEFer|FATal|NONFATal|NORESPonse|CMDOPCODe|CYCLETYPe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe {COMMand|RESPONSE|RESPONSEHEADer|RESPONSENOHEADer} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe {MEMRDWR32|MEMRDWR64|MESSage|MSGWITHDATa|SUCCESSNODATa|SUCCESSDATa|UNSUCCESSNODATa|LTR|FLASHREAD|FLASHWRITe|FLASHERASe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe {DEVice|LOGical} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe {NOP|APRD|APWR|APRW|FPRD|FPWR|FPRW|BRD|BWR|BRW|LRD|LWR|LRW|ARMW|FRMW|REServed} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition {SOF|PROTocol|IPHEADer|UDPIPHEADer|MACADDRess|TCI|ECATHEADERLENGth|DATagram|NETWORKVARiable|MAILBOX|FCSERRor|EOF} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM {HEADer|DATa|WKC} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer {CMD|IDX|ADDRess|LEN|CIRCulating|IRQ} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess {POSition|OFFSet} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa {TYPe|DETail} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe {BASic|UDPIP} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe {ZERo|ONE|TWO|THRee|FOUR|FIVe|RESERved|FIFTeen} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox {MAILBOXHEADer|SERVICEDATa|ERRSERVICEDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail {ONE|TWO|THRee|FOUR|FIVe|SIX|SEVEn|EIGHt|NINe} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer {LENGth|ADDRess|CHANnel|PRIority|TYPe|CNT} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable {PUBHEADer|NVHEADer|NVDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer {INDex|HASH|NVLEN|Q} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe {PDU|NETWORKVARiables|MAILbox} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition {SFD|MACADDRess|MACLENgth|IPHeader|TCPHeader|DATa|EOP|IDLe|FCSError|QTAG} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition {SYNC|HANDSHAKEPacket|SPECIALPacket|ERRor|TOKENPacket|DATAPacket|RESET|CONNect|CONTROLMESSage|SUSPEND|DEVICEChirp|HOSTChirp|PORTReset|PORTConfiguration|RESUME|EOP} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|Inrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe {ANY|DATA0|DATA1|DATA2|MDATA} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch {OFF|ON} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType {BITSTUFFing|CRC5|CRC16|PID} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType {ANY|ACK|NAK|STALL|NYET} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand {ALL|WRITe|READ|CLEar|SET} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion {COMMand|ADDRess|RAPDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType {ANY|PREamble|ERROr|SPLit|PING|RESERVed} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue {NOCARE|CONTRol|ISOchronous|BULK|INTERRUPT} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue {NOCARE|SSPLIT|CSPLIT} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue {NOCARE|FULLSPEED|LOWSPEED|ISOSTART|ISOMID|ISOEND|ISOALL} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch {OFF|ON} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch? + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType {ANY|SOF|OUT|IN|SETUP} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition {SOF|FRAMEType|IDentifier|CYCLEcount|HEADer|DATA|IDANDDATA|EOF|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE {ANY|STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE {CRCHeader|CRCTrailer|NULLFRStatic|NULLFRDynamic|SYNCFrame|STARTupnosync} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType {NORMal|PAYload|NULL|SYNC|STARTup} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits? + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth? + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe {ADDR10|ADDR7} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe? + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition {ADDRess|ADDRANDDATA|DATa|ACKMISS|REPEATstart|STARt|STOP} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection {NOCARE|READ|WRITE} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection? + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe {ADDR10|ADDR7} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets {RESPonse|BROadcast} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition {STARt|REPEATStart|ADDRess|DATa|SDRDirect|SDRBroadcast|DDR|ERRors|HOTJoin|DMSGEnd|BMSGEnd|HDRRestart|HDRExit} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection {NOCARE|READ|WRITE} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe {NACK|TBIT|PARity|BADDr|DADDr|PREamble|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets {RESPonse|DIRect} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket {ENSLave|DISLave|ENTasx|RSTDya|ENTRDya|SETMwrl|SETMrdl|LSLave|ENTRTSTMode|EXTime>} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket {ENSLave|DISLave|ENTasx|RSTDya|SETMwrl|SETMrdl|SEText|SETDya|SETNdya|GETMWrl|GETMRdl|GETPrid|GETBusch|GETDevch|GETSlave|ACCM|SETBrt|MDATASpeed|HDRCapability} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition {DATA|IDANDDATA|ERRor|IDentifier|SLEEP|SYNCfield|WAKEup} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier {EQual|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE {CHecksum|PARity|SYNC} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE? + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition {SYNCBITS|HEADer|DATa|packetOffData|TRAiler|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe {MANChester|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition {STARTPACKet|PHYSICALADDRess|REGISTERADDRess|DEVICETYPe|DATA|ADDRess|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType {OPCODEERRor|DEVERRor|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit {RX|TX|X} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition {SYNC|COMMAND|STATus|DATA|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe {PARity|SYNC|DATA} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF? + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity? + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition {RESet|PREsence|COMMand|DATa|READROM|MATCHROM|OVERDRIVEMATCh|SKIPROM|OVERDRIVESKIP|SEARCHROM|ALARMSEARch|CRCERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer? + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe? + - SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition {DATa|EOp|PARItyerror|STARt} + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity {POSITIVe|NEGAtive|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor {SYMBol|DISParity} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe {EBIT|TBIT|SYMB} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe {DATa|CONTrol} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe {BROadcast|NOSTATion|STATIONADDr} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition {STARt|DATa|ABORt|ADDRess|UNNumbered|INFormation|SUPervisory|ERRors|END} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe {FCS|NUMERICORDer} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe {COMMand|RESPonse|BOTH} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe {RR|RNR|REJ} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe {UP|UI|SNRM|SNRME|REQDISConnect|UACK|REQSETINIT|DISCMODe|FRAMEREJ|TEST|XID|CONFigure|BEACon} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition {START|FAST|SLOW|PAUSE|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType {FRAMELENgth|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC {FAST|SLOW} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQualINrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition {STARt|REPEATSTARt|ADDRess|HOSTADDR|DEVICEADDR|COMMand|DATa|UDIDDATa|ERRor|STOP|IDLe} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe {ANY|ACK|NACK|PEC} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe {ONE|TWO|FOUR} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe? + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue {ONE|TWO|FOUR} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SOUrce {B0|B1|B2|B3|B4|B5|B6|B7|B8|B9|B10|B11|B12|B13|B14|B15|B16} + - SEARCH:SEARCH:TRIGger:A:BUS:SOUrce? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition {SYNC|DATa|ERRors|CONTROLCODe|CONTROLCHAR} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe {FCT|ESC|ENDOFPACKet} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe {NULL|TIMECODe} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe {EEP|ESC|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition {DATA|SS|STARTofframe} + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe {MISo|MOSi} + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition {SSC|RESet|SLEep|SHUTdown|WAKeup|MASTERREAd|MASTERWRIte|REGREAd|REGWRIte|DEVICEDESCMASTERREAd|DEVICEDESCSLAVEREAd|EXTREGREAd|EXTREGWRIte|LONGEXTREGREAd|LONGEXTREGWRIte|REG0WRIte|AUTHenticate|TRANSferbusownership|PARItyerror} + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse {GETReg|GETRegvendor|GETRegtestcfg|SETFast|SETSlow|SETDecay|SETPs|SETRegaddr|SETRegdata|REGAddrvendor|REGDatavendor|REGAddrtestconfg|REGDatatestconfg|TESTmode|SETWp|GETRegpktrecent|GETRegpktalert|GETRegpktbad|GETRegvrevent} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe {GET|SET|OPTional} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition {STARTCONDition|SLAVEADDRess|COMMand|PAYLoad|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe {ANY|NACK|REJect|MIXed|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe {MASTer|SLAVe|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition {DATAPacket|EOP|ERRor|HANDSHAKEPacket|RESET|RESUME|SPECIALPacket|SUSPEND|SYNC|TOKENPacket} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe {ANY|DATA|MDATA} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE {BITSTUFFing|CRC5|CRC16|PID} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType {ACK|ANY|NAK|NYET|STALL} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType {ANY|ERROr|PING|PREamble|RESERVed|SPLit} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue {BULK|CONTROL|NOCARE|INTERRUPT|ISOchronous} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue {CSPLIT|NOCARE|SSPLIT} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue {NOCARE|FULLSPEED|ISOALL|ISOEND|ISOMID|ISOSTART|LOWSPEED} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue? + - SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType {ANY|IN|OUT|SETUP|SOF} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth {500E-3|500E-1.5|500E-1} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource? + - SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth {500E-3|1.5|1} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource? + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth {500E-3|1.5|1} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource? + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance? + - SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe? + - SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce? + - SEARCH:SEARCH:TRIGger:A:EDGE:THReshold + - SEARCH:SEARCH:TRIGger:A:EDGE:THReshold? + - SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold + - SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold? + - SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime + - SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime? + - SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion? + - SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce {S_Ch_D|CH|CH_D|REF_D} + - SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH? + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF? + - SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity? + - SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge {OFF|ON|0|1} + - SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge? + - SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn {TRUe|FALSe|MOREThan|LESSThan|EQual|UNEQual} + - SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity {POSitive|NEGative} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce {S_Ch_D|CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold? + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn {LESSthan|MOREthan|EQual|UNEQual|WIThin|OUTside} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn? + - SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification? + - SEARCH:SEARCH:TRIGger:A:RUNT:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:RUNT:POLarity? + - SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce {CH|REF} + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH? + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW? + - SEARCH:SEARCH:TRIGger:A:RUNT:WHEn {OCCURS|LESSthan|MOREthan|EQual}NOTEQual} + - SEARCH:SEARCH:TRIGger:A:RUNT:WHEn? + - SEARCH:SEARCH:TRIGger:A:RUNT:WIDth + - SEARCH:SEARCH:TRIGger:A:RUNT:WIDth? + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE {FALL|RISe} + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE? + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce? + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold? + - SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime + - SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime? + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH? + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH? + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF? + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH? + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D? + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH? + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF? + - SEARCH:SEARCH:TRIGger:A:SETHold:SETTime + - SEARCH:SEARCH:TRIGger:A:SETHold:SETTime? + - SEARCH:SEARCH:TRIGger:A:STATE {ON|OFF|} + - SEARCH:SEARCH:TRIGger:A:STOPAcq {ON|OFF|} + - SEARCH:SEARCH:TRIGger:A:STOPAcq? + - SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification? + - SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity? + - SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce? + - SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold + - SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold? + - SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe + - SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe? + - SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime + - SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime? + - SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification? + - SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity? + - SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce {S_Ch|CH|MATH|REF} + - SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce? + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH? + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW? + - SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn {FASTERthan|SLOWERthan|EQual|UNEQual} + - SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn? + - SEARCH:SEARCH:TRIGger:A:TYPe {EDGE|RUNT|TRANsition|PULSEWidth|TIMEOut|LOGIc|SETHold|WINdow|Bus|DDRRead|DDRREADWrite|DDRWrite} + - SEARCH:SEARCH:TRIGger:A:TYPe? + - SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + - SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification? + - SEARCH:SEARCH:TRIGger:A:WINdow:POLarity {UPPer|LOWer|EITher|NONe} + - SEARCH:SEARCH:TRIGger:A:WINdow:POLarity? + - SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce {S_Ch|CH|MATH|REF} + - SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce? + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH? + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW? + - SEARCH:SEARCH:TRIGger:A:WINdow:WHEn {ENTERSWindow|EXITSWindow|INSIDEGreater|OUTSIDEGreater} + - SEARCH:SEARCH:TRIGger:A:WINdow:WHEn? + - SEARCH:SEARCH:TRIGger:A:WINdow:WIDth + - SEARCH:SEARCH:TRIGger:A:WINdow:WIDth? + - SEARCH:SELected SEARCH1 + ``` +""" # noqa: E501 + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDigitalBit, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class SearchSelected(SCPICmdWrite): + """The ``SEARCH:SELected`` command. + + Description: + - This command sets or queries the selected search, for example SEARCH1. The search number + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:SELected value`` command. + + SCPI Syntax: + ``` + - SEARCH:SELected SEARCH1 + ``` + + Info: + - ``SEARCH1`` is the specified search. + """ + + +class SearchSearchItemTriggerAWindowWidth(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth`` command. + + Description: + - This command sets or queries the width setting for a window trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:WIDth + - SEARCH:SEARCH:TRIGger:A:WINdow:WIDth? + ``` + + Info: + - ```` specifies the minimum width in seconds. + """ + + +class SearchSearchItemTriggerAWindowWhen(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn`` command. + + Description: + - This command sets or queries the window search event. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:WHEn {ENTERSWindow|EXITSWindow|INSIDEGreater|OUTSIDEGreater} + - SEARCH:SEARCH:TRIGger:A:WINdow:WHEn? + ``` + + Info: + - ``ENTERSWindow`` specifies a window search when the signal enters the window. + - ``EXITSWindow`` specifies a window search when the signal exits the window. + - ``OUTSIDEGreater`` specifies a search when the signal leaves the window defined by the + threshold levels for the time specified by Width. + - ``INSIDEGreater`` specifies a search when the signal enters the window defined by the + threshold levels for the time specified by Width. + """ # noqa: E501 + + +class SearchSearchItemTriggerAWindowThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW`` command. + + Description: + - This command sets or queries the source threshold LOW level for a transition trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW? + ``` + + Info: + - ```` the source threshold LOW level for a transition trigger search. + """ + + +class SearchSearchItemTriggerAWindowThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH`` command. + + Description: + - This command sets or queries the source threshold HIGH level for a transition trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH? + ``` + + Info: + - ```` is the source threshold HIGH level for a transition trigger search. + """ + + +class SearchSearchItemTriggerAWindowThreshold(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerAWindowThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = SearchSearchItemTriggerAWindowThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> SearchSearchItemTriggerAWindowThresholdHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH`` command. + + Description: + - This command sets or queries the source threshold HIGH level for a transition trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH? + ``` + + Info: + - ```` is the source threshold HIGH level for a transition trigger search. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerAWindowThresholdLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW`` command. + + Description: + - This command sets or queries the source threshold LOW level for a transition trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW? + ``` + + Info: + - ```` the source threshold LOW level for a transition trigger search. + """ + return self._low + + +class SearchSearchItemTriggerAWindowSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce`` command. + + Description: + - This command sets and queries the source for the window search input. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce {S_Ch|CH|MATH|REF} + - SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies is the remote scope number, and the analog channel. + - ``CH`` specifies one input channel as the source. + - ``MATH`` specifies the math waveform as the source. + - ``REF`` specifies the reference waveform as the source. + """ + + +class SearchSearchItemTriggerAWindowPolarity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity`` command. + + Description: + - This command sets or queries the window trigger threshold crossing of the selected trigger + Source. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:POLarity {UPPer|LOWer|EITher|NONe} + - SEARCH:SEARCH:TRIGger:A:WINdow:POLarity? + ``` + + Info: + - ``UPPer`` specifies that the instrument triggers when the signal remains above the upper + threshold for longer than the time limit and then crosses downward through the upper + threshold. + - ``LOWer`` specifies that the instrument triggers when the signal remains below the lower + threshold for longer than the time limit and then crosses upwards through the lower + threshold. + - ``EITher`` specifies that the instrument triggers when the signal remains either above the + upper threshold or below the lower threshold for longer than the time limit and then + crosses a threshold. + - ``NONe`` specifies that the instrument triggers when the signal remains outside the upper + and lower thresholds for longer than the time limit without crossing through either the + upper or lower threshold. + """ + + +class SearchSearchItemTriggerAWindowLogicqualification(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification`` command. + + Description: + - This command specifies or queries whether or not to use logic qualification for a window + search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification for a window search. + - ``OFF`` specifies not to us logic qualification for a window search. + """ + + +class SearchSearchItemTriggerAWindowCrossing(SCPICmdWrite): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng`` command. + + Description: + - This command sets or queries the window trigger threshold crossing of the selected trigger + Source. The threshold crossing selection is only effective when ``:TRIGger:A:WINdow:WHEn`` + is INSIDEGreater or OUTSIDEGreater. The search number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + ``` + + Info: + - ``UPPer`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when the + signal remains between the upper and lower thresholds for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then exits through the upper threshold. If + ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers when the signal + remains above the upper threshold for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then crosses downward through the upper threshold. + - ``LOWer`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when the + signal remains between the upper and lower thresholds for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then exits through the lower threshold. If + ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers when the signal + remains below the lower threshold for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then crosses upwards through the lower threshold. + - ``EITher`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when + the signal remains between the upper and lower thresholds for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then exits through either the upper or lower threshold. + If ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers when the signal + remains either above the upper threshold or below the lower threshold for longer than the + time limit (``:TRIGger:A:WINdow:WIDTH``) and then crosses a threshold. + - ``NONe`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when the + signal remains between the upper and lower thresholds for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) without crossing through either the upper or lower + threshold. If ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers when + the signal remains outside the upper and lower thresholds for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) without crossing through either the upper or lower + threshold. + """ + + +class SearchSearchItemTriggerAWindow(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:WINdow`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:WINdow?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:WINdow?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.crossing``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng`` command. + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold`` command tree. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn`` command. + - ``.width``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._crossing = SearchSearchItemTriggerAWindowCrossing( + device, f"{self._cmd_syntax}:CROSSIng" + ) + self._logicqualification = SearchSearchItemTriggerAWindowLogicqualification( + device, f"{self._cmd_syntax}:LOGICQUALification" + ) + self._polarity = SearchSearchItemTriggerAWindowPolarity( + device, f"{self._cmd_syntax}:POLarity" + ) + self._source = SearchSearchItemTriggerAWindowSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = SearchSearchItemTriggerAWindowThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + self._when = SearchSearchItemTriggerAWindowWhen(device, f"{self._cmd_syntax}:WHEn") + self._width = SearchSearchItemTriggerAWindowWidth(device, f"{self._cmd_syntax}:WIDth") + + @property + def crossing(self) -> SearchSearchItemTriggerAWindowCrossing: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng`` command. + + Description: + - This command sets or queries the window trigger threshold crossing of the selected + trigger Source. The threshold crossing selection is only effective when + ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater or OUTSIDEGreater. The search number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng {UPPer|LOWer|EITher|NONe} + ``` + + Info: + - ``UPPer`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when + the signal remains between the upper and lower thresholds for longer than the time + limit (``:TRIGger:A:WINdow:WIDTH``) and then exits through the upper threshold. If + ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers when the signal + remains above the upper threshold for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then crosses downward through the upper threshold. + - ``LOWer`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when + the signal remains between the upper and lower thresholds for longer than the time + limit (``:TRIGger:A:WINdow:WIDTH``) and then exits through the lower threshold. If + ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers when the signal + remains below the lower threshold for longer than the time limit + (``:TRIGger:A:WINdow:WIDTH``) and then crosses upwards through the lower threshold. + - ``EITher`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers + when the signal remains between the upper and lower thresholds for longer than the + time limit (``:TRIGger:A:WINdow:WIDTH``) and then exits through either the upper or + lower threshold. If ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument + triggers when the signal remains either above the upper threshold or below the lower + threshold for longer than the time limit (``:TRIGger:A:WINdow:WIDTH``) and then + crosses a threshold. + - ``NONe`` if ``:TRIGger:A:WINdow:WHEn`` is INSIDEGreater, the instrument triggers when + the signal remains between the upper and lower thresholds for longer than the time + limit (``:TRIGger:A:WINdow:WIDTH``) without crossing through either the upper or lower + threshold. If ``:TRIGger:A:WINdow:WHEn`` is OUTSIDEGreater, the instrument triggers + when the signal remains outside the upper and lower thresholds for longer than the + time limit (``:TRIGger:A:WINdow:WIDTH``) without crossing through either the upper or + lower threshold. + """ + return self._crossing + + @property + def logicqualification(self) -> SearchSearchItemTriggerAWindowLogicqualification: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification`` command. + + Description: + - This command specifies or queries whether or not to use logic qualification for a + window search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification for a window search. + - ``OFF`` specifies not to us logic qualification for a window search. + """ + return self._logicqualification + + @property + def polarity(self) -> SearchSearchItemTriggerAWindowPolarity: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity`` command. + + Description: + - This command sets or queries the window trigger threshold crossing of the selected + trigger Source. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:POLarity {UPPer|LOWer|EITher|NONe} + - SEARCH:SEARCH:TRIGger:A:WINdow:POLarity? + ``` + + Info: + - ``UPPer`` specifies that the instrument triggers when the signal remains above the + upper threshold for longer than the time limit and then crosses downward through the + upper threshold. + - ``LOWer`` specifies that the instrument triggers when the signal remains below the + lower threshold for longer than the time limit and then crosses upwards through the + lower threshold. + - ``EITher`` specifies that the instrument triggers when the signal remains either above + the upper threshold or below the lower threshold for longer than the time limit and + then crosses a threshold. + - ``NONe`` specifies that the instrument triggers when the signal remains outside the + upper and lower thresholds for longer than the time limit without crossing through + either the upper or lower threshold. + """ + return self._polarity + + @property + def source(self) -> SearchSearchItemTriggerAWindowSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce`` command. + + Description: + - This command sets and queries the source for the window search input. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce {S_Ch|CH|MATH|REF} + - SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies is the remote scope number, and the analog channel. + - ``CH`` specifies one input channel as the source. + - ``MATH`` specifies the math waveform as the source. + - ``REF`` specifies the reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerAWindowThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> SearchSearchItemTriggerAWindowWhen: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn`` command. + + Description: + - This command sets or queries the window search event. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:WHEn {ENTERSWindow|EXITSWindow|INSIDEGreater|OUTSIDEGreater} + - SEARCH:SEARCH:TRIGger:A:WINdow:WHEn? + ``` + + Info: + - ``ENTERSWindow`` specifies a window search when the signal enters the window. + - ``EXITSWindow`` specifies a window search when the signal exits the window. + - ``OUTSIDEGreater`` specifies a search when the signal leaves the window defined by the + threshold levels for the time specified by Width. + - ``INSIDEGreater`` specifies a search when the signal enters the window defined by the + threshold levels for the time specified by Width. + """ # noqa: E501 + return self._when + + @property + def width(self) -> SearchSearchItemTriggerAWindowWidth: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth`` command. + + Description: + - This command sets or queries the width setting for a window trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:WINdow:WIDth + - SEARCH:SEARCH:TRIGger:A:WINdow:WIDth? + ``` + + Info: + - ```` specifies the minimum width in seconds. + """ + return self._width + + +class SearchSearchItemTriggerAType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TYPe`` command. + + Description: + - This command sets or queries the trigger type setting for a search to determine where to + place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:TYPe value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TYPe {EDGE|RUNT|TRANsition|PULSEWidth|TIMEOut|LOGIc|SETHold|WINdow|Bus|DDRRead|DDRREADWrite|DDRWrite} + - SEARCH:SEARCH:TRIGger:A:TYPe? + ``` + + Info: + - ``EDGE`` triggers when the source input signal amplitude crosses the specified level in + the direction given by the slope. + - ``RUNT`` triggers when a pulse crosses the first preset voltage threshold but does not + cross the second preset threshold before recrossing the first. The thresholds are set with + the ``SEARCH:SEARCH:TRIGger:A:RUNt:HIGH`` and + ``SEARCH:SEARCH:TRIGger:A:RUNt:LOW THRESHOLD`` commands. + - ``TRANsition`` triggers when a pulse crosses both thresholds in the same direction as the + specified polarity and the transition time between the two threshold crossings is greater + or less than the specified time delta. + - ``PULSEWidth`` triggers on input signal source pulses that are inside or outside of the + given time range specified by ``SEARCH:SEARCH:TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit`` + and ``SEARCH:SEARCH:TRIGger:A:LOGIc:PATtern:WHEn:MORELimit``. The polarity is selected + using the ``SEARCH:SEARCH:TRIGger:A:RUNT``: POLarity command. + - ``TIMEOut`` triggers on an input signal source that stays above, stays below, or stays + either above or beow the trigger level for a given time. + - ``LOGIc`` specifies that a search occurs when specified conditions are met, and is + controlled by the ``SEARCH:A:LOGIc`` commands. + - ``SETHold`` triggers on a functional pattern combination of one to three data sources at + the time of the clock transition. + - ``WINdow`` triggers on an input signal source that enters or exits the horizontal band + defined by the two trigger levels. + - ``Bus`` specifies that a search occurs when a communications signal is found. + - ``DDRRead`` triggers on a DDR Read event. + - ``DDRREADWrite`` triggers on a DDR Read or Write event. + - ``DDRWrite`` triggers on a DDR Write event. + """ # noqa: E501 + + +class SearchSearchItemTriggerATransitionWhen(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn`` command. + + Description: + - This command sets or queries the condition setting for a transition trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn {FASTERthan|SLOWERthan|EQual|UNEQual} + - SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn? + ``` + + Info: + - ``FASTERthan`` sets the trigger to occur when the transitioning signal is faster than the + set volts/second rate. + - ``SLOWERthan`` sets the trigger to occur when the transitioning signal is slower than the + set volts/second rate. + - ``EQual`` sets the trigger to occur when the transitioning signal is equal to the set + volts/second rate. + - ``UNEQual`` sets the trigger to occur when the transitioning signal is not equal to the + set volts/second rate. + """ + + +class SearchSearchItemTriggerATransitionThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW`` command. + + Description: + - Sets or queries the source threshold LOW level for a transition trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW? + ``` + + Info: + - ```` is the source threshold LOW level for a transition trigger searchk. + """ + + +class SearchSearchItemTriggerATransitionThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH`` command. + + Description: + - Sets or queries the source threshold HIGH level for a transition trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH? + ``` + + Info: + - ```` the source threshold HIGH level for a transition trigger search. + """ + + +class SearchSearchItemTriggerATransitionThreshold(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerATransitionThresholdHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerATransitionThresholdLow( + device, f"{self._cmd_syntax}:LOW" + ) + + @property + def high(self) -> SearchSearchItemTriggerATransitionThresholdHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH`` command. + + Description: + - Sets or queries the source threshold HIGH level for a transition trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH? + ``` + + Info: + - ```` the source threshold HIGH level for a transition trigger search. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerATransitionThresholdLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW`` command. + + Description: + - Sets or queries the source threshold LOW level for a transition trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW? + ``` + + Info: + - ```` is the source threshold LOW level for a transition trigger searchk. + """ + return self._low + + +class SearchSearchItemTriggerATransitionSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce`` command. + + Description: + - This command sets and queries the source for the transition search input. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce {S_Ch|CH|MATH|REF} + - SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies is the remote scope number, and the analog channel. + - ``CH`` specifies one input channel as the source. + - ``MATH`` specifies the math waveform as the source. + - ``REF`` specifies the reference waveform as the source. + """ + + +class SearchSearchItemTriggerATransitionPolarity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity`` command. + + Description: + - This command specifies the polarity for the transition search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity? + ``` + + Info: + - ``EITher`` places a mark on a transition of either polarity. + - ``NEGative`` places a mark on a transition of negative polarity. + - ``POSitive`` places a mark on a transition of positive polarity. + """ + + +class SearchSearchItemTriggerATransitionLogicqualification(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a transition search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification for a transition search. + - ``OFF`` specifies not to use logic qualification for a transition search. + """ + + +class SearchSearchItemTriggerATransitionDeltatime(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime`` command. + + Description: + - This command sets or queries the transition time setting for a transition trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime + - SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime? + ``` + + Info: + - ```` specifies the transition time in seconds. + """ + + +class SearchSearchItemTriggerATransition(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TRANsition`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TRANsition?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.deltatime``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime`` command. + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold`` command tree. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._deltatime = SearchSearchItemTriggerATransitionDeltatime( + device, f"{self._cmd_syntax}:DELTATime" + ) + self._logicqualification = SearchSearchItemTriggerATransitionLogicqualification( + device, f"{self._cmd_syntax}:LOGICQUALification" + ) + self._polarity = SearchSearchItemTriggerATransitionPolarity( + device, f"{self._cmd_syntax}:POLarity" + ) + self._source = SearchSearchItemTriggerATransitionSource( + device, f"{self._cmd_syntax}:SOUrce" + ) + self._threshold = SearchSearchItemTriggerATransitionThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + self._when = SearchSearchItemTriggerATransitionWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def deltatime(self) -> SearchSearchItemTriggerATransitionDeltatime: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime`` command. + + Description: + - This command sets or queries the transition time setting for a transition trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime + - SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime? + ``` + + Info: + - ```` specifies the transition time in seconds. + """ + return self._deltatime + + @property + def logicqualification(self) -> SearchSearchItemTriggerATransitionLogicqualification: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a transition + search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification for a transition search. + - ``OFF`` specifies not to use logic qualification for a transition search. + """ + return self._logicqualification + + @property + def polarity(self) -> SearchSearchItemTriggerATransitionPolarity: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity`` command. + + Description: + - This command specifies the polarity for the transition search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity? + ``` + + Info: + - ``EITher`` places a mark on a transition of either polarity. + - ``NEGative`` places a mark on a transition of negative polarity. + - ``POSitive`` places a mark on a transition of positive polarity. + """ + return self._polarity + + @property + def source(self) -> SearchSearchItemTriggerATransitionSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce`` command. + + Description: + - This command sets and queries the source for the transition search input. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce {S_Ch|CH|MATH|REF} + - SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce? + ``` + + Info: + - ``S_Ch`` specifies is the remote scope number, and the analog channel. + - ``CH`` specifies one input channel as the source. + - ``MATH`` specifies the math waveform as the source. + - ``REF`` specifies the reference waveform as the source. + """ + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerATransitionThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> SearchSearchItemTriggerATransitionWhen: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn`` command. + + Description: + - This command sets or queries the condition setting for a transition trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn {FASTERthan|SLOWERthan|EQual|UNEQual} + - SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn? + ``` + + Info: + - ``FASTERthan`` sets the trigger to occur when the transitioning signal is faster than + the set volts/second rate. + - ``SLOWERthan`` sets the trigger to occur when the transitioning signal is slower than + the set volts/second rate. + - ``EQual`` sets the trigger to occur when the transitioning signal is equal to the set + volts/second rate. + - ``UNEQual`` sets the trigger to occur when the transitioning signal is not equal to + the set volts/second rate. + """ + return self._when + + +class SearchSearchItemTriggerATimeoutTime(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe`` command. + + Description: + - This command sets or queries the time setting for a timeout trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe + - SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe? + ``` + + Info: + - ```` is the time in seconds. + """ + + +class SearchSearchItemTriggerATimeoutThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold`` command. + + Description: + - Sets or queries the source threshold level for a timeout trigger search to determine where + to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold + - SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold? + ``` + + Info: + - ```` is the source threshold level for a timeout trigger search. + """ + + +class SearchSearchItemTriggerATimeoutSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce`` command. + + Description: + - This command sets and queries the source for timeout search input. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is specified + by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``MATH`` specifies the math waveform as the search source, where the math number is + specified by x. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + + +class SearchSearchItemTriggerATimeoutPolarity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity`` command. + + Description: + - The polarity to be used for a Timeout search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity? + ``` + + Info: + - ``STAYSHigh`` specifies the polarity stays HIGH. + - ``STAYSLow`` specifies the polarity stays LOW. + - ``EITher`` specifies the polarity stays HIGH or stays LOW. + """ + + +class SearchSearchItemTriggerATimeoutLogicqualification(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a timeout search. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification. + - ``OFF`` specifies not to use logic qualification. + """ + + +class SearchSearchItemTriggerATimeout(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:TIMEOut`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TIMEOut?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:TIMEOut?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold`` command. + - ``.time``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logicqualification = SearchSearchItemTriggerATimeoutLogicqualification( + device, f"{self._cmd_syntax}:LOGICQUALification" + ) + self._polarity = SearchSearchItemTriggerATimeoutPolarity( + device, f"{self._cmd_syntax}:POLarity" + ) + self._source = SearchSearchItemTriggerATimeoutSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = SearchSearchItemTriggerATimeoutThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + self._time = SearchSearchItemTriggerATimeoutTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def logicqualification(self) -> SearchSearchItemTriggerATimeoutLogicqualification: + """Return the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a timeout search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification. + - ``OFF`` specifies not to use logic qualification. + """ + return self._logicqualification + + @property + def polarity(self) -> SearchSearchItemTriggerATimeoutPolarity: + """Return the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity`` command. + + Description: + - The polarity to be used for a Timeout search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity {STAYSHigh|STAYSLow|EITher} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity? + ``` + + Info: + - ``STAYSHigh`` specifies the polarity stays HIGH. + - ``STAYSLow`` specifies the polarity stays LOW. + - ``EITher`` specifies the polarity stays HIGH or stays LOW. + """ + return self._polarity + + @property + def source(self) -> SearchSearchItemTriggerATimeoutSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce`` command. + + Description: + - This command sets and queries the source for timeout search input. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is + specified by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``MATH`` specifies the math waveform as the search source, where the math number is + specified by x. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerATimeoutThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold`` command. + + Description: + - Sets or queries the source threshold level for a timeout trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold + - SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold? + ``` + + Info: + - ```` is the source threshold level for a timeout trigger search. + """ + return self._threshold + + @property + def time(self) -> SearchSearchItemTriggerATimeoutTime: + """Return the ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe`` command. + + Description: + - This command sets or queries the time setting for a timeout trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe + - SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe? + ``` + + Info: + - ```` is the time in seconds. + """ + return self._time + + +class SearchSearchItemTriggerAStopacq(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:STOPAcq`` command. + + Description: + - This command sets or queries whether acquisitions are stopped when a search hit is found. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:STOPAcq?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:STOPAcq?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:STOPAcq value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:STOPAcq {ON|OFF|} + - SEARCH:SEARCH:TRIGger:A:STOPAcq? + ``` + + Info: + - ```` is the number of the search on which to enable or disable the stop acquisition + function. + - ```` = 1 enables stopping when a search hit is found. Any other character disables + the feature. + - ``ON`` enables stopping when a search hit is found. + - ``OFF`` disables stopping on a search hit. + """ + + +class SearchSearchItemTriggerAState(SCPICmdWrite): + """The ``SEARCH:SEARCH:TRIGger:A:STATE`` command. + + Description: + - This command sets or queries the enabled state of the search. The search number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:STATE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:STATE {ON|OFF|} + ``` + + Info: + - ```` = 1 enables the search. Any other character disables the search. + - ``ON`` enables the search. + - ``OFF`` disables the search. + """ + + +class SearchSearchItemTriggerASetholdSettime(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime`` command. + + Description: + - This command sets or queries the setup time setting for a setup/hold trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:SETTime + - SEARCH:SEARCH:TRIGger:A:SETHold:SETTime? + ``` + + Info: + - ```` specifies the setup time for setup and hold violation triggering. + """ + + +class SearchSearchItemTriggerASetholdLogicpatternRefItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF`` command. + + Description: + - This command sets and returns the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF? + ``` + + Info: + - ``INCLude`` specifies including the specified reference SETHOLD inputs in the specified + search. + - ``DONTInclude`` specifies not including the specified reference SETHOLD inputs in the + specified search. + """ + + +class SearchSearchItemTriggerASetholdLogicpatternMathItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH? + ``` + + Info: + - ``INCLude`` specifies including the specified math SETHOLD inputs in the specified search. + - ``DONTInclude`` specifies not including the specified math SETHOLD inputs in the specified + search. + """ + + +class SearchSearchItemTriggerASetholdLogicpatternChannelDigitalBit( + ValidatedDigitalBit, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D? + ``` + + Info: + - ``INCLude`` specifies including the specified digital channel SETHOLD inputs in the + specified search. + - ``DONTInclude`` specifies not including the specified digital channel SETHOLD inputs in + the specified search. + """ + + +class SearchSearchItemTriggerASetholdLogicpatternChannel( + ValidatedChannel, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH? + ``` + + Info: + - ``INCLude`` specifies including the specified channel SETHOLD inputs in the specified + search. + - ``DONTInclude`` specifies not including the specified channel SETHOLD inputs in the + specified search. + + Properties: + - ``.d``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._d: Dict[int, SearchSearchItemTriggerASetholdLogicpatternChannelDigitalBit] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLogicpatternChannelDigitalBit( + device, f"{self._cmd_syntax}_D{x}" + ) + ) + ) + + @property + def d(self) -> Dict[int, SearchSearchItemTriggerASetholdLogicpatternChannelDigitalBit]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D? + ``` + + Info: + - ``INCLude`` specifies including the specified digital channel SETHOLD inputs in the + specified search. + - ``DONTInclude`` specifies not including the specified digital channel SETHOLD inputs + in the specified search. + """ + return self._d + + +class SearchSearchItemTriggerASetholdLogicpattern(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SearchSearchItemTriggerASetholdLogicpatternChannel] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLogicpatternChannel( + device, f"{self._cmd_syntax}:CH{x}" + ) + ) + ) + self._math: Dict[int, SearchSearchItemTriggerASetholdLogicpatternMathItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLogicpatternMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) + ) + self._ref: Dict[int, SearchSearchItemTriggerASetholdLogicpatternRefItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLogicpatternRefItem( + device, f"{self._cmd_syntax}:REF{x}" + ) + ) + ) + + @property + def ch(self) -> Dict[int, SearchSearchItemTriggerASetholdLogicpatternChannel]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH? + ``` + + Info: + - ``INCLude`` specifies including the specified channel SETHOLD inputs in the specified + search. + - ``DONTInclude`` specifies not including the specified channel SETHOLD inputs in the + specified search. + + Sub-properties: + - ``.d``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH_D`` command. + """ + return self._ch + + @property + def math(self) -> Dict[int, SearchSearchItemTriggerASetholdLogicpatternMathItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH? + ``` + + Info: + - ``INCLude`` specifies including the specified math SETHOLD inputs in the specified + search. + - ``DONTInclude`` specifies not including the specified math SETHOLD inputs in the + specified search. + """ + return self._math + + @property + def ref(self) -> Dict[int, SearchSearchItemTriggerASetholdLogicpatternRefItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF`` command. + + Description: + - This command sets and returns the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF {INCLude|DONTInclude} + - SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF? + ``` + + Info: + - ``INCLude`` specifies including the specified reference SETHOLD inputs in the + specified search. + - ``DONTInclude`` specifies not including the specified reference SETHOLD inputs in the + specified search. + """ + return self._ref + + +class SearchSearchItemTriggerASetholdLevelRefItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF`` command. + + Description: + - This command sets or queries the voltage level to use for setup & hold trigger search. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF? + ``` + + Info: + - ```` is the voltage level to use for setup & hold trigger search. + """ + + +class SearchSearchItemTriggerASetholdLevelMathItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH`` command. + + Description: + - This command sets or queries the voltage level to use for setup & hold trigger search. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH? + ``` + + Info: + - ```` isi the voltage level to use for setup & hold trigger search. + """ + + +class SearchSearchItemTriggerASetholdLevelChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH`` command. + + Description: + - This command sets or queries the voltage level to use for setup & hold trigger search. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH? + ``` + + Info: + - ```` the voltage level to use for setup & hold trigger search. + """ + + +class SearchSearchItemTriggerASetholdLevel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SearchSearchItemTriggerASetholdLevelChannel] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLevelChannel( + device, f"{self._cmd_syntax}:CH{x}" + ) + ) + ) + self._math: Dict[int, SearchSearchItemTriggerASetholdLevelMathItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLevelMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) + ) + self._ref: Dict[int, SearchSearchItemTriggerASetholdLevelRefItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerASetholdLevelRefItem( + device, f"{self._cmd_syntax}:REF{x}" + ) + ) + ) + + @property + def ch(self) -> Dict[int, SearchSearchItemTriggerASetholdLevelChannel]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH`` command. + + Description: + - This command sets or queries the voltage level to use for setup & hold trigger search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH? + ``` + + Info: + - ```` the voltage level to use for setup & hold trigger search. + """ + return self._ch + + @property + def math(self) -> Dict[int, SearchSearchItemTriggerASetholdLevelMathItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH`` command. + + Description: + - This command sets or queries the voltage level to use for setup & hold trigger search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH? + ``` + + Info: + - ```` isi the voltage level to use for setup & hold trigger search. + """ + return self._math + + @property + def ref(self) -> Dict[int, SearchSearchItemTriggerASetholdLevelRefItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF`` command. + + Description: + - This command sets or queries the voltage level to use for setup & hold trigger search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF + - SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF? + ``` + + Info: + - ```` is the voltage level to use for setup & hold trigger search. + """ + return self._ref + + +class SearchSearchItemTriggerASetholdHoldtime(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime`` command. + + Description: + - This command sets or queries the hold time setting for a setup/hold trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime + - SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime? + ``` + + Info: + - ```` specifies the hold time setting in seconds. Positive values for hold time occur + after the clock edge. Negative values occur before the clock edge. + """ + + +class SearchSearchItemTriggerASetholdClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the clock threshold setting for a setup/hold trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold? + ``` + + Info: + - ```` the clock threshold setting for a setup/hold trigger search. + """ + + +class SearchSearchItemTriggerASetholdClockSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the clock source setting for a setup/hold trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an input channel as the source, where = 1, 2, 3, 4, 5, 6, 7, or 8, + depending on the number of channels in your instrument. + - ``CH_D`` specifies a digital waveform as the setup and hold clock source waveform + for the specified search. + - ``MATH`` specifies the math waveform as the search source, where = ≥1. + - ``REF`` specifies the reference waveform as the search source, where = ≥1. + - ``REF_D`` specifies a digital reference waveform as the setup and hold clock source + waveform for the specified search. + """ # noqa: E501 + + +class SearchSearchItemTriggerASetholdClockEdge(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE`` command. + + Description: + - This command sets or queries the clock slope setting for a setup/hold trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE {FALL|RISe} + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE? + ``` + + Info: + - ``FALL`` specifies the polarity as the clock falling edge. + - ``RISe`` specifies the polarity as the clock rising edge. + """ + + +class SearchSearchItemTriggerASetholdClock(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.edge``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = SearchSearchItemTriggerASetholdClockEdge(device, f"{self._cmd_syntax}:EDGE") + self._source = SearchSearchItemTriggerASetholdClockSource( + device, f"{self._cmd_syntax}:SOUrce" + ) + self._threshold = SearchSearchItemTriggerASetholdClockThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def edge(self) -> SearchSearchItemTriggerASetholdClockEdge: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE`` command. + + Description: + - This command sets or queries the clock slope setting for a setup/hold trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE {FALL|RISe} + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE? + ``` + + Info: + - ``FALL`` specifies the polarity as the clock falling edge. + - ``RISe`` specifies the polarity as the clock rising edge. + """ + return self._edge + + @property + def source(self) -> SearchSearchItemTriggerASetholdClockSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce`` command. + + Description: + - This command sets or queries the clock source setting for a setup/hold trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies an input channel as the source, where = 1, 2, 3, 4, 5, 6, 7, + or 8, depending on the number of channels in your instrument. + - ``CH_D`` specifies a digital waveform as the setup and hold clock source + waveform for the specified search. + - ``MATH`` specifies the math waveform as the search source, where = ≥1. + - ``REF`` specifies the reference waveform as the search source, where = ≥1. + - ``REF_D`` specifies a digital reference waveform as the setup and hold clock + source waveform for the specified search. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerASetholdClockThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the clock threshold setting for a setup/hold trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold + - SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold? + ``` + + Info: + - ```` the clock threshold setting for a setup/hold trigger search. + """ + return self._threshold + + +class SearchSearchItemTriggerASethold(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:SETHold`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:SETHold?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:SETHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.clock``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk`` command tree. + - ``.holdtime``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime`` command. + - ``.level``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel`` command tree. + - ``.logicpattern``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern`` command tree. + - ``.settime``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = SearchSearchItemTriggerASetholdClock(device, f"{self._cmd_syntax}:CLOCk") + self._holdtime = SearchSearchItemTriggerASetholdHoldtime( + device, f"{self._cmd_syntax}:HOLDTime" + ) + self._level = SearchSearchItemTriggerASetholdLevel(device, f"{self._cmd_syntax}:LEVel") + self._logicpattern = SearchSearchItemTriggerASetholdLogicpattern( + device, f"{self._cmd_syntax}:LOGICPattern" + ) + self._settime = SearchSearchItemTriggerASetholdSettime( + device, f"{self._cmd_syntax}:SETTime" + ) + + @property + def clock(self) -> SearchSearchItemTriggerASetholdClock: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.edge``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:EDGE`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def holdtime(self) -> SearchSearchItemTriggerASetholdHoldtime: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime`` command. + + Description: + - This command sets or queries the hold time setting for a setup/hold trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime + - SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime? + ``` + + Info: + - ```` specifies the hold time setting in seconds. Positive values for hold time + occur after the clock edge. Negative values occur before the clock edge. + """ + return self._holdtime + + @property + def level(self) -> SearchSearchItemTriggerASetholdLevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel:REF`` command. + """ + return self._level + + @property + def logicpattern(self) -> SearchSearchItemTriggerASetholdLogicpattern: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern:REF`` command. + """ + return self._logicpattern + + @property + def settime(self) -> SearchSearchItemTriggerASetholdSettime: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime`` command. + + Description: + - This command sets or queries the setup time setting for a setup/hold trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:SETHold:SETTime + - SEARCH:SEARCH:TRIGger:A:SETHold:SETTime? + ``` + + Info: + - ```` specifies the setup time for setup and hold violation triggering. + """ + return self._settime + + +class SearchSearchItemTriggerARuntWidth(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` command. + + Description: + - This command sets or queries the width setting for a runt trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:WIDth + - SEARCH:SEARCH:TRIGger:A:RUNT:WIDth? + ``` + + Info: + - ```` specifies the minimum width in seconds. + """ + + +class SearchSearchItemTriggerARuntWhen(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn`` command. + + Description: + - This command sets or queries the condition setting for a runt trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:WHEn {OCCURS|LESSthan|MOREthan|EQual}NOTEQual} + - SEARCH:SEARCH:TRIGger:A:RUNT:WHEn? + ``` + + Info: + - ``LESSthan`` argument sets the instrument to search if the a runt pulse is detected with + width less than the time set by the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` command. + - ``MOREthan`` argument sets the instrument to search if the a runt pulse is detected with + width more than the time set by the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` command. + - ``EQual`` argument sets the instrument to search when the pattern is true for a time + period equal to the time period specified in ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` + within a ±5% tolerance. + - ``NOTEQual`` argument sets the instrument to search when the pattern is true for atime + period greater than or less than (but not equal) the time period specified in + ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` within a ±5% tolerance. + - ``OCCURS`` argument specifies a search event if a runt of any detectable width occurs. + """ + + +class SearchSearchItemTriggerARuntThresholdLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW`` command. + + Description: + - Sets or queries the source threshold LOW level for a runt trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW? + ``` + + Info: + - ```` is the source threshold LOW level for a runt trigger search. + """ + + +class SearchSearchItemTriggerARuntThresholdHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH`` command. + + Description: + - This command sets or queries the source threshold HIGH level for a runt trigger search to + determine where to place a mark. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH? + ``` + + Info: + - ```` is the source threshold HIGH level for a runt trigger search. + """ + + +class SearchSearchItemTriggerARuntThreshold(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerARuntThresholdHigh(device, f"{self._cmd_syntax}:HIGH") + self._low = SearchSearchItemTriggerARuntThresholdLow(device, f"{self._cmd_syntax}:LOW") + + @property + def high(self) -> SearchSearchItemTriggerARuntThresholdHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH`` command. + + Description: + - This command sets or queries the source threshold HIGH level for a runt trigger search + to determine where to place a mark. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH? + ``` + + Info: + - ```` is the source threshold HIGH level for a runt trigger search. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerARuntThresholdLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW`` command. + + Description: + - Sets or queries the source threshold LOW level for a runt trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW + - SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW? + ``` + + Info: + - ```` is the source threshold LOW level for a runt trigger search. + """ + return self._low + + +class SearchSearchItemTriggerARuntSource(SCPICmdWrite): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce`` command. + + Description: + - This command sets and queries the source for the Runt search input. The search number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce {CH|REF} + ``` + + Info: + - ``CH`` specifies an analog channel as the search source, where the channel number is + specified by x. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + """ + + +class SearchSearchItemTriggerARuntPolarity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity`` command. + + Description: + - This command specifies the polarity for the runt search. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:RUNT:POLarity? + ``` + + Info: + - ``POSitive`` specifies using positive polarity for the runt search. + - ``NEGative`` specifies using negative polarity for the runt search. + - ``EITher`` specifies using either positive or negative polarity for the runt search. + """ + + +class SearchSearchItemTriggerARuntLogicqualification(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a runt search. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification for a runt search. + - ``OFF`` specifies not to use logic qualification for a runt search. + """ + + +class SearchSearchItemTriggerARunt(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:RUNT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold`` command tree. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn`` command. + - ``.width``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._logicqualification = SearchSearchItemTriggerARuntLogicqualification( + device, f"{self._cmd_syntax}:LOGICQUALification" + ) + self._polarity = SearchSearchItemTriggerARuntPolarity( + device, f"{self._cmd_syntax}:POLarity" + ) + self._source = SearchSearchItemTriggerARuntSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = SearchSearchItemTriggerARuntThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + self._when = SearchSearchItemTriggerARuntWhen(device, f"{self._cmd_syntax}:WHEn") + self._width = SearchSearchItemTriggerARuntWidth(device, f"{self._cmd_syntax}:WIDth") + + @property + def logicqualification(self) -> SearchSearchItemTriggerARuntLogicqualification: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a runt search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification for a runt search. + - ``OFF`` specifies not to use logic qualification for a runt search. + """ + return self._logicqualification + + @property + def polarity(self) -> SearchSearchItemTriggerARuntPolarity: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity`` command. + + Description: + - This command specifies the polarity for the runt search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:RUNT:POLarity? + ``` + + Info: + - ``POSitive`` specifies using positive polarity for the runt search. + - ``NEGative`` specifies using negative polarity for the runt search. + - ``EITher`` specifies using either positive or negative polarity for the runt search. + """ + return self._polarity + + @property + def source(self) -> SearchSearchItemTriggerARuntSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce`` command. + + Description: + - This command sets and queries the source for the Runt search input. The search number + is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce {CH|REF} + ``` + + Info: + - ``CH`` specifies an analog channel as the search source, where the channel number + is specified by x. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + """ + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerARuntThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold:LOW`` command. + """ + return self._threshold + + @property + def when(self) -> SearchSearchItemTriggerARuntWhen: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn`` command. + + Description: + - This command sets or queries the condition setting for a runt trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:WHEn {OCCURS|LESSthan|MOREthan|EQual}NOTEQual} + - SEARCH:SEARCH:TRIGger:A:RUNT:WHEn? + ``` + + Info: + - ``LESSthan`` argument sets the instrument to search if the a runt pulse is detected + with width less than the time set by the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` + command. + - ``MOREthan`` argument sets the instrument to search if the a runt pulse is detected + with width more than the time set by the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` + command. + - ``EQual`` argument sets the instrument to search when the pattern is true for a time + period equal to the time period specified in ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` + within a ±5% tolerance. + - ``NOTEQual`` argument sets the instrument to search when the pattern is true for atime + period greater than or less than (but not equal) the time period specified in + ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` within a ±5% tolerance. + - ``OCCURS`` argument specifies a search event if a runt of any detectable width occurs. + """ + return self._when + + @property + def width(self) -> SearchSearchItemTriggerARuntWidth: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` command. + + Description: + - This command sets or queries the width setting for a runt trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:RUNT:WIDth + - SEARCH:SEARCH:TRIGger:A:RUNT:WIDth? + ``` + + Info: + - ```` specifies the minimum width in seconds. + """ + return self._width + + +class SearchSearchItemTriggerAPulsewidthWhen(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn`` command. + + Description: + - This command specifies to search for a pulse with a width (duration) that is less than, + greater than, equal to, or unequal to a specified value (set using + ``SEARch:A:PULSEWidth:WIDth`` ), OR whose ``SEARch:A:PULSEWidth:LOWLimit`` and + ``SEARch:A:PULSEWidth:HIGHLimit`` ). The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn {LESSthan|MOREthan|EQual|UNEQual|WIThin|OUTside} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn? + ``` + + Info: + - ``LESSthan`` causes a search when a pulse is detected with a width less than the time set + by the ``SEARch:A:PULSEWidth:WIDth`` command. + - ``MOREthan`` causes a search when a pulse is detected with a width greater than the time + set by the ``SEARch:A:PULSEWidth:WIDth`` command. + - ``EQual`` causes a search when a pulse is detected with a width equal to the time period + specified in ``SEARch:A:PULSEWidth:WIDth`` within a ±5% tolerance. + - ``UNEQual`` causes a search when a pulse is detected with a width greater than or less + than (but not equal) the time period specified in ``SEARch:A:PULSEWidth:WIDth`` within a + ±5% tolerance. + - ``WIThin`` causes a search when a pulse is detected that is within a range set by two + values. + - ``OUTside`` causes a search when a pulse is detected that is outside of a range set by two + values. + """ # noqa: E501 + + +class SearchSearchItemTriggerAPulsewidthThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold`` command. + + Description: + - Sets or queries the source threshold level for a pulse width trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold? + ``` + + Info: + - ```` is the source threshold level for a pulse width trigger search. + """ + + +class SearchSearchItemTriggerAPulsewidthSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce`` command. + + Description: + - This command sets and queries the source for the pulse width search input. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce {S_Ch_D|CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is specified + by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + + +class SearchSearchItemTriggerAPulsewidthPolarity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity`` command. + + Description: + - This command specifies the polarity for a pulse width search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity {POSitive|NEGative} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity? + ``` + + Info: + - ``POSitive`` specifies positive polarity for a pulse width search. + - ``NEGative`` specifies negative polarity for a pulse width search. + """ + + +class SearchSearchItemTriggerAPulsewidthLowlimit(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit`` command. + + Description: + - This command specifies the lower limit to use, in seconds, when searching for a pulse + whose duration is inside or outside a range of two values. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit? + ``` + + Info: + - ```` is the lower limit to use, in seconds, when searching for a pulse. + """ + + +class SearchSearchItemTriggerAPulsewidthLogicqualification(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a pulse width search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification. + - ``OFF`` specifies not to use logic qualification. + """ + + +class SearchSearchItemTriggerAPulsewidthHighlimit(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit`` command. + + Description: + - This command specifies the upper limit to use, in seconds, when searching for a pulse + whose duration is inside or outside a range of two values. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit? + ``` + + Info: + - ```` is the upper limit to use, in seconds, when searching for a pulse. + """ + + +class SearchSearchItemTriggerAPulsewidth(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.highlimit``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit`` command. + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification`` + command. + - ``.lowlimit``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit`` command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold`` command. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._highlimit = SearchSearchItemTriggerAPulsewidthHighlimit( + device, f"{self._cmd_syntax}:HIGHLimit" + ) + self._logicqualification = SearchSearchItemTriggerAPulsewidthLogicqualification( + device, f"{self._cmd_syntax}:LOGICQUALification" + ) + self._lowlimit = SearchSearchItemTriggerAPulsewidthLowlimit( + device, f"{self._cmd_syntax}:LOWLimit" + ) + self._polarity = SearchSearchItemTriggerAPulsewidthPolarity( + device, f"{self._cmd_syntax}:POLarity" + ) + self._source = SearchSearchItemTriggerAPulsewidthSource( + device, f"{self._cmd_syntax}:SOUrce" + ) + self._threshold = SearchSearchItemTriggerAPulsewidthThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + self._when = SearchSearchItemTriggerAPulsewidthWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def highlimit(self) -> SearchSearchItemTriggerAPulsewidthHighlimit: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit`` command. + + Description: + - This command specifies the upper limit to use, in seconds, when searching for a pulse + whose duration is inside or outside a range of two values. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit? + ``` + + Info: + - ```` is the upper limit to use, in seconds, when searching for a pulse. + """ + return self._highlimit + + @property + def logicqualification(self) -> SearchSearchItemTriggerAPulsewidthLogicqualification: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification`` command. + + Description: + - This command specifies whether or not to use logic qualification for a pulse width + search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification {ON|OFF} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification? + ``` + + Info: + - ``ON`` specifies to use logic qualification. + - ``OFF`` specifies not to use logic qualification. + """ + return self._logicqualification + + @property + def lowlimit(self) -> SearchSearchItemTriggerAPulsewidthLowlimit: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit`` command. + + Description: + - This command specifies the lower limit to use, in seconds, when searching for a pulse + whose duration is inside or outside a range of two values. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit? + ``` + + Info: + - ```` is the lower limit to use, in seconds, when searching for a pulse. + """ + return self._lowlimit + + @property + def polarity(self) -> SearchSearchItemTriggerAPulsewidthPolarity: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity`` command. + + Description: + - This command specifies the polarity for a pulse width search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity {POSitive|NEGative} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity? + ``` + + Info: + - ``POSitive`` specifies positive polarity for a pulse width search. + - ``NEGative`` specifies negative polarity for a pulse width search. + """ + return self._polarity + + @property + def source(self) -> SearchSearchItemTriggerAPulsewidthSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce`` command. + + Description: + - This command sets and queries the source for the pulse width search input. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce {S_Ch_D|CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is + specified by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerAPulsewidthThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold`` command. + + Description: + - Sets or queries the source threshold level for a pulse width trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold? + ``` + + Info: + - ```` is the source threshold level for a pulse width trigger search. + """ + return self._threshold + + @property + def when(self) -> SearchSearchItemTriggerAPulsewidthWhen: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn`` command. + + Description: + - This command specifies to search for a pulse with a width (duration) that is less + than, greater than, equal to, or unequal to a specified value (set using + ``SEARch:A:PULSEWidth:WIDth`` ), OR whose ``SEARch:A:PULSEWidth:LOWLimit`` and + ``SEARch:A:PULSEWidth:HIGHLimit`` ). The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn {LESSthan|MOREthan|EQual|UNEQual|WIThin|OUTside} + - SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn? + ``` + + Info: + - ``LESSthan`` causes a search when a pulse is detected with a width less than the time + set by the ``SEARch:A:PULSEWidth:WIDth`` command. + - ``MOREthan`` causes a search when a pulse is detected with a width greater than the + time set by the ``SEARch:A:PULSEWidth:WIDth`` command. + - ``EQual`` causes a search when a pulse is detected with a width equal to the time + period specified in ``SEARch:A:PULSEWidth:WIDth`` within a ±5% tolerance. + - ``UNEQual`` causes a search when a pulse is detected with a width greater than or less + than (but not equal) the time period specified in ``SEARch:A:PULSEWidth:WIDth`` within + a ±5% tolerance. + - ``WIThin`` causes a search when a pulse is detected that is within a range set by two + values. + - ``OUTside`` causes a search when a pulse is detected that is outside of a range set by + two values. + """ # noqa: E501 + return self._when + + +class SearchSearchItemTriggerALogicWhen(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn`` command. + + Description: + - This command sets or queries the condition for generating an A or B logic search with + respect to the defined input pattern. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn {TRUe|FALSe|MOREThan|LESSThan|EQual|UNEQual} + - SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn? + ``` + + Info: + - ``TRUe`` searches on an input value that is true. + - ``FALSe`` searches on an input value that is false. + - ``MOREthan`` searches on an input value that is greater than a set value. + - ``LESSthan`` searches on an input value that is less than a set value. + - ``EQual`` searches on an input value that is equal to a set value. + - ``UNEQual`` searches on an input value that is not equal to a set value. + """ + + +class SearchSearchItemTriggerALogicUseclockedge(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge`` command. + + Description: + - This command specifies whether or not Logic search uses a clock source. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge {OFF|ON|0|1} + - SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge? + ``` + + Info: + - ``OFF`` specifies not to use the clock source. + - ``ON`` specifies to use the clock source. + - ``0`` specifies not to use the clock source. + - ``1`` specifies to use the clock source. + """ + + +class SearchSearchItemTriggerALogicPolarity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity`` command. + + Description: + - This command sets or queries the polarity for the clock channel when Use Clock Edge is set + to Yes for Logic search type. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity? + ``` + + Info: + - ``POSitive`` specifies using the positive clock edge. + - ``NEGative`` specifies using negative clock edge. + - ``EITher`` specifies using either the positive or negative clock edge. + """ + + +class SearchSearchItemTriggerALogicLogicpatternRefItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + """ + + +class SearchSearchItemTriggerALogicLogicpatternMathItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + """ + + +class SearchSearchItemTriggerALogicLogicpatternChannelDigitalBit( + ValidatedDigitalBit, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + """ + + +class SearchSearchItemTriggerALogicLogicpatternChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, with + respect to the defined input pattern, and identifies the time that the selected pattern + may be true and still generate the trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + + Properties: + - ``.d``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._d: Dict[int, SearchSearchItemTriggerALogicLogicpatternChannelDigitalBit] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLogicpatternChannelDigitalBit( + device, f"{self._cmd_syntax}_D{x}" + ) + ) + ) + + @property + def d(self) -> Dict[int, SearchSearchItemTriggerALogicLogicpatternChannelDigitalBit]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + """ + return self._d + + +class SearchSearchItemTriggerALogicLogicpattern(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SearchSearchItemTriggerALogicLogicpatternChannel] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLogicpatternChannel( + device, f"{self._cmd_syntax}:CH{x}" + ) + ) + ) + self._math: Dict[int, SearchSearchItemTriggerALogicLogicpatternMathItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLogicpatternMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) + ) + self._ref: Dict[int, SearchSearchItemTriggerALogicLogicpatternRefItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLogicpatternRefItem( + device, f"{self._cmd_syntax}:REF{x}" + ) + ) + ) + + @property + def ch(self) -> Dict[int, SearchSearchItemTriggerALogicLogicpatternChannel]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + + Sub-properties: + - ``.d``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH_D`` command. + """ + return self._ch + + @property + def math(self) -> Dict[int, SearchSearchItemTriggerALogicLogicpatternMathItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + """ + return self._math + + @property + def ref(self) -> Dict[int, SearchSearchItemTriggerALogicLogicpatternRefItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF`` command. + + Description: + - This command sets or queries the conditions used for generating an A logic pattern, + with respect to the defined input pattern, and identifies the time that the selected + pattern may be true and still generate the trigger. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF {H|L|X} + - SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF? + ``` + + Info: + - ``H`` specifies triggering when the pattern is high. + - ``L`` specifies triggering when the pattern is low. + - ``X`` specifies triggering when the pattern is high or low. + """ + return self._ref + + +class SearchSearchItemTriggerALogicLevelRefItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF`` command. + + Description: + - This command sets the voltage level to use for logic trigger search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF? + ``` + + Info: + - ```` is the voltage level to use for logic trigger search. + """ + + +class SearchSearchItemTriggerALogicLevelMathItem( + ValidatedDynamicNumberCmd, SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH`` command. + + Description: + - This command sets the voltage level to use for logic trigger search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH? + ``` + + Info: + - ```` is the voltage level to use for logic trigger search. + """ + + +class SearchSearchItemTriggerALogicLevelChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH`` command. + + Description: + - This command sets or queries the voltage level to use for logic trigger search. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH? + ``` + + Info: + - ```` is the voltage level to use for logic trigger search. + """ + + +class SearchSearchItemTriggerALogicLevel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SearchSearchItemTriggerALogicLevelChannel] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLevelChannel( + device, f"{self._cmd_syntax}:CH{x}" + ) + ) + ) + self._math: Dict[int, SearchSearchItemTriggerALogicLevelMathItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLevelMathItem( + device, f"{self._cmd_syntax}:MATH{x}" + ) + ) + ) + self._ref: Dict[int, SearchSearchItemTriggerALogicLevelRefItem] = ( + DefaultDictPassKeyToFactory( + lambda x: SearchSearchItemTriggerALogicLevelRefItem( + device, f"{self._cmd_syntax}:REF{x}" + ) + ) + ) + + @property + def ch(self) -> Dict[int, SearchSearchItemTriggerALogicLevelChannel]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH`` command. + + Description: + - This command sets or queries the voltage level to use for logic trigger search. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH? + ``` + + Info: + - ```` is the voltage level to use for logic trigger search. + """ + return self._ch + + @property + def math(self) -> Dict[int, SearchSearchItemTriggerALogicLevelMathItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH`` command. + + Description: + - This command sets the voltage level to use for logic trigger search. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH? + ``` + + Info: + - ```` is the voltage level to use for logic trigger search. + """ + return self._math + + @property + def ref(self) -> Dict[int, SearchSearchItemTriggerALogicLevelRefItem]: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF`` command. + + Description: + - This command sets the voltage level to use for logic trigger search. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF + - SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF? + ``` + + Info: + - ```` is the voltage level to use for logic trigger search. + """ + return self._ref + + +class SearchSearchItemTriggerALogicInputClockSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce`` command. + + Description: + - This command specifies or queries the channel to use as the clock source for logic + trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce {S_Ch_D|CH|CH_D|REF_D} + - SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is specified + by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + + +class SearchSearchItemTriggerALogicInputClock(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``CH`` specifies one input channel as the source, where the channel number is specified + by x. + + Properties: + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._source = SearchSearchItemTriggerALogicInputClockSource( + device, f"{self._cmd_syntax}:SOUrce" + ) + + @property + def source(self) -> SearchSearchItemTriggerALogicInputClockSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce`` command. + + Description: + - This command specifies or queries the channel to use as the clock source for logic + trigger. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce {S_Ch_D|CH|CH_D|REF_D} + - SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is + specified by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + return self._source + + +class SearchSearchItemTriggerALogicInput(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``CH`` specifies one input channel as the source, where the channel number is specified + by x. + + Properties: + - ``.clock``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = SearchSearchItemTriggerALogicInputClock(device, f"{self._cmd_syntax}:CLOCK") + + @property + def clock(self) -> SearchSearchItemTriggerALogicInputClock: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``CH`` specifies one input channel as the source, where the channel number is + specified by x. + + Sub-properties: + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK:SOUrce`` command. + """ + return self._clock + + +class SearchSearchItemTriggerALogicFunction(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion`` command. + + Description: + - This command sets or queries the logic operator for a pattern or state trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion? + ``` + + Info: + - ``AND`` places a mark if all conditions are true. + - ``NANd`` places a mark if any of the conditions are false. + - ``NOR`` places a mark if all conditions are false. + - ``OR`` places a mark if any of the conditions are true. + """ + + +class SearchSearchItemTriggerALogicDeltatime(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime`` command. + + Description: + - This command specifies the Logic search delta time value. The time value is used as part + of the Logic search condition to determine if the duration of a logic pattern meets the + specified time constraints. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime + - SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime? + ``` + + Info: + - ```` is delta time value. + """ + + +class SearchSearchItemTriggerALogicClockThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the logic clock threshold for a logic trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold + - SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold? + ``` + + Info: + - ```` is the logic clock threshold. + """ + + +class SearchSearchItemTriggerALogicClock(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._threshold = SearchSearchItemTriggerALogicClockThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def threshold(self) -> SearchSearchItemTriggerALogicClockThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold`` command. + + Description: + - This command sets or queries the logic clock threshold for a logic trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold + - SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold? + ``` + + Info: + - ```` is the logic clock threshold. + """ + return self._threshold + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerALogic(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:LOGIc`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.clock``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk`` command tree. + - ``.deltatime``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime`` command. + - ``.function``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion`` command. + - ``.input``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT`` command tree. + - ``.level``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel`` command tree. + - ``.logicpattern``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern`` command tree. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity`` command. + - ``.useclockedge``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge`` command. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._clock = SearchSearchItemTriggerALogicClock(device, f"{self._cmd_syntax}:CLOCk") + self._deltatime = SearchSearchItemTriggerALogicDeltatime( + device, f"{self._cmd_syntax}:DELTatime" + ) + self._function = SearchSearchItemTriggerALogicFunction( + device, f"{self._cmd_syntax}:FUNCtion" + ) + self._input = SearchSearchItemTriggerALogicInput(device, f"{self._cmd_syntax}:INPUT") + self._level = SearchSearchItemTriggerALogicLevel(device, f"{self._cmd_syntax}:LEVel") + self._logicpattern = SearchSearchItemTriggerALogicLogicpattern( + device, f"{self._cmd_syntax}:LOGICPattern" + ) + self._polarity = SearchSearchItemTriggerALogicPolarity( + device, f"{self._cmd_syntax}:POLarity" + ) + self._useclockedge = SearchSearchItemTriggerALogicUseclockedge( + device, f"{self._cmd_syntax}:USEClockedge" + ) + self._when = SearchSearchItemTriggerALogicWhen(device, f"{self._cmd_syntax}:WHEn") + + @property + def clock(self) -> SearchSearchItemTriggerALogicClock: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk:THReshold`` command. + """ + return self._clock + + @property + def deltatime(self) -> SearchSearchItemTriggerALogicDeltatime: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime`` command. + + Description: + - This command specifies the Logic search delta time value. The time value is used as + part of the Logic search condition to determine if the duration of a logic pattern + meets the specified time constraints. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime + - SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime? + ``` + + Info: + - ```` is delta time value. + """ + return self._deltatime + + @property + def function(self) -> SearchSearchItemTriggerALogicFunction: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion`` command. + + Description: + - This command sets or queries the logic operator for a pattern or state trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion {AND|NANd|NOR|OR} + - SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion? + ``` + + Info: + - ``AND`` places a mark if all conditions are true. + - ``NANd`` places a mark if any of the conditions are false. + - ``NOR`` places a mark if all conditions are false. + - ``OR`` places a mark if any of the conditions are true. + """ + return self._function + + @property + def input(self) -> SearchSearchItemTriggerALogicInput: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Info: + - ``CH`` specifies one input channel as the source, where the channel number is + specified by x. + + Sub-properties: + - ``.clock``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT:CLOCK`` command tree. + """ + return self._input + + @property + def level(self) -> SearchSearchItemTriggerALogicLevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel:REF`` command. + """ + return self._level + + @property + def logicpattern(self) -> SearchSearchItemTriggerALogicLogicpattern: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:CH`` command. + - ``.math``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:MATH`` command. + - ``.ref``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern:REF`` command. + """ + return self._logicpattern + + @property + def polarity(self) -> SearchSearchItemTriggerALogicPolarity: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity`` command. + + Description: + - This command sets or queries the polarity for the clock channel when Use Clock Edge is + set to Yes for Logic search type. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity {POSitive|NEGative|EITher} + - SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity? + ``` + + Info: + - ``POSitive`` specifies using the positive clock edge. + - ``NEGative`` specifies using negative clock edge. + - ``EITher`` specifies using either the positive or negative clock edge. + """ + return self._polarity + + @property + def useclockedge(self) -> SearchSearchItemTriggerALogicUseclockedge: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge`` command. + + Description: + - This command specifies whether or not Logic search uses a clock source. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge {OFF|ON|0|1} + - SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge? + ``` + + Info: + - ``OFF`` specifies not to use the clock source. + - ``ON`` specifies to use the clock source. + - ``0`` specifies not to use the clock source. + - ``1`` specifies to use the clock source. + """ + return self._useclockedge + + @property + def when(self) -> SearchSearchItemTriggerALogicWhen: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn`` command. + + Description: + - This command sets or queries the condition for generating an A or B logic search with + respect to the defined input pattern. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn {TRUe|FALSe|MOREThan|LESSThan|EQual|UNEQual} + - SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn? + ``` + + Info: + - ``TRUe`` searches on an input value that is true. + - ``FALSe`` searches on an input value that is false. + - ``MOREthan`` searches on an input value that is greater than a set value. + - ``LESSthan`` searches on an input value that is less than a set value. + - ``EQual`` searches on an input value that is equal to a set value. + - ``UNEQual`` searches on an input value that is not equal to a set value. + """ + return self._when + + +class SearchSearchItemTriggerAEdgeThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold`` command. + + Description: + - This command sets or queries the source threshold level for an edge trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:EDGE:THReshold + - SEARCH:SEARCH:TRIGger:A:EDGE:THReshold? + ``` + + Info: + - ```` is the source threshold level for an edge trigger search. + """ + + +class SearchSearchItemTriggerAEdgeSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce`` command. + + Description: + - This command sets or queries the source waveform for an edge trigger search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is specified + by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``MATH`` specifies the math waveform as the search source, where the math number is + specified by x. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + + +class SearchSearchItemTriggerAEdgeSlope(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe`` command. + + Description: + - This command sets or queries the slope for an edge trigger search to determine where to + place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe? + ``` + + Info: + - ``RISe`` specifies a rising edge. + - ``FALL`` specifies a falling edge. + - ``EITher`` specifies either rising or falling edge. + """ + + +class SearchSearchItemTriggerAEdge(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:EDGE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.slope``: The ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._slope = SearchSearchItemTriggerAEdgeSlope(device, f"{self._cmd_syntax}:SLOpe") + self._source = SearchSearchItemTriggerAEdgeSource(device, f"{self._cmd_syntax}:SOUrce") + self._threshold = SearchSearchItemTriggerAEdgeThreshold( + device, f"{self._cmd_syntax}:THReshold" + ) + + @property + def slope(self) -> SearchSearchItemTriggerAEdgeSlope: + """Return the ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe`` command. + + Description: + - This command sets or queries the slope for an edge trigger search to determine where + to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe? + ``` + + Info: + - ``RISe`` specifies a rising edge. + - ``FALL`` specifies a falling edge. + - ``EITher`` specifies either rising or falling edge. + """ + return self._slope + + @property + def source(self) -> SearchSearchItemTriggerAEdgeSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce`` command. + + Description: + - This command sets or queries the source waveform for an edge trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce {S_Ch_D|CH|CH_D|MATH|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce? + ``` + + Info: + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies one input channel as the source, where the channel number is + specified by x. + - ``CH_D`` specifies a digital reference waveform as the source waveform for the + specified search. + - ``MATH`` specifies the math waveform as the search source, where the math number is + specified by x. + - ``REF`` specifies the reference waveform as the search source, where the reference + number is specified by x. + - ``REF_D`` specifies a digital reference waveform as the source waveform for the + specified search. + """ # noqa: E501 + return self._source + + @property + def threshold(self) -> SearchSearchItemTriggerAEdgeThreshold: + """Return the ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold`` command. + + Description: + - This command sets or queries the source threshold level for an edge trigger search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:EDGE:THReshold + - SEARCH:SEARCH:TRIGger:A:EDGE:THReshold? + ``` + + Info: + - ```` is the source threshold level for an edge trigger search. + """ + return self._threshold + + +class SearchSearchItemTriggerADdrwriteTolerance(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance`` command. + + Description: + - This command sets or queries the DDR write logic state tolerance value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state tolerance value. + """ + + +class SearchSearchItemTriggerADdrwriteStrobesource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource`` command. + + Description: + - This command sets or queries the DDR write strobe source when the search type is DDR + Write. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource? + ``` + + Info: + - ``CH`` specifies channel as the DDR write strobe source for the specified search + . + - ``CH_D`` specifies digital waveform of channel as the DDR write strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR write strobe source for the specified + search . + - ``REF`` specifies reference waveform as the DDR write strobe source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR write + strobe source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrwriteStandard(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard`` command. + + Description: + - This command sets or queries the DDR write search standard as DDR3 or LPDDR3. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard? + ``` + + Info: + - ``DDR3`` sets the DDR write search standard as DDR3. + - ``LPDDR3`` sets the DDR write search standard as LPDDR3. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelStrobeMid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID`` command. + + Description: + - This command sets or queries the DDR write reference level strobe mid value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe mid reference value. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelStrobeLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW`` command. + + Description: + - This command sets or queries the DDR write reference level strobe low value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe low reference value. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelStrobeHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH`` command. + + Description: + - This command sets or queries the DDR write reference level strobe high value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR write search strobe high value. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelStrobe(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerADdrwriteReflevelStrobeHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerADdrwriteReflevelStrobeLow( + device, f"{self._cmd_syntax}:LOW" + ) + self._mid = SearchSearchItemTriggerADdrwriteReflevelStrobeMid( + device, f"{self._cmd_syntax}:MID" + ) + + @property + def high(self) -> SearchSearchItemTriggerADdrwriteReflevelStrobeHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH`` command. + + Description: + - This command sets or queries the DDR write reference level strobe high value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR write search strobe high value. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerADdrwriteReflevelStrobeLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW`` command. + + Description: + - This command sets or queries the DDR write reference level strobe low value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe low reference value. + """ + return self._low + + @property + def mid(self) -> SearchSearchItemTriggerADdrwriteReflevelStrobeMid: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID`` command. + + Description: + - This command sets or queries the DDR write reference level strobe mid value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe mid reference value. + """ + return self._mid + + +class SearchSearchItemTriggerADdrwriteReflevelDataMid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID`` command. + + Description: + - This command sets or queries the DDR write data mid reference level value, when the search + type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search data mid reference value. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelDataLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW`` command. + + Description: + - This command sets or queries the DDR write data low reference level value, when the search + type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search data low reference value. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelDataHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH`` command. + + Description: + - This command sets or queries the DDR write data high reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search data high reference value. + """ + + +class SearchSearchItemTriggerADdrwriteReflevelData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerADdrwriteReflevelDataHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerADdrwriteReflevelDataLow( + device, f"{self._cmd_syntax}:LOW" + ) + self._mid = SearchSearchItemTriggerADdrwriteReflevelDataMid( + device, f"{self._cmd_syntax}:MID" + ) + + @property + def high(self) -> SearchSearchItemTriggerADdrwriteReflevelDataHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH`` command. + + Description: + - This command sets or queries the DDR write data high reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search data high reference value. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerADdrwriteReflevelDataLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW`` command. + + Description: + - This command sets or queries the DDR write data low reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search data low reference value. + """ + return self._low + + @property + def mid(self) -> SearchSearchItemTriggerADdrwriteReflevelDataMid: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID`` command. + + Description: + - This command sets or queries the DDR write data mid reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search data mid reference value. + """ + return self._mid + + +class SearchSearchItemTriggerADdrwriteReflevel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA`` command tree. + - ``.strobe``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerADdrwriteReflevelData( + device, f"{self._cmd_syntax}:DATA" + ) + self._strobe = SearchSearchItemTriggerADdrwriteReflevelStrobe( + device, f"{self._cmd_syntax}:STROBE" + ) + + @property + def data(self) -> SearchSearchItemTriggerADdrwriteReflevelData: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA:MID`` command. + """ + return self._data + + @property + def strobe(self) -> SearchSearchItemTriggerADdrwriteReflevelStrobe: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE:MID`` command. + """ + return self._strobe + + +class SearchSearchItemTriggerADdrwriteReflevelmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode`` command. + + Description: + - This command sets or queries the DDR write reference level mode to auto or manual, when + the search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode? + ``` + + Info: + - ``AUTO`` sets the DDR write reference level mode to auto. + - ``MANUAL`` sets the DDR write reference level mode to manual. Use the Related Commands to + set the Reference levels when in Manual mode. + """ + + +class SearchSearchItemTriggerADdrwritePreambleType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE`` command. + + Description: + - This command sets or queries the DDR write preamble type when the search type is DDR + WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE? + ``` + + Info: + - ``STATIC`` sets the DDR Write preamble type to Static. + - ``DYNAMIC`` sets the DDR Write preamble type to Dynamic. + """ + + +class SearchSearchItemTriggerADdrwritePreamble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerADdrwritePreambleType( + device, f"{self._cmd_syntax}:TYPE" + ) + + @property + def type(self) -> SearchSearchItemTriggerADdrwritePreambleType: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE`` command. + + Description: + - This command sets or queries the DDR write preamble type when the search type is DDR + WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE? + ``` + + Info: + - ``STATIC`` sets the DDR Write preamble type to Static. + - ``DYNAMIC`` sets the DDR Write preamble type to Dynamic. + """ + return self._type + + +class SearchSearchItemTriggerADdrwritePostambleLength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth`` command. + + Description: + - This command sets or queries the DDR write postamble length when the search type is DDR + WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth {500E-3|1.5|1} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth? + ``` + + Info: + - ``500E-1.5`` sets the postamble length to 1.5 tCK (number of clock cycles). + - ``500E-1`` sets the postamble length to 1 tCK (number of clock cycles). + - ``500E-3`` sets the postamble length to 0.5 tCK (number of clock cycles). + """ + + +class SearchSearchItemTriggerADdrwritePostamble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = SearchSearchItemTriggerADdrwritePostambleLength( + device, f"{self._cmd_syntax}:LENGth" + ) + + @property + def length(self) -> SearchSearchItemTriggerADdrwritePostambleLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth`` command. + + Description: + - This command sets or queries the DDR write postamble length when the search type is + DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth {500E-3|1.5|1} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth? + ``` + + Info: + - ``500E-1.5`` sets the postamble length to 1.5 tCK (number of clock cycles). + - ``500E-1`` sets the postamble length to 1 tCK (number of clock cycles). + - ``500E-3`` sets the postamble length to 0.5 tCK (number of clock cycles). + """ + return self._length + + +class SearchSearchItemTriggerADdrwriteMincas(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas`` command. + + Description: + - This command sets or queries the DDR write chip select minimum Column Access Strobe (CAS) + value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR write chip select CAS minimum value. + """ + + +class SearchSearchItemTriggerADdrwriteMaxcas(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS`` command. + + Description: + - This command sets or queries the DDR write chip select maximum Column Access Strobe (CAS) + value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR write chip select CAS maximum value. + """ + + +class SearchSearchItemTriggerADdrwriteMargin(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin`` command. + + Description: + - This command sets or queries the DDR write margin reference level value, when the search + type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin? + ``` + + Info: + - ``NR3`` sets the DDR write search margin percent value in the range of 0% to 100%. + """ + + +class SearchSearchItemTriggerADdrwriteLogic4sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 4 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 4 symbol to H (High). + - ``L`` sets the logic source 4 symbol to L (Low). + - ``X`` sets the logic source 4 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrwriteLogic4source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrwriteLogic4sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrwriteLogic4sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 4 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 4 symbol to H (High). + - ``L`` sets the logic source 4 symbol to L (Low). + - ``X`` sets the logic source 4 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrwriteLogic3sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 3 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 3 symbol to H (High). + - ``L`` sets the logic source 3 symbol to L (Low). + - ``X`` sets the logic source 3 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrwriteLogic3source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrwriteLogic3sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrwriteLogic3sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 3 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 3 symbol to H (High). + - ``L`` sets the logic source 3 symbol to L (Low). + - ``X`` sets the logic source 3 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrwriteLogic2sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 2 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 2 symbol to H (High). + - ``L`` sets the logic source 2 symbol to L (Low). + - ``X`` sets the logic source 2 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrwriteLogic2source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrwriteLogic2sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrwriteLogic2sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 2 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 2 symbol to H (High). + - ``L`` sets the logic source 2 symbol to L (Low). + - ``X`` sets the logic source 2 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrwriteLogic1sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 1 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 1 symbol to H (High). + - ``L`` sets the logic source 1 symbol to L (Low). + - ``X`` sets the logic source 1 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrwriteLogic1source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrwriteLogic1sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrwriteLogic1sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR write logic source 1 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 1 symbol to H (High). + - ``L`` sets the logic source 1 symbol to L (Low). + - ``X`` sets the logic source 1 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrwriteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis`` command. + + Description: + - This command sets or queries the DDR write hysteresis reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis? + ``` + + Info: + - ``NR3`` sets the DDR write search hysteresis percent value in the range of 0% to 50%. + """ + + +class SearchSearchItemTriggerADdrwriteDatasource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource`` command. + + Description: + - This command sets or queries the DDR write data source when the search type is DDR Write. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource? + ``` + + Info: + - ``CH`` specifies channel as the DDR write data source for the specified search . + - ``CH_D`` specifies digital waveform of channel as the DDR write data source + for the specified search . + - ``Math`` specifies math waveform as the DDR write data source for the specified + search . + - ``REF`` specifies reference waveform as the DDR write data source for the specified + search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR write + data source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrwriteDatarate(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate`` command. + + Description: + - This command sets or queries the DDR write search data rate for DDR3 and LPDRR3 standards + of the specified search. The DDR3 standard supports the following data rates: + 800|1066|1333|1600|1866|2133. The LPDDR3 standard supports the following data rates: + 333|800|1066|1200|1333|1466|1600|1866|2133. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate? + ``` + + Info: + - ``333`` sets the data rate to 333. + - ``800`` sets the data rate to 800. + - ``1066`` sets the data rate to 1066. + - ``1200`` sets the data rate to 1200. + - ``1333`` sets the data rate to 1333. + - ``1466`` sets the data rate to 1466. + - ``1600`` sets the data rate to 1600. + - ``1866`` sets the data rate to 1866. + - ``2133`` sets the data rate to 2133. + """ + + +class SearchSearchItemTriggerADdrwriteCssource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource`` command. + + Description: + - This command sets or queries the DDR Write search chip select source. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies channel as the DDR write chip select source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR write strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR write chip select source for the + specified search . + - ``REF`` specifies reference waveform as the DDR write chip select source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR write + strobe source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrwriteCsmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode`` command. + + Description: + - This command sets or queries the DDR Write chip select mode. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``Auto`` sets the DDR write chip select mode to auto. + - ``Manual`` sets the DDR write chip select mode to manual. Use the Related Commands to set + the Reference levels when in Manual mode. + """ + + +class SearchSearchItemTriggerADdrwriteCslevel(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel`` command. + + Description: + - This command sets or queries the DDR Write chip select level value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR write chip select level value. + """ + + +class SearchSearchItemTriggerADdrwriteCsactive(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive`` command. + + Description: + - This command sets or queries the DDR write chip select active state. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``LOW`` sets the DDR write chip select active state to low. + - ``HIGH`` sets the DDR write chip select active state to high. + """ + + +class SearchSearchItemTriggerADdrwriteBurstlatency(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency`` command. + + Description: + - This command sets or queries the DDR write logic state burst latency value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state burst latency value. + """ + + +class SearchSearchItemTriggerADdrwriteBurstlength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH`` command. + + Description: + - This command sets or queries the DDR write logic state burst length value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR1`` sets the logic state burst length value. + """ + + +class SearchSearchItemTriggerADdrwriteBurstdetectmethod(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod`` command. + + Description: + - This command sets or queries the DDRWRITE search burst detection method. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod? + ``` + + Info: + - ``DQDQS`` sets the write burst detection method to DQDQS. + - ``ChipSelect`` sets the write burst detection method to ChipSelect. + - ``LogicState`` sets the write burst detection method to LogicState. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class SearchSearchItemTriggerADdrwrite(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.burstdetectmethod``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod`` + command. + - ``.burstlength``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH`` command. + - ``.burstlatency``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency`` command. + - ``.csactive``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive`` command. + - ``.cslevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel`` command. + - ``.csmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode`` command. + - ``.cssource``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource`` command. + - ``.datarate``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate`` command. + - ``.datasource``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource`` command. + - ``.hysteresis``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis`` command. + - ``.logic1source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce`` command tree. + - ``.logic2source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce`` command tree. + - ``.logic3source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce`` command tree. + - ``.logic4source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce`` command tree. + - ``.margin``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin`` command. + - ``.maxcas``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS`` command. + - ``.mincas``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas`` command. + - ``.postamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE`` command tree. + - ``.preamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE`` command tree. + - ``.reflevelmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode`` command. + - ``.reflevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel`` command tree. + - ``.standard``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard`` command. + - ``.strobesource``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource`` command. + - ``.tolerance``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._burstdetectmethod = SearchSearchItemTriggerADdrwriteBurstdetectmethod( + device, f"{self._cmd_syntax}:BURSTDETectmethod" + ) + self._burstlength = SearchSearchItemTriggerADdrwriteBurstlength( + device, f"{self._cmd_syntax}:BURSTLENGTH" + ) + self._burstlatency = SearchSearchItemTriggerADdrwriteBurstlatency( + device, f"{self._cmd_syntax}:BURSTLatency" + ) + self._csactive = SearchSearchItemTriggerADdrwriteCsactive( + device, f"{self._cmd_syntax}:CSActive" + ) + self._cslevel = SearchSearchItemTriggerADdrwriteCslevel( + device, f"{self._cmd_syntax}:CSLevel" + ) + self._csmode = SearchSearchItemTriggerADdrwriteCsmode(device, f"{self._cmd_syntax}:CSMode") + self._cssource = SearchSearchItemTriggerADdrwriteCssource( + device, f"{self._cmd_syntax}:CSSource" + ) + self._datarate = SearchSearchItemTriggerADdrwriteDatarate( + device, f"{self._cmd_syntax}:DATARate" + ) + self._datasource = SearchSearchItemTriggerADdrwriteDatasource( + device, f"{self._cmd_syntax}:DATASource" + ) + self._hysteresis = SearchSearchItemTriggerADdrwriteHysteresis( + device, f"{self._cmd_syntax}:HYSteresis" + ) + self._logic1source = SearchSearchItemTriggerADdrwriteLogic1source( + device, f"{self._cmd_syntax}:LOGIC1SOUrce" + ) + self._logic2source = SearchSearchItemTriggerADdrwriteLogic2source( + device, f"{self._cmd_syntax}:LOGIC2SOUrce" + ) + self._logic3source = SearchSearchItemTriggerADdrwriteLogic3source( + device, f"{self._cmd_syntax}:LOGIC3SOUrce" + ) + self._logic4source = SearchSearchItemTriggerADdrwriteLogic4source( + device, f"{self._cmd_syntax}:LOGIC4SOUrce" + ) + self._margin = SearchSearchItemTriggerADdrwriteMargin(device, f"{self._cmd_syntax}:MARgin") + self._maxcas = SearchSearchItemTriggerADdrwriteMaxcas(device, f"{self._cmd_syntax}:MAXCAS") + self._mincas = SearchSearchItemTriggerADdrwriteMincas(device, f"{self._cmd_syntax}:MINCas") + self._postamble = SearchSearchItemTriggerADdrwritePostamble( + device, f"{self._cmd_syntax}:POSTAMBLE" + ) + self._preamble = SearchSearchItemTriggerADdrwritePreamble( + device, f"{self._cmd_syntax}:PREAMBLE" + ) + self._reflevelmode = SearchSearchItemTriggerADdrwriteReflevelmode( + device, f"{self._cmd_syntax}:REFLEVELMode" + ) + self._reflevel = SearchSearchItemTriggerADdrwriteReflevel( + device, f"{self._cmd_syntax}:REFLevel" + ) + self._standard = SearchSearchItemTriggerADdrwriteStandard( + device, f"{self._cmd_syntax}:STANdard" + ) + self._strobesource = SearchSearchItemTriggerADdrwriteStrobesource( + device, f"{self._cmd_syntax}:STROBESource" + ) + self._tolerance = SearchSearchItemTriggerADdrwriteTolerance( + device, f"{self._cmd_syntax}:TOLERance" + ) + + @property + def burstdetectmethod(self) -> SearchSearchItemTriggerADdrwriteBurstdetectmethod: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod`` command. + + Description: + - This command sets or queries the DDRWRITE search burst detection method. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod? + ``` + + Info: + - ``DQDQS`` sets the write burst detection method to DQDQS. + - ``ChipSelect`` sets the write burst detection method to ChipSelect. + - ``LogicState`` sets the write burst detection method to LogicState. + """ + return self._burstdetectmethod + + @property + def burstlength(self) -> SearchSearchItemTriggerADdrwriteBurstlength: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH`` command. + + Description: + - This command sets or queries the DDR write logic state burst length value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR1`` sets the logic state burst length value. + """ + return self._burstlength + + @property + def burstlatency(self) -> SearchSearchItemTriggerADdrwriteBurstlatency: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency`` command. + + Description: + - This command sets or queries the DDR write logic state burst latency value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state burst latency value. + """ + return self._burstlatency + + @property + def csactive(self) -> SearchSearchItemTriggerADdrwriteCsactive: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive`` command. + + Description: + - This command sets or queries the DDR write chip select active state. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``LOW`` sets the DDR write chip select active state to low. + - ``HIGH`` sets the DDR write chip select active state to high. + """ + return self._csactive + + @property + def cslevel(self) -> SearchSearchItemTriggerADdrwriteCslevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel`` command. + + Description: + - This command sets or queries the DDR Write chip select level value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR write chip select level value. + """ + return self._cslevel + + @property + def csmode(self) -> SearchSearchItemTriggerADdrwriteCsmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode`` command. + + Description: + - This command sets or queries the DDR Write chip select mode. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``Auto`` sets the DDR write chip select mode to auto. + - ``Manual`` sets the DDR write chip select mode to manual. Use the Related Commands to + set the Reference levels when in Manual mode. + """ + return self._csmode + + @property + def cssource(self) -> SearchSearchItemTriggerADdrwriteCssource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource`` command. + + Description: + - This command sets or queries the DDR Write search chip select source. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies channel as the DDR write chip select source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR write strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR write chip select source for the + specified search . + - ``REF`` specifies reference waveform as the DDR write chip select source for + the specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + write strobe source for the specified search . + """ # noqa: E501 + return self._cssource + + @property + def datarate(self) -> SearchSearchItemTriggerADdrwriteDatarate: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate`` command. + + Description: + - This command sets or queries the DDR write search data rate for DDR3 and LPDRR3 + standards of the specified search. The DDR3 standard supports the following data + rates: 800|1066|1333|1600|1866|2133. The LPDDR3 standard supports the following data + rates: 333|800|1066|1200|1333|1466|1600|1866|2133. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate? + ``` + + Info: + - ``333`` sets the data rate to 333. + - ``800`` sets the data rate to 800. + - ``1066`` sets the data rate to 1066. + - ``1200`` sets the data rate to 1200. + - ``1333`` sets the data rate to 1333. + - ``1466`` sets the data rate to 1466. + - ``1600`` sets the data rate to 1600. + - ``1866`` sets the data rate to 1866. + - ``2133`` sets the data rate to 2133. + """ # noqa: E501 + return self._datarate + + @property + def datasource(self) -> SearchSearchItemTriggerADdrwriteDatasource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource`` command. + + Description: + - This command sets or queries the DDR write data source when the search type is DDR + Write. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource? + ``` + + Info: + - ``CH`` specifies channel as the DDR write data source for the specified search + . + - ``CH_D`` specifies digital waveform of channel as the DDR write data + source for the specified search . + - ``Math`` specifies math waveform as the DDR write data source for the specified + search . + - ``REF`` specifies reference waveform as the DDR write data source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + write data source for the specified search . + """ # noqa: E501 + return self._datasource + + @property + def hysteresis(self) -> SearchSearchItemTriggerADdrwriteHysteresis: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis`` command. + + Description: + - This command sets or queries the DDR write hysteresis reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis? + ``` + + Info: + - ``NR3`` sets the DDR write search hysteresis percent value in the range of 0% to 50%. + """ + return self._hysteresis + + @property + def logic1source(self) -> SearchSearchItemTriggerADdrwriteLogic1source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce:SYMBol`` command. + """ + return self._logic1source + + @property + def logic2source(self) -> SearchSearchItemTriggerADdrwriteLogic2source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce:SYMBol`` command. + """ + return self._logic2source + + @property + def logic3source(self) -> SearchSearchItemTriggerADdrwriteLogic3source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce:SYMBol`` command. + """ + return self._logic3source + + @property + def logic4source(self) -> SearchSearchItemTriggerADdrwriteLogic4source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce:SYMBol`` command. + """ + return self._logic4source + + @property + def margin(self) -> SearchSearchItemTriggerADdrwriteMargin: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin`` command. + + Description: + - This command sets or queries the DDR write margin reference level value, when the + search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin? + ``` + + Info: + - ``NR3`` sets the DDR write search margin percent value in the range of 0% to 100%. + """ + return self._margin + + @property + def maxcas(self) -> SearchSearchItemTriggerADdrwriteMaxcas: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS`` command. + + Description: + - This command sets or queries the DDR write chip select maximum Column Access Strobe + (CAS) value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR write chip select CAS maximum value. + """ + return self._maxcas + + @property + def mincas(self) -> SearchSearchItemTriggerADdrwriteMincas: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas`` command. + + Description: + - This command sets or queries the DDR write chip select minimum Column Access Strobe + (CAS) value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR write chip select CAS minimum value. + """ + return self._mincas + + @property + def postamble(self) -> SearchSearchItemTriggerADdrwritePostamble: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE:LENGth`` command. + """ + return self._postamble + + @property + def preamble(self) -> SearchSearchItemTriggerADdrwritePreamble: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE:TYPE`` command. + """ + return self._preamble + + @property + def reflevelmode(self) -> SearchSearchItemTriggerADdrwriteReflevelmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode`` command. + + Description: + - This command sets or queries the DDR write reference level mode to auto or manual, + when the search type is DDR WRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode? + ``` + + Info: + - ``AUTO`` sets the DDR write reference level mode to auto. + - ``MANUAL`` sets the DDR write reference level mode to manual. Use the Related Commands + to set the Reference levels when in Manual mode. + """ + return self._reflevelmode + + @property + def reflevel(self) -> SearchSearchItemTriggerADdrwriteReflevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:DATA`` command tree. + - ``.strobe``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel:STROBE`` command tree. + """ + return self._reflevel + + @property + def standard(self) -> SearchSearchItemTriggerADdrwriteStandard: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard`` command. + + Description: + - This command sets or queries the DDR write search standard as DDR3 or LPDDR3. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard? + ``` + + Info: + - ``DDR3`` sets the DDR write search standard as DDR3. + - ``LPDDR3`` sets the DDR write search standard as LPDDR3. + """ + return self._standard + + @property + def strobesource(self) -> SearchSearchItemTriggerADdrwriteStrobesource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource`` command. + + Description: + - This command sets or queries the DDR write strobe source when the search type is DDR + Write. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource? + ``` + + Info: + - ``CH`` specifies channel as the DDR write strobe source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR write strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR write strobe source for the + specified search . + - ``REF`` specifies reference waveform as the DDR write strobe source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + write strobe source for the specified search . + """ # noqa: E501 + return self._strobesource + + @property + def tolerance(self) -> SearchSearchItemTriggerADdrwriteTolerance: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance`` command. + + Description: + - This command sets or queries the DDR write logic state tolerance value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state tolerance value. + """ + return self._tolerance + + +class SearchSearchItemTriggerADdrreadwriteTolerance(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance`` command. + + Description: + - This command sets or queries the DDR read/write logic state tolerance value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state tolerance value. + """ + + +class SearchSearchItemTriggerADdrreadwriteStrobesource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource`` command. + + Description: + - This command sets or queries the DDR readwrite strobe source when the search type is DDR + READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read/write strobe source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read/write strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR read/write strobe source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read/write strobe source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read/write strobe source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadwriteStandard(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard`` command. + + Description: + - This command sets or queries the DDR read/write search standard as DDR3 or LPDDR3. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard? + ``` + + Info: + - ``DDR3`` sets the DDR read/write search standard as DDR3. + - ``LPDDR3`` sets the DDR read/write search standard as LPDDR3. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelStrobeMid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID`` command. + + Description: + - This command sets or queries the DDR read/write reference level strobe mid value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID? + ``` + + Info: + - ``NR3`` sets the DDR read/write search strobe mid reference value. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelStrobeLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW`` command. + + Description: + - This command sets or queries the DDR read/write reference level strobe low value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read/write search strobe low reference value. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelStrobeHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH`` command. + + Description: + - This command sets or queries the DDR read/write reference level strobe high value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe high value. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelStrobe(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerADdrreadwriteReflevelStrobeHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerADdrreadwriteReflevelStrobeLow( + device, f"{self._cmd_syntax}:LOW" + ) + self._mid = SearchSearchItemTriggerADdrreadwriteReflevelStrobeMid( + device, f"{self._cmd_syntax}:MID" + ) + + @property + def high(self) -> SearchSearchItemTriggerADdrreadwriteReflevelStrobeHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH`` command. + + Description: + - This command sets or queries the DDR read/write reference level strobe high value, + when the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe high value. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerADdrreadwriteReflevelStrobeLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW`` command. + + Description: + - This command sets or queries the DDR read/write reference level strobe low value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read/write search strobe low reference value. + """ + return self._low + + @property + def mid(self) -> SearchSearchItemTriggerADdrreadwriteReflevelStrobeMid: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID`` command. + + Description: + - This command sets or queries the DDR read/write reference level strobe mid value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID? + ``` + + Info: + - ``NR3`` sets the DDR read/write search strobe mid reference value. + """ + return self._mid + + +class SearchSearchItemTriggerADdrreadwriteReflevelDataMid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID`` command. + + Description: + - This command sets or queries the DDR read/write data mid reference level value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID? + ``` + + Info: + - ``NR3`` sets the DDR read/write search data mid reference value. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelDataLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW`` command. + + Description: + - This command sets or queries the DDR read/write data low reference level value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read/write search data low reference value. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelDataHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH`` command. + + Description: + - This command sets or queries the DDR read/write data high reference level value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read/write search data high reference value. + """ + + +class SearchSearchItemTriggerADdrreadwriteReflevelData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerADdrreadwriteReflevelDataHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerADdrreadwriteReflevelDataLow( + device, f"{self._cmd_syntax}:LOW" + ) + self._mid = SearchSearchItemTriggerADdrreadwriteReflevelDataMid( + device, f"{self._cmd_syntax}:MID" + ) + + @property + def high(self) -> SearchSearchItemTriggerADdrreadwriteReflevelDataHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH`` command. + + Description: + - This command sets or queries the DDR read/write data high reference level value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read/write search data high reference value. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerADdrreadwriteReflevelDataLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW`` command. + + Description: + - This command sets or queries the DDR read/write data low reference level value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read/write search data low reference value. + """ + return self._low + + @property + def mid(self) -> SearchSearchItemTriggerADdrreadwriteReflevelDataMid: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID`` command. + + Description: + - This command sets or queries the DDR read/write data mid reference level value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID? + ``` + + Info: + - ``NR3`` sets the DDR read/write search data mid reference value. + """ + return self._mid + + +class SearchSearchItemTriggerADdrreadwriteReflevel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA`` command tree. + - ``.strobe``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerADdrreadwriteReflevelData( + device, f"{self._cmd_syntax}:DATA" + ) + self._strobe = SearchSearchItemTriggerADdrreadwriteReflevelStrobe( + device, f"{self._cmd_syntax}:STROBE" + ) + + @property + def data(self) -> SearchSearchItemTriggerADdrreadwriteReflevelData: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA:MID`` command. + """ + return self._data + + @property + def strobe(self) -> SearchSearchItemTriggerADdrreadwriteReflevelStrobe: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:HIGH`` + command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE:MID`` command. + """ + return self._strobe + + +class SearchSearchItemTriggerADdrreadwriteReflevelmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode`` command. + + Description: + - This command sets or queries the DDR read/write reference level mode to auto or manual, + when the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode? + ``` + + Info: + - ``AUTO`` sets the DDR read/write reference level mode to auto. + - ``MANUAL`` sets the DDR read/write reference level mode to manual. Use the Related + Commands to set the Reference levels when in Manual mode. + """ + + +class SearchSearchItemTriggerADdrreadwritePreambleType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE`` command. + + Description: + - This command sets or queries the DDR read/write preamble type when the search type is DDR + READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE? + ``` + + Info: + - ``STATIC`` sets the DDR Read/Write preamble type to Static. + - ``DYNAMIC`` sets the DDR Read/Write preamble type to Dynamic. + """ + + +class SearchSearchItemTriggerADdrreadwritePreamble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerADdrreadwritePreambleType( + device, f"{self._cmd_syntax}:TYPE" + ) + + @property + def type(self) -> SearchSearchItemTriggerADdrreadwritePreambleType: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE`` command. + + Description: + - This command sets or queries the DDR read/write preamble type when the search type is + DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE? + ``` + + Info: + - ``STATIC`` sets the DDR Read/Write preamble type to Static. + - ``DYNAMIC`` sets the DDR Read/Write preamble type to Dynamic. + """ + return self._type + + +class SearchSearchItemTriggerADdrreadwritePostambleLength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth`` command. + + Description: + - This command sets or queries the DDR read/write postamble length when the search type is + DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth {500E-3|1.5|1} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth? + ``` + + Info: + - ``500E-1.5`` sets the postamble length to 1.5 tCK (number of clock cycles). + - ``500E-1`` sets the postamble length to 1 tCK (number of clock cycles). + - ``500E-3`` sets the postamble length to 0.5 tCK (number of clock cycles). + """ + + +class SearchSearchItemTriggerADdrreadwritePostamble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = SearchSearchItemTriggerADdrreadwritePostambleLength( + device, f"{self._cmd_syntax}:LENGth" + ) + + @property + def length(self) -> SearchSearchItemTriggerADdrreadwritePostambleLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth`` command. + + Description: + - This command sets or queries the DDR read/write postamble length when the search type + is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth {500E-3|1.5|1} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth? + ``` + + Info: + - ``500E-1.5`` sets the postamble length to 1.5 tCK (number of clock cycles). + - ``500E-1`` sets the postamble length to 1 tCK (number of clock cycles). + - ``500E-3`` sets the postamble length to 0.5 tCK (number of clock cycles). + """ + return self._length + + +class SearchSearchItemTriggerADdrreadwriteMincas(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas`` command. + + Description: + - This command sets or queries the DDR read/write chip minimum Column Access Strobe (CAS) + value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS minimum value. + """ + + +class SearchSearchItemTriggerADdrreadwriteMaxcas(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS`` command. + + Description: + - This command sets or queries the DDR read/write chip maximum Column Access Strobe (CAS) + value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS maximum value. + """ + + +class SearchSearchItemTriggerADdrreadwriteMargin(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin`` command. + + Description: + - This command sets or queries the DDR read/write margin reference level value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin? + ``` + + Info: + - ``NR3`` sets the DDR read/write search margin percent value in the range of 0% to 100%. + """ + + +class SearchSearchItemTriggerADdrreadwriteLogic4sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 4 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 4 symbol to H (High). + - ``L`` sets the logic source 4 symbol to L (Low). + - ``X`` sets the logic source 4 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadwriteLogic4source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadwriteLogic4sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadwriteLogic4sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 4 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 4 symbol to H (High). + - ``L`` sets the logic source 4 symbol to L (Low). + - ``X`` sets the logic source 4 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadwriteLogic3sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 3 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 3 symbol to H (High). + - ``L`` sets the logic source 3 symbol to L (Low). + - ``X`` sets the logic source 3 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadwriteLogic3source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadwriteLogic3sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadwriteLogic3sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 3 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 3 symbol to H (High). + - ``L`` sets the logic source 3 symbol to L (Low). + - ``X`` sets the logic source 3 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadwriteLogic2sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 2 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 2 symbol to H (High). + - ``L`` sets the logic source 2 symbol to L (Low). + - ``X`` sets the logic source 2 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadwriteLogic2source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadwriteLogic2sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadwriteLogic2sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 2 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 2 symbol to H (High). + - ``L`` sets the logic source 2 symbol to L (Low). + - ``X`` sets the logic source 2 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadwriteLogic1sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 1 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 1 symbol to H (High). + - ``L`` sets the logic source 1 symbol to L (Low). + - ``X`` sets the logic source 1 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadwriteLogic1source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadwriteLogic1sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadwriteLogic1sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read/write logic source 1 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 1 symbol to H (High). + - ``L`` sets the logic source 1 symbol to L (Low). + - ``X`` sets the logic source 1 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadwriteHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis`` command. + + Description: + - This command sets or queries the DDR read/write hysteresis reference level value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis? + ``` + + Info: + - ``NR3`` sets the DDR read/write search hysteresis percent value in the range of 0% to 50%. + """ + + +class SearchSearchItemTriggerADdrreadwriteDatasource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource`` command. + + Description: + - This command sets or queries the DDR read/write data source when the search type is DDR + READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read/write data source for the specified search + . + - ``CH_D`` specifies digital waveform of channel as the DDR read/write data + source for the specified search . + - ``Math`` specifies math waveform as the DDR read/write data source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read/write data source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read/write data source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadwriteDatarate(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate`` command. + + Description: + - This command sets or queries the DDR read/write data rate for DDR3 and LPDRR3 standards of + the specified search. The DDR3 standard supports the following data rates: + 800|1066|1333|1600|1866|2133. The LPDDR3 standard supports the following data rates: + 333|800|1066|1200|1333|1466|1600|1866|2133. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate? + ``` + + Info: + - ``333`` sets the data rate to 333. + - ``800`` sets the data rate to 800. + - ``1066`` sets the data rate to 1066. + - ``1200`` sets the data rate to 1200. + - ``1333`` sets the data rate to 1333. + - ``1466`` sets the data rate to 1466. + - ``1600`` sets the data rate to 1600. + - ``1866`` sets the data rate to 1866. + - ``2133`` sets the data rate to 2133. + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadwriteCssource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource`` command. + + Description: + - This command sets or queries the DDR Read/Write search chip select source. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies channel as the DDR read/write chip select source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read/write strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR read/write chip select source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read/write chip select source for + the specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read/write strobe source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadwriteCsmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode`` command. + + Description: + - This command sets or queries the DDR read/write chip select mode. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``Auto`` sets the DDR read/write chip select mode to auto. + - ``Manual`` sets the DDR read/write chip select mode to manual. Use the Related Commands to + set the Reference levels when in Manual mode. + """ + + +class SearchSearchItemTriggerADdrreadwriteCslevel(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel`` command. + + Description: + - This command sets or queries the DDR Read/Write chip select level value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read/write chip select level value. + """ + + +class SearchSearchItemTriggerADdrreadwriteCsactive(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive`` command. + + Description: + - This command sets or queries the DDR Read/Write chip select active state. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``LOW`` sets the DDR read/write chip select active state to low. + - ``HIGH`` sets the DDR read/write chip select active state to high. + """ + + +class SearchSearchItemTriggerADdrreadwriteBurstlatency(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency`` command. + + Description: + - This command sets or queries the DDR read/write logic state burst latency value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state burst latency value. + """ + + +class SearchSearchItemTriggerADdrreadwriteBurstlength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH`` command. + + Description: + - This command sets or queries the DDR read/write logic state burst length value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR1`` sets the logic state burst length value. + """ + + +class SearchSearchItemTriggerADdrreadwriteBurstdetectmethod(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod`` command. + + Description: + - This command sets or queries the DDR Read/Write search burst detection method. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod? + ``` + + Info: + - ``DQDQS`` sets the read/write burst detection method to DQDQS. + - ``ChipSelect`` sets the read/write burst detection method to ChipSelect. + - ``LogicState`` sets the read/write burst detection method to LogicState. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class SearchSearchItemTriggerADdrreadwrite(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.burstdetectmethod``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod`` + command. + - ``.burstlength``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH`` command. + - ``.burstlatency``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency`` command. + - ``.csactive``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive`` command. + - ``.cslevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel`` command. + - ``.csmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode`` command. + - ``.cssource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource`` command. + - ``.datarate``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate`` command. + - ``.datasource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource`` command. + - ``.hysteresis``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis`` command. + - ``.logic1source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce`` command + tree. + - ``.logic2source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce`` command + tree. + - ``.logic3source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce`` command + tree. + - ``.logic4source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce`` command + tree. + - ``.margin``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin`` command. + - ``.maxcas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS`` command. + - ``.mincas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas`` command. + - ``.postamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE`` command tree. + - ``.preamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE`` command tree. + - ``.reflevelmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode`` command. + - ``.reflevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel`` command tree. + - ``.standard``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard`` command. + - ``.strobesource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource`` command. + - ``.tolerance``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._burstdetectmethod = SearchSearchItemTriggerADdrreadwriteBurstdetectmethod( + device, f"{self._cmd_syntax}:BURSTDETectmethod" + ) + self._burstlength = SearchSearchItemTriggerADdrreadwriteBurstlength( + device, f"{self._cmd_syntax}:BURSTLENGTH" + ) + self._burstlatency = SearchSearchItemTriggerADdrreadwriteBurstlatency( + device, f"{self._cmd_syntax}:BURSTLatency" + ) + self._csactive = SearchSearchItemTriggerADdrreadwriteCsactive( + device, f"{self._cmd_syntax}:CSActive" + ) + self._cslevel = SearchSearchItemTriggerADdrreadwriteCslevel( + device, f"{self._cmd_syntax}:CSLevel" + ) + self._csmode = SearchSearchItemTriggerADdrreadwriteCsmode( + device, f"{self._cmd_syntax}:CSMode" + ) + self._cssource = SearchSearchItemTriggerADdrreadwriteCssource( + device, f"{self._cmd_syntax}:CSSource" + ) + self._datarate = SearchSearchItemTriggerADdrreadwriteDatarate( + device, f"{self._cmd_syntax}:DATARate" + ) + self._datasource = SearchSearchItemTriggerADdrreadwriteDatasource( + device, f"{self._cmd_syntax}:DATASource" + ) + self._hysteresis = SearchSearchItemTriggerADdrreadwriteHysteresis( + device, f"{self._cmd_syntax}:HYSteresis" + ) + self._logic1source = SearchSearchItemTriggerADdrreadwriteLogic1source( + device, f"{self._cmd_syntax}:LOGIC1SOUrce" + ) + self._logic2source = SearchSearchItemTriggerADdrreadwriteLogic2source( + device, f"{self._cmd_syntax}:LOGIC2SOUrce" + ) + self._logic3source = SearchSearchItemTriggerADdrreadwriteLogic3source( + device, f"{self._cmd_syntax}:LOGIC3SOUrce" + ) + self._logic4source = SearchSearchItemTriggerADdrreadwriteLogic4source( + device, f"{self._cmd_syntax}:LOGIC4SOUrce" + ) + self._margin = SearchSearchItemTriggerADdrreadwriteMargin( + device, f"{self._cmd_syntax}:MARgin" + ) + self._maxcas = SearchSearchItemTriggerADdrreadwriteMaxcas( + device, f"{self._cmd_syntax}:MAXCAS" + ) + self._mincas = SearchSearchItemTriggerADdrreadwriteMincas( + device, f"{self._cmd_syntax}:MINCas" + ) + self._postamble = SearchSearchItemTriggerADdrreadwritePostamble( + device, f"{self._cmd_syntax}:POSTAMBLE" + ) + self._preamble = SearchSearchItemTriggerADdrreadwritePreamble( + device, f"{self._cmd_syntax}:PREAMBLE" + ) + self._reflevelmode = SearchSearchItemTriggerADdrreadwriteReflevelmode( + device, f"{self._cmd_syntax}:REFLEVELMode" + ) + self._reflevel = SearchSearchItemTriggerADdrreadwriteReflevel( + device, f"{self._cmd_syntax}:REFLevel" + ) + self._standard = SearchSearchItemTriggerADdrreadwriteStandard( + device, f"{self._cmd_syntax}:STANdard" + ) + self._strobesource = SearchSearchItemTriggerADdrreadwriteStrobesource( + device, f"{self._cmd_syntax}:STROBESource" + ) + self._tolerance = SearchSearchItemTriggerADdrreadwriteTolerance( + device, f"{self._cmd_syntax}:TOLERance" + ) + + @property + def burstdetectmethod(self) -> SearchSearchItemTriggerADdrreadwriteBurstdetectmethod: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod`` command. + + Description: + - This command sets or queries the DDR Read/Write search burst detection method. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod? + ``` + + Info: + - ``DQDQS`` sets the read/write burst detection method to DQDQS. + - ``ChipSelect`` sets the read/write burst detection method to ChipSelect. + - ``LogicState`` sets the read/write burst detection method to LogicState. + """ # noqa: E501 + return self._burstdetectmethod + + @property + def burstlength(self) -> SearchSearchItemTriggerADdrreadwriteBurstlength: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH`` command. + + Description: + - This command sets or queries the DDR read/write logic state burst length value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR1`` sets the logic state burst length value. + """ + return self._burstlength + + @property + def burstlatency(self) -> SearchSearchItemTriggerADdrreadwriteBurstlatency: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency`` command. + + Description: + - This command sets or queries the DDR read/write logic state burst latency value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state burst latency value. + """ + return self._burstlatency + + @property + def csactive(self) -> SearchSearchItemTriggerADdrreadwriteCsactive: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive`` command. + + Description: + - This command sets or queries the DDR Read/Write chip select active state. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``LOW`` sets the DDR read/write chip select active state to low. + - ``HIGH`` sets the DDR read/write chip select active state to high. + """ + return self._csactive + + @property + def cslevel(self) -> SearchSearchItemTriggerADdrreadwriteCslevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel`` command. + + Description: + - This command sets or queries the DDR Read/Write chip select level value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read/write chip select level value. + """ + return self._cslevel + + @property + def csmode(self) -> SearchSearchItemTriggerADdrreadwriteCsmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode`` command. + + Description: + - This command sets or queries the DDR read/write chip select mode. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``Auto`` sets the DDR read/write chip select mode to auto. + - ``Manual`` sets the DDR read/write chip select mode to manual. Use the Related + Commands to set the Reference levels when in Manual mode. + """ + return self._csmode + + @property + def cssource(self) -> SearchSearchItemTriggerADdrreadwriteCssource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource`` command. + + Description: + - This command sets or queries the DDR Read/Write search chip select source. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies channel as the DDR read/write chip select source for the + specified search . + - ``CH_D`` specifies digital waveform of channel as the DDR read/write + strobe source for the specified search . + - ``Math`` specifies math waveform as the DDR read/write chip select source for + the specified search . + - ``REF`` specifies reference waveform as the DDR read/write chip select source + for the specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read/write strobe source for the specified search . + """ # noqa: E501 + return self._cssource + + @property + def datarate(self) -> SearchSearchItemTriggerADdrreadwriteDatarate: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate`` command. + + Description: + - This command sets or queries the DDR read/write data rate for DDR3 and LPDRR3 + standards of the specified search. The DDR3 standard supports the following data + rates: 800|1066|1333|1600|1866|2133. The LPDDR3 standard supports the following data + rates: 333|800|1066|1200|1333|1466|1600|1866|2133. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate? + ``` + + Info: + - ``333`` sets the data rate to 333. + - ``800`` sets the data rate to 800. + - ``1066`` sets the data rate to 1066. + - ``1200`` sets the data rate to 1200. + - ``1333`` sets the data rate to 1333. + - ``1466`` sets the data rate to 1466. + - ``1600`` sets the data rate to 1600. + - ``1866`` sets the data rate to 1866. + - ``2133`` sets the data rate to 2133. + """ # noqa: E501 + return self._datarate + + @property + def datasource(self) -> SearchSearchItemTriggerADdrreadwriteDatasource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource`` command. + + Description: + - This command sets or queries the DDR read/write data source when the search type is + DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read/write data source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read/write + data source for the specified search . + - ``Math`` specifies math waveform as the DDR read/write data source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read/write data source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read/write data source for the specified search . + """ # noqa: E501 + return self._datasource + + @property + def hysteresis(self) -> SearchSearchItemTriggerADdrreadwriteHysteresis: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis`` command. + + Description: + - This command sets or queries the DDR read/write hysteresis reference level value, when + the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis? + ``` + + Info: + - ``NR3`` sets the DDR read/write search hysteresis percent value in the range of 0% to + 50%. + """ + return self._hysteresis + + @property + def logic1source(self) -> SearchSearchItemTriggerADdrreadwriteLogic1source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce:SYMBol`` + command. + """ + return self._logic1source + + @property + def logic2source(self) -> SearchSearchItemTriggerADdrreadwriteLogic2source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce:SYMBol`` + command. + """ + return self._logic2source + + @property + def logic3source(self) -> SearchSearchItemTriggerADdrreadwriteLogic3source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce:SYMBol`` + command. + """ + return self._logic3source + + @property + def logic4source(self) -> SearchSearchItemTriggerADdrreadwriteLogic4source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce:SYMBol`` + command. + """ + return self._logic4source + + @property + def margin(self) -> SearchSearchItemTriggerADdrreadwriteMargin: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin`` command. + + Description: + - This command sets or queries the DDR read/write margin reference level value, when the + search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin? + ``` + + Info: + - ``NR3`` sets the DDR read/write search margin percent value in the range of 0% to + 100%. + """ + return self._margin + + @property + def maxcas(self) -> SearchSearchItemTriggerADdrreadwriteMaxcas: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS`` command. + + Description: + - This command sets or queries the DDR read/write chip maximum Column Access Strobe + (CAS) value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS maximum value. + """ + return self._maxcas + + @property + def mincas(self) -> SearchSearchItemTriggerADdrreadwriteMincas: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas`` command. + + Description: + - This command sets or queries the DDR read/write chip minimum Column Access Strobe + (CAS) value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS minimum value. + """ + return self._mincas + + @property + def postamble(self) -> SearchSearchItemTriggerADdrreadwritePostamble: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE:LENGth`` command. + """ + return self._postamble + + @property + def preamble(self) -> SearchSearchItemTriggerADdrreadwritePreamble: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE:TYPE`` command. + """ + return self._preamble + + @property + def reflevelmode(self) -> SearchSearchItemTriggerADdrreadwriteReflevelmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode`` command. + + Description: + - This command sets or queries the DDR read/write reference level mode to auto or + manual, when the search type is DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode? + ``` + + Info: + - ``AUTO`` sets the DDR read/write reference level mode to auto. + - ``MANUAL`` sets the DDR read/write reference level mode to manual. Use the Related + Commands to set the Reference levels when in Manual mode. + """ + return self._reflevelmode + + @property + def reflevel(self) -> SearchSearchItemTriggerADdrreadwriteReflevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:DATA`` command tree. + - ``.strobe``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel:STROBE`` command + tree. + """ + return self._reflevel + + @property + def standard(self) -> SearchSearchItemTriggerADdrreadwriteStandard: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard`` command. + + Description: + - This command sets or queries the DDR read/write search standard as DDR3 or LPDDR3. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard? + ``` + + Info: + - ``DDR3`` sets the DDR read/write search standard as DDR3. + - ``LPDDR3`` sets the DDR read/write search standard as LPDDR3. + """ + return self._standard + + @property + def strobesource(self) -> SearchSearchItemTriggerADdrreadwriteStrobesource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource`` command. + + Description: + - This command sets or queries the DDR readwrite strobe source when the search type is + DDR READWRITE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read/write strobe source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read/write + strobe source for the specified search . + - ``Math`` specifies math waveform as the DDR read/write strobe source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read/write strobe source for + the specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read/write strobe source for the specified search . + """ # noqa: E501 + return self._strobesource + + @property + def tolerance(self) -> SearchSearchItemTriggerADdrreadwriteTolerance: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance`` command. + + Description: + - This command sets or queries the DDR read/write logic state tolerance value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state tolerance value. + """ + return self._tolerance + + +class SearchSearchItemTriggerADdrreadTolerance(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance`` command. + + Description: + - This command sets or queries the DDR read logic state tolerance value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state tolerance value. + """ + + +class SearchSearchItemTriggerADdrreadStrobesource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource`` command. + + Description: + - This command sets or queries the DDR read strobe source when the search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read strobe trigger source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read strobe + trigger source for the specified search . + - ``Math`` specifies math waveform as the DDR read strobe trigger source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read strobe trigger source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR read + strobe trigger source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadStandard(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard`` command. + + Description: + - This command sets or queries the DDR read search standard as DDR3 or LPDDR3. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard? + ``` + + Info: + - ``DDR3`` sets the DDR read search standard as DDR3. + - ``LPDDR3`` sets the DDR read search standard as LPDDR3. + """ + + +class SearchSearchItemTriggerADdrreadReflevelStrobeMid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID`` command. + + Description: + - This command sets or queries the DDR read reference level strobe mid value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe mid reference value. + """ + + +class SearchSearchItemTriggerADdrreadReflevelStrobeLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW`` command. + + Description: + - This command sets or queries the DDR read reference level strobe low value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe low reference value. + """ + + +class SearchSearchItemTriggerADdrreadReflevelStrobeHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH`` command. + + Description: + - This command sets or queries the DDR read reference level strobe high value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe high value. + """ + + +class SearchSearchItemTriggerADdrreadReflevelStrobe(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerADdrreadReflevelStrobeHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerADdrreadReflevelStrobeLow( + device, f"{self._cmd_syntax}:LOW" + ) + self._mid = SearchSearchItemTriggerADdrreadReflevelStrobeMid( + device, f"{self._cmd_syntax}:MID" + ) + + @property + def high(self) -> SearchSearchItemTriggerADdrreadReflevelStrobeHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH`` command. + + Description: + - This command sets or queries the DDR read reference level strobe high value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe high value. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerADdrreadReflevelStrobeLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW`` command. + + Description: + - This command sets or queries the DDR read reference level strobe low value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe low reference value. + """ + return self._low + + @property + def mid(self) -> SearchSearchItemTriggerADdrreadReflevelStrobeMid: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID`` command. + + Description: + - This command sets or queries the DDR read reference level strobe mid value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search strobe mid reference value. + """ + return self._mid + + +class SearchSearchItemTriggerADdrreadReflevelDataMid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID`` command. + + Description: + - This command sets or queries the DDR read data mid reference level value, when the search + type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search data mid reference value. + """ + + +class SearchSearchItemTriggerADdrreadReflevelDataLow(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW`` command. + + Description: + - This command sets or queries the DDR read data low reference level value, when the search + type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search data low reference value. + """ + + +class SearchSearchItemTriggerADdrreadReflevelDataHigh(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH`` command. + + Description: + - This command sets or queries the DDR read data high reference level value, when the search + type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search data high reference value. + """ + + +class SearchSearchItemTriggerADdrreadReflevelData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._high = SearchSearchItemTriggerADdrreadReflevelDataHigh( + device, f"{self._cmd_syntax}:HIGH" + ) + self._low = SearchSearchItemTriggerADdrreadReflevelDataLow( + device, f"{self._cmd_syntax}:LOW" + ) + self._mid = SearchSearchItemTriggerADdrreadReflevelDataMid( + device, f"{self._cmd_syntax}:MID" + ) + + @property + def high(self) -> SearchSearchItemTriggerADdrreadReflevelDataHigh: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH`` command. + + Description: + - This command sets or queries the DDR read data high reference level value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH? + ``` + + Info: + - ``NR3`` sets the DDR read search data high reference value. + """ + return self._high + + @property + def low(self) -> SearchSearchItemTriggerADdrreadReflevelDataLow: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW`` command. + + Description: + - This command sets or queries the DDR read data low reference level value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW? + ``` + + Info: + - ``NR3`` sets the DDR read search data low reference value. + """ + return self._low + + @property + def mid(self) -> SearchSearchItemTriggerADdrreadReflevelDataMid: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID`` command. + + Description: + - This command sets or queries the DDR read data mid reference level value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID? + ``` + + Info: + - ``NR3`` sets the DDR read search data mid reference value. + """ + return self._mid + + +class SearchSearchItemTriggerADdrreadReflevel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA`` command tree. + - ``.strobe``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerADdrreadReflevelData(device, f"{self._cmd_syntax}:DATA") + self._strobe = SearchSearchItemTriggerADdrreadReflevelStrobe( + device, f"{self._cmd_syntax}:STROBE" + ) + + @property + def data(self) -> SearchSearchItemTriggerADdrreadReflevelData: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA:MID`` command. + """ + return self._data + + @property + def strobe(self) -> SearchSearchItemTriggerADdrreadReflevelStrobe: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.high``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:HIGH`` command. + - ``.low``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:LOW`` command. + - ``.mid``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE:MID`` command. + """ + return self._strobe + + +class SearchSearchItemTriggerADdrreadReflevelmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode`` command. + + Description: + - This command sets or queries the DDR read reference level mode to auto or manual, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode? + ``` + + Info: + - ``AUTO`` sets the DDR read reference level mode to auto. + - ``MANUAL`` sets the DDR read reference level mode to manual. Use the Related Commands to + set the Reference levels when in Manual mode. + """ + + +class SearchSearchItemTriggerADdrreadPreambleType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE`` command. + + Description: + - This command sets or queries the DDR read preamble type when the search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE? + ``` + + Info: + - ``STATIC`` sets the DDR Read preamble type to Static. + - ``DYNAMIC`` sets the DDR Read preamble type to Dynamic. + """ + + +class SearchSearchItemTriggerADdrreadPreamble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerADdrreadPreambleType(device, f"{self._cmd_syntax}:TYPE") + + @property + def type(self) -> SearchSearchItemTriggerADdrreadPreambleType: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE`` command. + + Description: + - This command sets or queries the DDR read preamble type when the search type is DDR + READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE {STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE? + ``` + + Info: + - ``STATIC`` sets the DDR Read preamble type to Static. + - ``DYNAMIC`` sets the DDR Read preamble type to Dynamic. + """ + return self._type + + +class SearchSearchItemTriggerADdrreadPostambleLength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth`` command. + + Description: + - This command sets or queries the DDR read postamble length when the search type is DDR + READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth {500E-3|500E-1.5|500E-1} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth? + ``` + + Info: + - ``500E-1.5`` sets the postamble length to 1.5 tCK (number of clock cycles). + - ``500E-1`` sets the postamble length to 1 tCK (number of clock cycles). + - ``500E-3`` sets the postamble length to 0.5 tCK (number of clock cycles). + """ + + +class SearchSearchItemTriggerADdrreadPostamble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = SearchSearchItemTriggerADdrreadPostambleLength( + device, f"{self._cmd_syntax}:LENGth" + ) + + @property + def length(self) -> SearchSearchItemTriggerADdrreadPostambleLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth`` command. + + Description: + - This command sets or queries the DDR read postamble length when the search type is DDR + READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth {500E-3|500E-1.5|500E-1} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth? + ``` + + Info: + - ``500E-1.5`` sets the postamble length to 1.5 tCK (number of clock cycles). + - ``500E-1`` sets the postamble length to 1 tCK (number of clock cycles). + - ``500E-3`` sets the postamble length to 0.5 tCK (number of clock cycles). + """ + return self._length + + +class SearchSearchItemTriggerADdrreadMincas(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas`` command. + + Description: + - This command sets or queries the DDR read chip minimum Column Access Strobe (CAS) value. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS minimum value. + """ + + +class SearchSearchItemTriggerADdrreadMaxcas(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS`` command. + + Description: + - This command sets or queries the DDR read chip maximum Column Access Strobe (CAS) value. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS maximum value. + """ + + +class SearchSearchItemTriggerADdrreadMargin(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin`` command. + + Description: + - This command sets or queries the DDR read margin reference level value, when the search + type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin? + ``` + + Info: + - ``NR3`` sets the DDR read search margin percent value in the range of 0% to 100%. + """ + + +class SearchSearchItemTriggerADdrreadLogic4sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 4 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 4 symbol to H (High). + - ``L`` sets the logic source 4 symbol to L (Low). + - ``X`` sets the logic source 4 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadLogic4source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadLogic4sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadLogic4sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 4 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 4 symbol to H (High). + - ``L`` sets the logic source 4 symbol to L (Low). + - ``X`` sets the logic source 4 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadLogic3sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 3 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 3 symbol to H (High). + - ``L`` sets the logic source 3 symbol to L (Low). + - ``X`` sets the logic source 3 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadLogic3source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadLogic3sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadLogic3sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 3 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 3 symbol to H (High). + - ``L`` sets the logic source 3 symbol to L (Low). + - ``X`` sets the logic source 3 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadLogic2sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 2 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 2 symbol to H (High). + - ``L`` sets the logic source 2 symbol to L (Low). + - ``X`` sets the logic source 2 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadLogic2source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadLogic2sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadLogic2sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 2 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 2 symbol to H (High). + - ``L`` sets the logic source 2 symbol to L (Low). + - ``X`` sets the logic source 2 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadLogic1sourceSymbol(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 1 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 1 symbol to H (High). + - ``L`` sets the logic source 1 symbol to L (Low). + - ``X`` sets the logic source 1 symbol to X (Don't care). + """ + + +class SearchSearchItemTriggerADdrreadLogic1source(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._symbol = SearchSearchItemTriggerADdrreadLogic1sourceSymbol( + device, f"{self._cmd_syntax}:SYMBol" + ) + + @property + def symbol(self) -> SearchSearchItemTriggerADdrreadLogic1sourceSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol`` command. + + Description: + - This command sets or queries the DDR read logic source 1 symbol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol {H|L|X} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``H`` sets the logic source 1 symbol to H (High). + - ``L`` sets the logic source 1 symbol to L (Low). + - ``X`` sets the logic source 1 symbol to X (Don't care). + """ + return self._symbol + + +class SearchSearchItemTriggerADdrreadHysteresis(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis`` command. + + Description: + - This command sets or queries the DDR read hysteresis reference level value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis? + ``` + + Info: + - ``NR3`` sets the DDR read search hysteresis percent value in the range of 0% to 50%. + """ + + +class SearchSearchItemTriggerADdrreadDatasource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource`` command. + + Description: + - This command sets or queries the DDR read data source when the search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read data source for the specified search . + - ``CH_D`` specifies digital waveform of channel as the DDR read data source + for the specified search . + - ``Math`` specifies math waveform as the DDR read data source for the specified + search . + - ``REF`` specifies reference waveform as the DDR read data source for the specified + search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR read + data source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadDatarate(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate`` command. + + Description: + - This command sets or queries the DDR read search data rate for DDR3 and LPDRR3 standards + of the specified search. The DDR3 standard supports the following data rates: + 800|1066|1333|1600|1866|2133. The LPDDR3 standard supports the following data rates: + 333|800|1066|1200|1333|1466|1600|1866|2133. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate? + ``` + + Info: + - ``333`` sets the data rate to 333. + - ``800`` sets the data rate to 800. + - ``1066`` sets the data rate to 1066. + - ``1200`` sets the data rate to 1200. + - ``1333`` sets the data rate to 1333. + - ``1466`` sets the data rate to 1466. + - ``1600`` sets the data rate to 1600. + - ``1866`` sets the data rate to 1866. + - ``2133`` sets the data rate to 2133. + """ + + +class SearchSearchItemTriggerADdrreadCssource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource`` command. + + Description: + - This command sets or queries the DDR Read search chip select source. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies channel as the DDR read chip select source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read strobe source + for the specified search . + - ``Math`` specifies math waveform as the DDR read chip select source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read chip select source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR read + strobe source for the specified search . + """ # noqa: E501 + + +class SearchSearchItemTriggerADdrreadCsmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode`` command. + + Description: + - This command sets or queries the DDR Read chip select mode. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``Auto`` sets the DDR read chip select mode to auto. + - ``Manual`` sets the DDR read chip select mode to manual. Use the Related Commands to set + the Reference levels when in Manual mode. + """ + + +class SearchSearchItemTriggerADdrreadCslevel(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel`` command. + + Description: + - This command sets or queries the DDR Read chip select level value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select level value. + """ + + +class SearchSearchItemTriggerADdrreadCsactive(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive`` command. + + Description: + - This command sets or queries the DDR Read chip select active state. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``LOW`` sets the DDR read chip select active state to low. + - ``HIGH`` sets the DDR read chip select active state to high. + """ + + +class SearchSearchItemTriggerADdrreadBurstlatency(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency`` command. + + Description: + - This command sets or queries the DDR read logic state burst latency value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state burst latency value. + """ + + +class SearchSearchItemTriggerADdrreadBurstlength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH`` command. + + Description: + - This command sets or queries the DDR read logic state burst length value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR1`` sets the logic state burst length value. + """ + + +class SearchSearchItemTriggerADdrreadBurstdetectmethod(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod`` command. + + Description: + - This command sets or queries the DDRRead search burst detection method. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod? + ``` + + Info: + - ``DQDQS`` sets the burst detection method to DQDQS. + - ``ChipSelect`` sets the burst detection method to ChipSelect. + - ``LogicState`` sets the burst detection method to LogicState. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class SearchSearchItemTriggerADdrread(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:DDRREAD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.burstdetectmethod``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod`` + command. + - ``.burstlength``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH`` command. + - ``.burstlatency``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency`` command. + - ``.csactive``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive`` command. + - ``.cslevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel`` command. + - ``.csmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode`` command. + - ``.cssource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource`` command. + - ``.datarate``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate`` command. + - ``.datasource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource`` command. + - ``.hysteresis``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis`` command. + - ``.logic1source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce`` command tree. + - ``.logic2source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce`` command tree. + - ``.logic3source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce`` command tree. + - ``.logic4source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce`` command tree. + - ``.margin``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin`` command. + - ``.maxcas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS`` command. + - ``.mincas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas`` command. + - ``.postamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE`` command tree. + - ``.preamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE`` command tree. + - ``.reflevelmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode`` command. + - ``.reflevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel`` command tree. + - ``.standard``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard`` command. + - ``.strobesource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource`` command. + - ``.tolerance``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._burstdetectmethod = SearchSearchItemTriggerADdrreadBurstdetectmethod( + device, f"{self._cmd_syntax}:BURSTDETectmethod" + ) + self._burstlength = SearchSearchItemTriggerADdrreadBurstlength( + device, f"{self._cmd_syntax}:BURSTLENGTH" + ) + self._burstlatency = SearchSearchItemTriggerADdrreadBurstlatency( + device, f"{self._cmd_syntax}:BURSTLatency" + ) + self._csactive = SearchSearchItemTriggerADdrreadCsactive( + device, f"{self._cmd_syntax}:CSActive" + ) + self._cslevel = SearchSearchItemTriggerADdrreadCslevel( + device, f"{self._cmd_syntax}:CSLevel" + ) + self._csmode = SearchSearchItemTriggerADdrreadCsmode(device, f"{self._cmd_syntax}:CSMode") + self._cssource = SearchSearchItemTriggerADdrreadCssource( + device, f"{self._cmd_syntax}:CSSource" + ) + self._datarate = SearchSearchItemTriggerADdrreadDatarate( + device, f"{self._cmd_syntax}:DATARate" + ) + self._datasource = SearchSearchItemTriggerADdrreadDatasource( + device, f"{self._cmd_syntax}:DATASource" + ) + self._hysteresis = SearchSearchItemTriggerADdrreadHysteresis( + device, f"{self._cmd_syntax}:HYSteresis" + ) + self._logic1source = SearchSearchItemTriggerADdrreadLogic1source( + device, f"{self._cmd_syntax}:LOGIC1SOUrce" + ) + self._logic2source = SearchSearchItemTriggerADdrreadLogic2source( + device, f"{self._cmd_syntax}:LOGIC2SOUrce" + ) + self._logic3source = SearchSearchItemTriggerADdrreadLogic3source( + device, f"{self._cmd_syntax}:LOGIC3SOUrce" + ) + self._logic4source = SearchSearchItemTriggerADdrreadLogic4source( + device, f"{self._cmd_syntax}:LOGIC4SOUrce" + ) + self._margin = SearchSearchItemTriggerADdrreadMargin(device, f"{self._cmd_syntax}:MARgin") + self._maxcas = SearchSearchItemTriggerADdrreadMaxcas(device, f"{self._cmd_syntax}:MAXCAS") + self._mincas = SearchSearchItemTriggerADdrreadMincas(device, f"{self._cmd_syntax}:MINCas") + self._postamble = SearchSearchItemTriggerADdrreadPostamble( + device, f"{self._cmd_syntax}:POSTAMBLE" + ) + self._preamble = SearchSearchItemTriggerADdrreadPreamble( + device, f"{self._cmd_syntax}:PREAMBLE" + ) + self._reflevelmode = SearchSearchItemTriggerADdrreadReflevelmode( + device, f"{self._cmd_syntax}:REFLEVELMode" + ) + self._reflevel = SearchSearchItemTriggerADdrreadReflevel( + device, f"{self._cmd_syntax}:REFLevel" + ) + self._standard = SearchSearchItemTriggerADdrreadStandard( + device, f"{self._cmd_syntax}:STANdard" + ) + self._strobesource = SearchSearchItemTriggerADdrreadStrobesource( + device, f"{self._cmd_syntax}:STROBESource" + ) + self._tolerance = SearchSearchItemTriggerADdrreadTolerance( + device, f"{self._cmd_syntax}:TOLERance" + ) + + @property + def burstdetectmethod(self) -> SearchSearchItemTriggerADdrreadBurstdetectmethod: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod`` command. + + Description: + - This command sets or queries the DDRRead search burst detection method. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod {DQDQS|ChipSelect|LogicState} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod? + ``` + + Info: + - ``DQDQS`` sets the burst detection method to DQDQS. + - ``ChipSelect`` sets the burst detection method to ChipSelect. + - ``LogicState`` sets the burst detection method to LogicState. + """ + return self._burstdetectmethod + + @property + def burstlength(self) -> SearchSearchItemTriggerADdrreadBurstlength: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH`` command. + + Description: + - This command sets or queries the DDR read logic state burst length value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR1`` sets the logic state burst length value. + """ + return self._burstlength + + @property + def burstlatency(self) -> SearchSearchItemTriggerADdrreadBurstlatency: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency`` command. + + Description: + - This command sets or queries the DDR read logic state burst latency value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency + - SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state burst latency value. + """ + return self._burstlatency + + @property + def csactive(self) -> SearchSearchItemTriggerADdrreadCsactive: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive`` command. + + Description: + - This command sets or queries the DDR Read chip select active state. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive {LOW|HIGH} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``LOW`` sets the DDR read chip select active state to low. + - ``HIGH`` sets the DDR read chip select active state to high. + """ + return self._csactive + + @property + def cslevel(self) -> SearchSearchItemTriggerADdrreadCslevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel`` command. + + Description: + - This command sets or queries the DDR Read chip select level value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select level value. + """ + return self._cslevel + + @property + def csmode(self) -> SearchSearchItemTriggerADdrreadCsmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode`` command. + + Description: + - This command sets or queries the DDR Read chip select mode. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode {Auto|Manual} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``Auto`` sets the DDR read chip select mode to auto. + - ``Manual`` sets the DDR read chip select mode to manual. Use the Related Commands to + set the Reference levels when in Manual mode. + """ + return self._csmode + + @property + def cssource(self) -> SearchSearchItemTriggerADdrreadCssource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource`` command. + + Description: + - This command sets or queries the DDR Read search chip select source. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource {S_Ch_D|CH|CH_D|Math|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``S_Ch_D`` specifies is the remote scope number, the analog channel and the + digital channel. + - ``CH`` specifies channel as the DDR read chip select source for the specified + search . + - ``CH_D`` specifies digital waveform of channel as the DDR read strobe + source for the specified search . + - ``Math`` specifies math waveform as the DDR read chip select source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read chip select source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read strobe source for the specified search . + """ # noqa: E501 + return self._cssource + + @property + def datarate(self) -> SearchSearchItemTriggerADdrreadDatarate: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate`` command. + + Description: + - This command sets or queries the DDR read search data rate for DDR3 and LPDRR3 + standards of the specified search. The DDR3 standard supports the following data + rates: 800|1066|1333|1600|1866|2133. The LPDDR3 standard supports the following data + rates: 333|800|1066|1200|1333|1466|1600|1866|2133. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate {333|800|1066|1200|1333|1466|1600|1866|2133} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate? + ``` + + Info: + - ``333`` sets the data rate to 333. + - ``800`` sets the data rate to 800. + - ``1066`` sets the data rate to 1066. + - ``1200`` sets the data rate to 1200. + - ``1333`` sets the data rate to 1333. + - ``1466`` sets the data rate to 1466. + - ``1600`` sets the data rate to 1600. + - ``1866`` sets the data rate to 1866. + - ``2133`` sets the data rate to 2133. + """ # noqa: E501 + return self._datarate + + @property + def datasource(self) -> SearchSearchItemTriggerADdrreadDatasource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource`` command. + + Description: + - This command sets or queries the DDR read data source when the search type is DDR + READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read data source for the specified search + . + - ``CH_D`` specifies digital waveform of channel as the DDR read data + source for the specified search . + - ``Math`` specifies math waveform as the DDR read data source for the specified + search . + - ``REF`` specifies reference waveform as the DDR read data source for the + specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read data source for the specified search . + """ # noqa: E501 + return self._datasource + + @property + def hysteresis(self) -> SearchSearchItemTriggerADdrreadHysteresis: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis`` command. + + Description: + - This command sets or queries the DDR read hysteresis reference level value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis + - SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis? + ``` + + Info: + - ``NR3`` sets the DDR read search hysteresis percent value in the range of 0% to 50%. + """ + return self._hysteresis + + @property + def logic1source(self) -> SearchSearchItemTriggerADdrreadLogic1source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce:SYMBol`` command. + """ + return self._logic1source + + @property + def logic2source(self) -> SearchSearchItemTriggerADdrreadLogic2source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce:SYMBol`` command. + """ + return self._logic2source + + @property + def logic3source(self) -> SearchSearchItemTriggerADdrreadLogic3source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce:SYMBol`` command. + """ + return self._logic3source + + @property + def logic4source(self) -> SearchSearchItemTriggerADdrreadLogic4source: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Info: + - ``SEARCH`` specifies the search number. + + Sub-properties: + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce:SYMBol`` command. + """ + return self._logic4source + + @property + def margin(self) -> SearchSearchItemTriggerADdrreadMargin: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin`` command. + + Description: + - This command sets or queries the DDR read margin reference level value, when the + search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin? + ``` + + Info: + - ``NR3`` sets the DDR read search margin percent value in the range of 0% to 100%. + """ + return self._margin + + @property + def maxcas(self) -> SearchSearchItemTriggerADdrreadMaxcas: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS`` command. + + Description: + - This command sets or queries the DDR read chip maximum Column Access Strobe (CAS) + value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS maximum value. + """ + return self._maxcas + + @property + def mincas(self) -> SearchSearchItemTriggerADdrreadMincas: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas`` command. + + Description: + - This command sets or queries the DDR read chip minimum Column Access Strobe (CAS) + value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas + - SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the DDR read chip select CAS minimum value. + """ + return self._mincas + + @property + def postamble(self) -> SearchSearchItemTriggerADdrreadPostamble: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE:LENGth`` command. + """ + return self._postamble + + @property + def preamble(self) -> SearchSearchItemTriggerADdrreadPreamble: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE:TYPE`` command. + """ + return self._preamble + + @property + def reflevelmode(self) -> SearchSearchItemTriggerADdrreadReflevelmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode`` command. + + Description: + - This command sets or queries the DDR read reference level mode to auto or manual, when + the search type is DDR READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode {AUTO|MANUAL} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode? + ``` + + Info: + - ``AUTO`` sets the DDR read reference level mode to auto. + - ``MANUAL`` sets the DDR read reference level mode to manual. Use the Related Commands + to set the Reference levels when in Manual mode. + """ + return self._reflevelmode + + @property + def reflevel(self) -> SearchSearchItemTriggerADdrreadReflevel: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:DATA`` command tree. + - ``.strobe``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel:STROBE`` command tree. + """ + return self._reflevel + + @property + def standard(self) -> SearchSearchItemTriggerADdrreadStandard: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard`` command. + + Description: + - This command sets or queries the DDR read search standard as DDR3 or LPDDR3. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard {DDR3|LPDDR3} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard? + ``` + + Info: + - ``DDR3`` sets the DDR read search standard as DDR3. + - ``LPDDR3`` sets the DDR read search standard as LPDDR3. + """ + return self._standard + + @property + def strobesource(self) -> SearchSearchItemTriggerADdrreadStrobesource: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource`` command. + + Description: + - This command sets or queries the DDR read strobe source when the search type is DDR + READ. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource {CH|CH_D|REF|REF_D} + - SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource? + ``` + + Info: + - ``CH`` specifies channel as the DDR read strobe trigger source for the + specified search . + - ``CH_D`` specifies digital waveform of channel as the DDR read strobe + trigger source for the specified search . + - ``Math`` specifies math waveform as the DDR read strobe trigger source for the + specified search . + - ``REF`` specifies reference waveform as the DDR read strobe trigger source for + the specified search . + - ``REF_D`` specifies digital waveform of reference waveform as the DDR + read strobe trigger source for the specified search . + """ # noqa: E501 + return self._strobesource + + @property + def tolerance(self) -> SearchSearchItemTriggerADdrreadTolerance: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance`` command. + + Description: + - This command sets or queries the DDR read logic state tolerance value. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance + - SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance? + ``` + + Info: + - ``SEARCH`` specifies the search number. + - ``NR3`` sets the logic state tolerance value. + """ + return self._tolerance + + +class SearchSearchItemTriggerABusUsbTokentype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType`` command. + + Description: + - This command sets or queries the token type used to search a USB bus signal. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType {ANY|IN|OUT|SETUP|SOF} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType? + ``` + + Info: + - ``ANY`` specifies the token type as Any (XX01). + - ``IN`` specifies the token type as IN (1001). + - ``OUT`` specifies the token type as OUT (0001). + - ``SETUP`` specifies the token type as SETUP (1101). + - ``SOF`` specifies the token type as Start Of Frame (0101). + """ + + +class SearchSearchItemTriggerABusUsbSplitSeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + + Description: + - This command sets or queries the Start/End value for the specified USB bus trigger on + split token field search to determine where to place a mark. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue {NOCARE|FULLSPEED|ISOALL|ISOEND|ISOMID|ISOSTART|LOWSPEED} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue? + ``` + + Info: + - ``NOCARE`` specifies Don't Care (X) Start/End bit value. + - ``FULLSPEED`` specifies Control/Bulk/Interrupt Full Speed device (0X) Start/End bit value. + - ``ISOALL`` specifies Isochronous Data is All (11) Start/End bit value. + - ``ISOEND`` specifies Isochronous Data is End (01) Start/End bit value. + - ``ISOMID`` specifies Isochronous Data is Middle (00) Start/End bit value. + - ``ISOSTART`` specifies Isochronous Data is Start (10) Start/End bit value. + - ``LOWSPEED`` specifies Control/Bulk/Interrupt Low Speed device (1X) Start/End bit value. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusUsbSplitSe(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusUsbSplitSeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusUsbSplitSeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + + Description: + - This command sets or queries the Start/End value for the specified USB bus trigger on + split token field search to determine where to place a mark. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue {NOCARE|FULLSPEED|ISOALL|ISOEND|ISOMID|ISOSTART|LOWSPEED} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue? + ``` + + Info: + - ``NOCARE`` specifies Don't Care (X) Start/End bit value. + - ``FULLSPEED`` specifies Control/Bulk/Interrupt Full Speed device (0X) Start/End bit + value. + - ``ISOALL`` specifies Isochronous Data is All (11) Start/End bit value. + - ``ISOEND`` specifies Isochronous Data is End (01) Start/End bit value. + - ``ISOMID`` specifies Isochronous Data is Middle (00) Start/End bit value. + - ``ISOSTART`` specifies Isochronous Data is Start (10) Start/End bit value. + - ``LOWSPEED`` specifies Control/Bulk/Interrupt Low Speed device (1X) Start/End bit + value. + """ # noqa: E501 + return self._value + + +class SearchSearchItemTriggerABusUsbSplitScValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + + Description: + - This command sets or queries the Start/Complete value for the specified USB bus trigger on + split token field search to determine where to place a mark. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue {CSPLIT|NOCARE|SSPLIT} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue? + ``` + + Info: + - ``CSPLIT`` specifies Complete (CSPLIT)(1) Start/Complete value. + - ``NOCARE`` specifies the Start/Complete value as Don't Care (X). + - ``SSPLIT`` specifies Start (SSPLIT) (0) Start/Complete value. + """ + + +class SearchSearchItemTriggerABusUsbSplitSc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusUsbSplitScValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusUsbSplitScValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + + Description: + - This command sets or queries the Start/Complete value for the specified USB bus + trigger on split token field search to determine where to place a mark. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue {CSPLIT|NOCARE|SSPLIT} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue? + ``` + + Info: + - ``CSPLIT`` specifies Complete (CSPLIT)(1) Start/Complete value. + - ``NOCARE`` specifies the Start/Complete value as Don't Care (X). + - ``SSPLIT`` specifies Start (SSPLIT) (0) Start/Complete value. + """ + return self._value + + +class SearchSearchItemTriggerABusUsbSplitPortValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + + Description: + - This command sets or queries the binary port address used when searching on a USB bus + signal. The search number is specified by x. The search condition must be set to Special + with a packet type SPLIT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue? + ``` + + Info: + - ```` specifies the port address in the valid format. The valid characters are. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbSplitPort(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusUsbSplitPortValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusUsbSplitPortValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + + Description: + - This command sets or queries the binary port address used when searching on a USB bus + signal. The search number is specified by x. The search condition must be set to + Special with a packet type SPLIT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue? + ``` + + Info: + - ```` specifies the port address in the valid format. The valid characters + are. + """ + return self._value + + +class SearchSearchItemTriggerABusUsbSplitHubValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + + Description: + - This command sets or queries the binary hub address value to be used when searching on a + USB bus signal. The search number is specified by x. The search condition must be set to + Special with packet type SPLIT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue? + ``` + + Info: + - ```` specifies the hub address. The valid characters are . + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbSplitHub(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusUsbSplitHubValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusUsbSplitHubValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + + Description: + - This command sets or queries the binary hub address value to be used when searching on + a USB bus signal. The search number is specified by x. The search condition must be + set to Special with packet type SPLIT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue? + ``` + + Info: + - ```` specifies the hub address. The valid characters are . + """ + return self._value + + +class SearchSearchItemTriggerABusUsbSplitEtValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + + Description: + - This command sets or queries the Endpoint Type value for the specified USB bus trigger + search on split token field to determine where to place a mark. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue {BULK|CONTROL|NOCARE|INTERRUPT|ISOchronous} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue? + ``` + + Info: + - ``BULK`` specifies the Endpoint Type value as Bulk (10). + - ``CONTROL`` specifies the Endpoint Type value as Control (00). + - ``NOCARE`` specifies the Endpoint Type value as Don't Care. + - ``INTERRUPT`` specifies the Endpoint Type value as Interrupt (11). + - ``ISOchronous`` specifies the Endpoint Type value as Isochronous (01). + """ # noqa: E501 + + +class SearchSearchItemTriggerABusUsbSplitEt(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusUsbSplitEtValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusUsbSplitEtValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + + Description: + - This command sets or queries the Endpoint Type value for the specified USB bus trigger + search on split token field to determine where to place a mark. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue {BULK|CONTROL|NOCARE|INTERRUPT|ISOchronous} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue? + ``` + + Info: + - ``BULK`` specifies the Endpoint Type value as Bulk (10). + - ``CONTROL`` specifies the Endpoint Type value as Control (00). + - ``NOCARE`` specifies the Endpoint Type value as Don't Care. + - ``INTERRUPT`` specifies the Endpoint Type value as Interrupt (11). + - ``ISOchronous`` specifies the Endpoint Type value as Isochronous (01). + """ # noqa: E501 + return self._value + + +class SearchSearchItemTriggerABusUsbSplit(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.et``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + - ``.hub``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + - ``.port``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + - ``.sc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + - ``.se``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._et = SearchSearchItemTriggerABusUsbSplitEt(device, f"{self._cmd_syntax}:ET") + self._hub = SearchSearchItemTriggerABusUsbSplitHub(device, f"{self._cmd_syntax}:HUB") + self._port = SearchSearchItemTriggerABusUsbSplitPort(device, f"{self._cmd_syntax}:PORT") + self._sc = SearchSearchItemTriggerABusUsbSplitSc(device, f"{self._cmd_syntax}:SC") + self._se = SearchSearchItemTriggerABusUsbSplitSe(device, f"{self._cmd_syntax}:SE") + + @property + def et(self) -> SearchSearchItemTriggerABusUsbSplitEt: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET:VALue`` command. + """ + return self._et + + @property + def hub(self) -> SearchSearchItemTriggerABusUsbSplitHub: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB:VALue`` command. + """ + return self._hub + + @property + def port(self) -> SearchSearchItemTriggerABusUsbSplitPort: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT:VALue`` command. + """ + return self._port + + @property + def sc(self) -> SearchSearchItemTriggerABusUsbSplitSc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC:VALue`` command. + """ + return self._sc + + @property + def se(self) -> SearchSearchItemTriggerABusUsbSplitSe: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE:VALue`` command. + """ + return self._se + + +class SearchSearchItemTriggerABusUsbSpecialtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType`` command. + + Description: + - This command sets or queries the USB search type for the specified USB bus trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType {ANY|ERROr|PING|PREamble|RESERVed|SPLit} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType? + ``` + + Info: + - ``ANY`` specifies the PID value as Any (XX00). + - ``ERROr`` specifies the PID value as ERR (1100). + - ``PING`` specifies the PID value as PING (0100). + - ``PREamble`` specifies the PID value as PRE (1100). + - ``RESERVed`` specifies the PID value as Reserved (0000). + - ``SPLit`` specifies the PID value as Split (1000). + """ + + +class SearchSearchItemTriggerABusUsbSofframenumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber`` command. + + Description: + - This command sets or queries the frame number string to use for the Start of Frame for the + specified USB bus trigger search to determine where to place a mark. The search number is + specified by x. The search condition must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber? + ``` + + Info: + - ```` specifies the frame number string for the Start of Frame in a valid format + (binary, hexadecimal, or symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbHandshaketype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType`` command. + + Description: + - This command sets or queries the handshake type for the specified USB bus trigger search + to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType {ACK|ANY|NAK|NYET|STALL} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType? + ``` + + Info: + - ``ACK`` specifies the handshake type as Acknowledgement (positive) (XX10). + - ``ANY`` specifies the handshake type as Any (0010). + - ``NAK`` specifies the handshake type as Negative Acknowledgment (1010). + - ``NYET`` specifies the handshake type as No response Yet (0110). + - ``STALL`` specifies the handshake type as Stall (endpoint is halted or control pipe + request not supported) (1110). + """ + + +class SearchSearchItemTriggerABusUsbErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE`` command. + + Description: + - This command sets or queries the error type for a USB bus search to determine where to + place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE {BITSTUFFing|CRC5|CRC16|PID} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE? + ``` + + Info: + - ``BITSTUFFing`` specifies the error type as Bit Stuffing. + - ``CRC5`` specifies the error type as Token CRC5 (Cyclic Redundancy Check 5). + - ``CRC16`` specifies the error type as Data CRC16 (Cyclic Redundancy Check 16). + - ``PID`` specifies the error type as PID Check Bits. + """ + + +class SearchSearchItemTriggerABusUsbEndpointValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + + Description: + - This command sets or queries the endpoint binary value used for a USB bus search to + determine where to place a mark. The search number is specified by x. The search condition + must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid characters + are 0, 1, and X for binary format; A-F, 0-9 and X for hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbEndpoint(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusUsbEndpointValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusUsbEndpointValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + + Description: + - This command sets or queries the endpoint binary value used for a USB bus search to + determine where to place a mark. The search number is specified by x. The search + condition must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid + characters are 0, 1, and X for binary format; A-F, 0-9 and X for hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusUsbDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value used for a USB bus search to determine + where to place a mark. The search number is specified by x. The search condition must be + set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. The valid characters are 0, 1, and X for binary + format; and A-F, 0-9, and X for hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbDataType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe`` command. + + Description: + - This command sets or queries the USB bus search type. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe {ANY|DATA|MDATA} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe? + ``` + + Info: + - ``ANY`` specifies the data packet type as Any. + - ``DATA0`` specifies the data packet type as DATA0. + - ``DATA1`` specifies the data packet type as DATA1. + - ``DATA2`` specifies the data packet type as DATA2. + - ``MDATA`` specifies the data packet type as MDATA. + """ + + +class SearchSearchItemTriggerABusUsbDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, used for a USB bus + search to determine where to place a mark. The search number is specified by x. The search + condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size in bytes. + """ + + +class SearchSearchItemTriggerABusUsbDataQualifier(SCPICmdWrite): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on a USB bus signal. + The search condition must be set to IDANDDATA OR DATA. The search number is specified by + x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + ``` + + Info: + - ``EQUal`` specifies the qualifier as Equal. + - ``INrange`` specifies the qualifier as Inside Range. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``OUTrange`` specifies the qualifier as Out of Range. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREThan`` specifies the qualifier as More Than. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusUsbDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet`` command. + + Description: + - This command sets the byte offset to look for a data pattern at, in bytes, to be used when + searching on a USB bus signal. The search number is specified by x. The search condition + must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet? + ``` + + Info: + - ```` specifies the data offset in bytes. + """ + + +class SearchSearchItemTriggerABusUsbDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high binary data value used with In Range and Out of + Range qualifiers for a USB bus search to determine where to place a mark. The search + number is specified by x. The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format (binary, hexadecimal, + or symbolic). The valid characters for binary are 0, 1, and X;. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusUsbDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._offset = SearchSearchItemTriggerABusUsbDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._qualifier = SearchSearchItemTriggerABusUsbDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._size = SearchSearchItemTriggerABusUsbDataSize(device, f"{self._cmd_syntax}:SIZe") + self._type = SearchSearchItemTriggerABusUsbDataType(device, f"{self._cmd_syntax}:TYPe") + self._value = SearchSearchItemTriggerABusUsbDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def hivalue(self) -> SearchSearchItemTriggerABusUsbDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high binary data value used with In Range and Out of + Range qualifiers for a USB bus search to determine where to place a mark. The search + number is specified by x. The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format (binary, + hexadecimal, or symbolic). The valid characters for binary are 0, 1, and X;. + """ + return self._hivalue + + @property + def offset(self) -> SearchSearchItemTriggerABusUsbDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet`` command. + + Description: + - This command sets the byte offset to look for a data pattern at, in bytes, to be used + when searching on a USB bus signal. The search number is specified by x. The search + condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet? + ``` + + Info: + - ```` specifies the data offset in bytes. + """ + return self._offset + + @property + def qualifier(self) -> SearchSearchItemTriggerABusUsbDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on a USB bus + signal. The search condition must be set to IDANDDATA OR DATA. The search number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + ``` + + Info: + - ``EQUal`` specifies the qualifier as Equal. + - ``INrange`` specifies the qualifier as Inside Range. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``OUTrange`` specifies the qualifier as Out of Range. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREThan`` specifies the qualifier as More Than. + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> SearchSearchItemTriggerABusUsbDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, used for a USB + bus search to determine where to place a mark. The search number is specified by x. + The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size in bytes. + """ + return self._size + + @property + def type(self) -> SearchSearchItemTriggerABusUsbDataType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe`` command. + + Description: + - This command sets or queries the USB bus search type. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe {ANY|DATA|MDATA} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe? + ``` + + Info: + - ``ANY`` specifies the data packet type as Any. + - ``DATA0`` specifies the data packet type as DATA0. + - ``DATA1`` specifies the data packet type as DATA1. + - ``DATA2`` specifies the data packet type as DATA2. + - ``MDATA`` specifies the data packet type as MDATA. + """ + return self._type + + @property + def value(self) -> SearchSearchItemTriggerABusUsbDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value used for a USB bus search to + determine where to place a mark. The search number is specified by x. The search + condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. The valid characters are 0, 1, and X for + binary format; and A-F, 0-9, and X for hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusUsbCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition`` command. + + Description: + - This command sets or queries the search condition for a USB bus search to determine where + to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition {DATAPacket|EOP|ERRor|HANDSHAKEPacket|RESET|RESUME|SPECIALPacket|SUSPEND|SYNC|TOKENPacket} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition? + ``` + + Info: + - ``DATAPacket`` specifies the search condition as Data Packet. + - ``EOP`` specifies the search condition as End of Packet. + - ``ERROR`` specifies the search condition as Error. + - ``HANDSHAKEPacket`` specifies the search condition as Handshake Packet. + - ``RESET`` specifies the search condition as Reset. + - ``RESUME`` specifies the search condition as Resume. + - ``SPECIALPacket`` specifies the search condition as Special Packet. + - ``SUSPEND`` specifies the search condition as Suspend. + - ``SYNC`` specifies the search condition as Sync. + - ``TOKENPacket`` specifies the search condition as Token (Address) Packet. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusUsbAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue`` command. + + Description: + - This command sets or queries the binary address value used for a USB bus search to + determine where to place a mark. The search number is specified by x. The search condition + must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. Valid characters are + 0, 1, and X for binary; A-F, 0-9 and X for hexadecimal; and for symbolic. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbAddressHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + + Description: + - This command sets or queries the high binary address value used when searching on a USB + bus signal to determine where to place a mark. The search number is specified by x. The + search condition must be set to TOKEN. The VALue and HIVALue set a range that the INrange + and OUTrange qualifiers use to decide when to trigger. For example, if the QUALIFER is set + to INrange, and the address is within the range set by VALue and HIVALue, then a trigger + can be generated. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid characters + are 0, 1, and X for binary; for hexadecimal; and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusUsbAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusUsbAddressHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._value = SearchSearchItemTriggerABusUsbAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusUsbAddressHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + + Description: + - This command sets or queries the high binary address value used when searching on a + USB bus signal to determine where to place a mark. The search number is specified by + x. The search condition must be set to TOKEN. The VALue and HIVALue set a range that + the INrange and OUTrange qualifiers use to decide when to trigger. For example, if the + QUALIFER is set to INrange, and the address is within the range set by VALue and + HIVALue, then a trigger can be generated. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid + characters are 0, 1, and X for binary; for hexadecimal; and symbolic). + """ + return self._hivalue + + @property + def value(self) -> SearchSearchItemTriggerABusUsbAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue`` command. + + Description: + - This command sets or queries the binary address value used for a USB bus search to + determine where to place a mark. The search number is specified by x. The search + condition must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. Valid characters + are 0, 1, and X for binary; A-F, 0-9 and X for hexadecimal; and for symbolic. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusUsb(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:USB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:USB?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:USB?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa`` command tree. + - ``.endpoint``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE`` command. + - ``.handshaketype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType`` command. + - ``.sofframenumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber`` command. + - ``.specialtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType`` command. + - ``.split``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT`` command tree. + - ``.tokentype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusUsbAddress(device, f"{self._cmd_syntax}:ADDress") + self._condition = SearchSearchItemTriggerABusUsbCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusUsbData(device, f"{self._cmd_syntax}:DATa") + self._endpoint = SearchSearchItemTriggerABusUsbEndpoint( + device, f"{self._cmd_syntax}:ENDPoint" + ) + self._errtype = SearchSearchItemTriggerABusUsbErrtype(device, f"{self._cmd_syntax}:ERRTYPE") + self._handshaketype = SearchSearchItemTriggerABusUsbHandshaketype( + device, f"{self._cmd_syntax}:HANDSHAKEType" + ) + self._sofframenumber = SearchSearchItemTriggerABusUsbSofframenumber( + device, f"{self._cmd_syntax}:SOFFRAMENUMber" + ) + self._specialtype = SearchSearchItemTriggerABusUsbSpecialtype( + device, f"{self._cmd_syntax}:SPECIALType" + ) + self._split = SearchSearchItemTriggerABusUsbSplit(device, f"{self._cmd_syntax}:SPLIT") + self._tokentype = SearchSearchItemTriggerABusUsbTokentype( + device, f"{self._cmd_syntax}:TOKENType" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusUsbAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress:VALue`` command. + """ + return self._address + + @property + def condition(self) -> SearchSearchItemTriggerABusUsbCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition`` command. + + Description: + - This command sets or queries the search condition for a USB bus search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition {DATAPacket|EOP|ERRor|HANDSHAKEPacket|RESET|RESUME|SPECIALPacket|SUSPEND|SYNC|TOKENPacket} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition? + ``` + + Info: + - ``DATAPacket`` specifies the search condition as Data Packet. + - ``EOP`` specifies the search condition as End of Packet. + - ``ERROR`` specifies the search condition as Error. + - ``HANDSHAKEPacket`` specifies the search condition as Handshake Packet. + - ``RESET`` specifies the search condition as Reset. + - ``RESUME`` specifies the search condition as Resume. + - ``SPECIALPacket`` specifies the search condition as Special Packet. + - ``SUSPEND`` specifies the search condition as Suspend. + - ``SYNC`` specifies the search condition as Sync. + - ``TOKENPacket`` specifies the search condition as Token (Address) Packet. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusUsbData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:SIZe`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:TYPe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa:VALue`` command. + """ + return self._data + + @property + def endpoint(self) -> SearchSearchItemTriggerABusUsbEndpoint: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint:VALue`` command. + """ + return self._endpoint + + @property + def errtype(self) -> SearchSearchItemTriggerABusUsbErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE`` command. + + Description: + - This command sets or queries the error type for a USB bus search to determine where to + place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE {BITSTUFFing|CRC5|CRC16|PID} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE? + ``` + + Info: + - ``BITSTUFFing`` specifies the error type as Bit Stuffing. + - ``CRC5`` specifies the error type as Token CRC5 (Cyclic Redundancy Check 5). + - ``CRC16`` specifies the error type as Data CRC16 (Cyclic Redundancy Check 16). + - ``PID`` specifies the error type as PID Check Bits. + """ + return self._errtype + + @property + def handshaketype(self) -> SearchSearchItemTriggerABusUsbHandshaketype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType`` command. + + Description: + - This command sets or queries the handshake type for the specified USB bus trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType {ACK|ANY|NAK|NYET|STALL} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType? + ``` + + Info: + - ``ACK`` specifies the handshake type as Acknowledgement (positive) (XX10). + - ``ANY`` specifies the handshake type as Any (0010). + - ``NAK`` specifies the handshake type as Negative Acknowledgment (1010). + - ``NYET`` specifies the handshake type as No response Yet (0110). + - ``STALL`` specifies the handshake type as Stall (endpoint is halted or control pipe + request not supported) (1110). + """ + return self._handshaketype + + @property + def sofframenumber(self) -> SearchSearchItemTriggerABusUsbSofframenumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber`` command. + + Description: + - This command sets or queries the frame number string to use for the Start of Frame for + the specified USB bus trigger search to determine where to place a mark. The search + number is specified by x. The search condition must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber? + ``` + + Info: + - ```` specifies the frame number string for the Start of Frame in a valid + format (binary, hexadecimal, or symbolic). + """ + return self._sofframenumber + + @property + def specialtype(self) -> SearchSearchItemTriggerABusUsbSpecialtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType`` command. + + Description: + - This command sets or queries the USB search type for the specified USB bus trigger + search to determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType {ANY|ERROr|PING|PREamble|RESERVed|SPLit} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType? + ``` + + Info: + - ``ANY`` specifies the PID value as Any (XX00). + - ``ERROr`` specifies the PID value as ERR (1100). + - ``PING`` specifies the PID value as PING (0100). + - ``PREamble`` specifies the PID value as PRE (1100). + - ``RESERVed`` specifies the PID value as Reserved (0000). + - ``SPLit`` specifies the PID value as Split (1000). + """ # noqa: E501 + return self._specialtype + + @property + def split(self) -> SearchSearchItemTriggerABusUsbSplit: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.et``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:ET`` command tree. + - ``.hub``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:HUB`` command tree. + - ``.port``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:PORT`` command tree. + - ``.sc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SC`` command tree. + - ``.se``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT:SE`` command tree. + """ + return self._split + + @property + def tokentype(self) -> SearchSearchItemTriggerABusUsbTokentype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType`` command. + + Description: + - This command sets or queries the token type used to search a USB bus signal. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType {ANY|IN|OUT|SETUP|SOF} + - SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType? + ``` + + Info: + - ``ANY`` specifies the token type as Any (XX01). + - ``IN`` specifies the token type as IN (1001). + - ``OUT`` specifies the token type as OUT (0001). + - ``SETUP`` specifies the token type as SETUP (1101). + - ``SOF`` specifies the token type as Start Of Frame (0101). + """ + return self._tokentype + + +class SearchSearchItemTriggerABusSvidSlaveAddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS`` command. + + Description: + - This command sets or queries the slave address to be used when search is on SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the data value in the specified valid format. The valid characters + are 0, 1, and X for binary; for hexadecimal; and symbolic). the default address is XXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSvidSlave(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusSvidSlaveAddress( + device, f"{self._cmd_syntax}:ADDRESS" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusSvidSlaveAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS`` command. + + Description: + - This command sets or queries the slave address to be used when search is on SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the data value in the specified valid format. The valid + characters are 0, 1, and X for binary; for hexadecimal; and symbolic). the default + address is XXXX. + """ + return self._address + + +class SearchSearchItemTriggerABusSvidPayloadValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue`` command. + + Description: + - This command sets or queries the payload value to be used when search is on SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the data value in the specified valid format. The valid characters + are 0, 1, and X for binary; for hexadecimal; and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSvidPayloadType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe`` command. + + Description: + - This command sets or queries the payload type for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe {MASTer|SLAVe|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``MASTer`` specifies the search condition as MASTer. This is the default payload type + condition. + - ``SLAVe`` specifies the search condition as SLAVe. + - ``EITHer`` specifies the search condition as EITHer. + """ + + +class SearchSearchItemTriggerABusSvidPayload(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusSvidPayloadType(device, f"{self._cmd_syntax}:TYPe") + self._value = SearchSearchItemTriggerABusSvidPayloadValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def type(self) -> SearchSearchItemTriggerABusSvidPayloadType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe`` command. + + Description: + - This command sets or queries the payload type for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe {MASTer|SLAVe|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``MASTer`` specifies the search condition as MASTer. This is the default payload type + condition. + - ``SLAVe`` specifies the search condition as SLAVe. + - ``EITHer`` specifies the search condition as EITHer. + """ + return self._type + + @property + def value(self) -> SearchSearchItemTriggerABusSvidPayloadValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue`` command. + + Description: + - This command sets or queries the payload value to be used when search is on SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the data value in the specified valid format. The valid + characters are 0, 1, and X for binary; for hexadecimal; and symbolic). + """ + return self._value + + +class SearchSearchItemTriggerABusSvidErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe {ANY|NACK|REJect|MIXed|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``ANY`` specifies the search condition as ANY. This is the default error type condition. + - ``NACK`` specifies the search condition as NACK. + - ``REJect`` specifies the search condition as REJect. + - ``MIXed`` specifies the search condition as MIXed. + - ``PARity`` specifies the search condition as PARity. + """ + + +class SearchSearchItemTriggerABusSvidError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusSvidErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusSvidErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe {ANY|NACK|REJect|MIXed|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``ANY`` specifies the search condition as ANY. This is the default error type + condition. + - ``NACK`` specifies the search condition as NACK. + - ``REJect`` specifies the search condition as REJect. + - ``MIXed`` specifies the search condition as MIXed. + - ``PARity`` specifies the search condition as PARity. + """ + return self._type + + +class SearchSearchItemTriggerABusSvidCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition {STARTCONDition|SLAVEADDRess|COMMand|PAYLoad|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``STARTCONDition`` specifies the search condition as STARTCONDition. This is the default + trigger on condition. + - ``SLAVEADDRess`` specifies the search condition as SLAVEADDRess. + - ``COMMand`` specifies the search condition as COMMand. + - ``PAYLoad`` specifies the search condition as PAYLoad. + - ``ERRors`` specifies the search condition as ERRors. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSvidCommandType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe`` command. + + Description: + - This command sets or queries the command type for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe {GET|SET|OPTional} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``GET`` specifies the search condition as GET. This is the default command type condition. + - ``SET`` specifies the search condition as SET. + - ``OPTional`` specifies the search condition as OPTional. + """ + + +class SearchSearchItemTriggerABusSvidCommandResponse(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse`` command. + + Description: + - This command sets or queries the command response of the respective command type for SVID + bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse {GETReg|GETRegvendor|GETRegtestcfg|SETFast|SETSlow|SETDecay|SETPs|SETRegaddr|SETRegdata|REGAddrvendor|REGDatavendor|REGAddrtestconfg|REGDatatestconfg|TESTmode|SETWp|GETRegpktrecent|GETRegpktalert|GETRegpktbad|GETRegvrevent} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``GETReg`` specifies the search condition as GETReg. This is the default command response + condition. + - ``GETRegvendor`` specifies the search condition as GETRegvendor. + - ``GETRegtestcfg`` specifies the search condition as GETRegtestcfg. + - ``SETFast`` specifies the search condition as SETFast. + - ``SETSlow`` specifies the search condition as SETSlow. + - ``SETDecay`` specifies the search condition as SETDecay. + - ``SETPs`` specifies the search condition as SETPs. + - ``SETRegaddr`` specifies the search condition as SETRegaddr. + - ``SETRegdata`` specifies the search condition as SETRegdata. + - ``REGAddrvendor`` specifies the search condition as REGAddrvendor. + - ``REGDatavendor`` specifies the search condition as REGDatavendor. + - ``REGAddrtestconfg`` specifies the search condition as REGAddrtestconfg. + - ``REGDatatestconfg`` specifies the search condition as REGDatatestconfg. + - ``TESTmode`` specifies the search condition as TESTmode. + - ``SETWp`` specifies the search condition as SETWp. + - ``GETRegpktrecent`` specifies the search condition as GETRegpktrecent. + - ``GETRegpktalert`` specifies the search condition as GETRegpktalert. + - ``GETRegpktbad`` specifies the search condition as GETRegpktbad. + - ``GETRegvrevent`` specifies the search condition as GETRegvrevent. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSvidCommand(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.response``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._response = SearchSearchItemTriggerABusSvidCommandResponse( + device, f"{self._cmd_syntax}:RESPonse" + ) + self._type = SearchSearchItemTriggerABusSvidCommandType(device, f"{self._cmd_syntax}:TYPe") + + @property + def response(self) -> SearchSearchItemTriggerABusSvidCommandResponse: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse`` command. + + Description: + - This command sets or queries the command response of the respective command type for + SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse {GETReg|GETRegvendor|GETRegtestcfg|SETFast|SETSlow|SETDecay|SETPs|SETRegaddr|SETRegdata|REGAddrvendor|REGDatavendor|REGAddrtestconfg|REGDatatestconfg|TESTmode|SETWp|GETRegpktrecent|GETRegpktalert|GETRegpktbad|GETRegvrevent} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``GETReg`` specifies the search condition as GETReg. This is the default command + response condition. + - ``GETRegvendor`` specifies the search condition as GETRegvendor. + - ``GETRegtestcfg`` specifies the search condition as GETRegtestcfg. + - ``SETFast`` specifies the search condition as SETFast. + - ``SETSlow`` specifies the search condition as SETSlow. + - ``SETDecay`` specifies the search condition as SETDecay. + - ``SETPs`` specifies the search condition as SETPs. + - ``SETRegaddr`` specifies the search condition as SETRegaddr. + - ``SETRegdata`` specifies the search condition as SETRegdata. + - ``REGAddrvendor`` specifies the search condition as REGAddrvendor. + - ``REGDatavendor`` specifies the search condition as REGDatavendor. + - ``REGAddrtestconfg`` specifies the search condition as REGAddrtestconfg. + - ``REGDatatestconfg`` specifies the search condition as REGDatatestconfg. + - ``TESTmode`` specifies the search condition as TESTmode. + - ``SETWp`` specifies the search condition as SETWp. + - ``GETRegpktrecent`` specifies the search condition as GETRegpktrecent. + - ``GETRegpktalert`` specifies the search condition as GETRegpktalert. + - ``GETRegpktbad`` specifies the search condition as GETRegpktbad. + - ``GETRegvrevent`` specifies the search condition as GETRegvrevent. + """ # noqa: E501 + return self._response + + @property + def type(self) -> SearchSearchItemTriggerABusSvidCommandType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe`` command. + + Description: + - This command sets or queries the command type for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe {GET|SET|OPTional} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``GET`` specifies the search condition as GET. This is the default command type + condition. + - ``SET`` specifies the search condition as SET. + - ``OPTional`` specifies the search condition as OPTional. + """ + return self._type + + +class SearchSearchItemTriggerABusSvid(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition`` command. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor`` command tree. + - ``.payload``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad`` command tree. + - ``.slave``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._command = SearchSearchItemTriggerABusSvidCommand( + device, f"{self._cmd_syntax}:COMMand" + ) + self._condition = SearchSearchItemTriggerABusSvidCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._error = SearchSearchItemTriggerABusSvidError(device, f"{self._cmd_syntax}:ERRor") + self._payload = SearchSearchItemTriggerABusSvidPayload( + device, f"{self._cmd_syntax}:PAYLoad" + ) + self._slave = SearchSearchItemTriggerABusSvidSlave(device, f"{self._cmd_syntax}:SLAVE") + + @property + def command(self) -> SearchSearchItemTriggerABusSvidCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.response``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:RESPonse`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand:TYPe`` command. + """ + return self._command + + @property + def condition(self) -> SearchSearchItemTriggerABusSvidCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for SVID bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition {STARTCONDition|SLAVEADDRess|COMMand|PAYLoad|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``STARTCONDition`` specifies the search condition as STARTCONDition. This is the + default trigger on condition. + - ``SLAVEADDRess`` specifies the search condition as SLAVEADDRess. + - ``COMMand`` specifies the search condition as COMMand. + - ``PAYLoad`` specifies the search condition as PAYLoad. + - ``ERRors`` specifies the search condition as ERRors. + """ # noqa: E501 + return self._condition + + @property + def error(self) -> SearchSearchItemTriggerABusSvidError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor:TYPe`` command. + """ + return self._error + + @property + def payload(self) -> SearchSearchItemTriggerABusSvidPayload: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:TYPe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad:VALue`` command. + """ + return self._payload + + @property + def slave(self) -> SearchSearchItemTriggerABusSvidSlave: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE:ADDRESS`` command. + """ + return self._slave + + +class SearchSearchItemTriggerABusSpmiSlaveaddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue`` command. + + Description: + - This command sets or queries the binary data string that identifies the slave address used + in SPMI when the search condition is RESet, SLEep, SHUTdown, WAKeup, AUTHenticate, + REGREAd, REGWRIte, EXTREGREAd, EXTREGWRIte, LONGEXTREGREAd, LONGEXTREGWRIte, + DEVICEDESCSLAVEREAd, or REG0WRIte. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the slave address for which to + search. + """ + + +class SearchSearchItemTriggerABusSpmiSlaveaddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSpmiSlaveaddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSpmiSlaveaddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue`` command. + + Description: + - This command sets or queries the binary data string that identifies the slave address + used in SPMI when the search condition is RESet, SLEep, SHUTdown, WAKeup, + AUTHenticate, REGREAd, REGWRIte, EXTREGREAd, EXTREGWRIte, LONGEXTREGREAd, + LONGEXTREGWRIte, DEVICEDESCSLAVEREAd, or REG0WRIte. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the slave address for which to + search. + """ + return self._value + + +class SearchSearchItemTriggerABusSpmiRegisteraddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue`` command. + + Description: + - This command sets or queries the binary data string that identifies the register address + used in SPMI triggering if the trigger condition is MASTERREAd, MASTERWRIte, REGREAd, + REGWRIte, EXTREGREAd, EXTREGWRIte, LONGEXTREGREAd, or LONGEXTREGWRIte. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the register address for which to + search. + """ + + +class SearchSearchItemTriggerABusSpmiRegisteraddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSpmiRegisteraddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSpmiRegisteraddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue`` command. + + Description: + - This command sets or queries the binary data string that identifies the register + address used in SPMI triggering if the trigger condition is MASTERREAd, MASTERWRIte, + REGREAd, REGWRIte, EXTREGREAd, EXTREGWRIte, LONGEXTREGREAd, or LONGEXTREGWRIte. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the register address for which + to search. + """ + return self._value + + +class SearchSearchItemTriggerABusSpmiNoresponse(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse`` command. + + Description: + - This command sets or queries whether or not to search for No Response frames. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is either 'TRUE' or 'FALSE' boolean value for searching on SPMI No Response + frames. + """ + + +class SearchSearchItemTriggerABusSpmiMasteraddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue`` command. + + Description: + - This command sets or queries the binary data string that identifies the master address + used in SPMI when the search condition is MASTERREAd, MASTERWRIte, or + DEVICEDESCMASTERREAd. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the master address for which to + search. + """ + + +class SearchSearchItemTriggerABusSpmiMasteraddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSpmiMasteraddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSpmiMasteraddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue`` command. + + Description: + - This command sets or queries the binary data string that identifies the master address + used in SPMI when the search condition is MASTERREAd, MASTERWRIte, or + DEVICEDESCMASTERREAd. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the master address for which + to search. + """ + return self._value + + +class SearchSearchItemTriggerABusSpmiDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SPMI when the search condition is + MASTERREAd, MASTERWRIte, REGREAd, REGWRIte, EXTREGREAd, EXTREGWRIte, LONGEXTREGREAd, + LONGEXTREGWRIte, or REG0WRIte. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the data value for which to + search. + """ + + +class SearchSearchItemTriggerABusSpmiDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to be used when + searching on an SPMI bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` is the size of the data string in bytes. + """ + + +class SearchSearchItemTriggerABusSpmiData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusSpmiDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusSpmiDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusSpmiDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to be used when + searching on an SPMI bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` is the size of the data string in bytes. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusSpmiDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SPMI when the search condition + is MASTERREAd, MASTERWRIte, REGREAd, REGWRIte, EXTREGREAd, EXTREGWRIte, + LONGEXTREGREAd, LONGEXTREGWRIte, or REG0WRIte. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is the binary data string that identifies the data value for which to + search. + """ + return self._value + + +class SearchSearchItemTriggerABusSpmiCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition`` command. + + Description: + - This command sets or queries the search condition for an SPMI bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition {SSC|RESet|SLEep|SHUTdown|WAKeup|MASTERREAd|MASTERWRIte|REGREAd|REGWRIte|DEVICEDESCMASTERREAd|DEVICEDESCSLAVEREAd|EXTREGREAd|EXTREGWRIte|LONGEXTREGREAd|LONGEXTREGWRIte|REG0WRIte|AUTHenticate|TRANSferbusownership|PARItyerror} + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``SSC`` specifies searching for the Sequence Start Condition. + - ``RESet`` specifies searching for the Reset command sequence. + - ``SLEep`` specifies searching for the Sleep command sequnce. + - ``SHUTdown`` specifies searching for the Shutdown command sequence. + - ``WAKeup`` specifies searching for the Wakeup command sequence. + - ``MASTERREAd`` specifies searching for the Master Read command sequence. + - ``MASTERWRIte`` specifies searching for the Master Write command sequence. + - ``REGREAd`` specifies searching for the Register Read command sequence. + - ``REGWRIte`` specifies searching for the Register Write command sequence. + - ``DEVICEDESCMASTERREAd`` specifies searching for the Device Descriptor Block Master Read + command sequence. + - ``DEVICEDESCSLAVEREAd`` specifies searching for the Device Descriptor Block Slave Read + command sequence. + - ``EXTREGREAd`` specifies triggering on the Extended Register Read command sequence. + - ``EXTREGWRIte`` specifies searching for the Extended Register Write command sequence. + - ``LONGEXTREGREAd`` specifies searching for the Extended Register Read Long command + sequence. + - ``LONGEXTREGWRIte`` specifies searching for the Extended Register Write Long command + sequence. + - ``REG0WRIte`` specifies searching for the Register 0 Write command sequence. + - ``AUTHenticate`` specifies searching for the Authentication command sequence. + - ``TRANSferbusownership`` specifies searching for the Transfer Bus Ownership (TBO) command + sequence. + - ``PARItyerror`` specifies searching for the parity errors. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSpmi(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa`` command tree. + - ``.masteraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess`` command + tree. + - ``.noresponse``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse`` command. + - ``.registeraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess`` command + tree. + - ``.slaveaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusSpmiCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusSpmiData(device, f"{self._cmd_syntax}:DATa") + self._masteraddress = SearchSearchItemTriggerABusSpmiMasteraddress( + device, f"{self._cmd_syntax}:MASTERADDRess" + ) + self._noresponse = SearchSearchItemTriggerABusSpmiNoresponse( + device, f"{self._cmd_syntax}:NORESPonse" + ) + self._registeraddress = SearchSearchItemTriggerABusSpmiRegisteraddress( + device, f"{self._cmd_syntax}:REGISTERADDRess" + ) + self._slaveaddress = SearchSearchItemTriggerABusSpmiSlaveaddress( + device, f"{self._cmd_syntax}:SLAVEADDRess" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusSpmiCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition`` command. + + Description: + - This command sets or queries the search condition for an SPMI bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition {SSC|RESet|SLEep|SHUTdown|WAKeup|MASTERREAd|MASTERWRIte|REGREAd|REGWRIte|DEVICEDESCMASTERREAd|DEVICEDESCSLAVEREAd|EXTREGREAd|EXTREGWRIte|LONGEXTREGREAd|LONGEXTREGWRIte|REG0WRIte|AUTHenticate|TRANSferbusownership|PARItyerror} + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition? + ``` + + Info: + - ``Search`` is the search identifier number. + - ``SSC`` specifies searching for the Sequence Start Condition. + - ``RESet`` specifies searching for the Reset command sequence. + - ``SLEep`` specifies searching for the Sleep command sequnce. + - ``SHUTdown`` specifies searching for the Shutdown command sequence. + - ``WAKeup`` specifies searching for the Wakeup command sequence. + - ``MASTERREAd`` specifies searching for the Master Read command sequence. + - ``MASTERWRIte`` specifies searching for the Master Write command sequence. + - ``REGREAd`` specifies searching for the Register Read command sequence. + - ``REGWRIte`` specifies searching for the Register Write command sequence. + - ``DEVICEDESCMASTERREAd`` specifies searching for the Device Descriptor Block Master + Read command sequence. + - ``DEVICEDESCSLAVEREAd`` specifies searching for the Device Descriptor Block Slave Read + command sequence. + - ``EXTREGREAd`` specifies triggering on the Extended Register Read command sequence. + - ``EXTREGWRIte`` specifies searching for the Extended Register Write command sequence. + - ``LONGEXTREGREAd`` specifies searching for the Extended Register Read Long command + sequence. + - ``LONGEXTREGWRIte`` specifies searching for the Extended Register Write Long command + sequence. + - ``REG0WRIte`` specifies searching for the Register 0 Write command sequence. + - ``AUTHenticate`` specifies searching for the Authentication command sequence. + - ``TRANSferbusownership`` specifies searching for the Transfer Bus Ownership (TBO) + command sequence. + - ``PARItyerror`` specifies searching for the parity errors. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusSpmiData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa:VALue`` command. + """ + return self._data + + @property + def masteraddress(self) -> SearchSearchItemTriggerABusSpmiMasteraddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess:VALue`` command. + """ + return self._masteraddress + + @property + def noresponse(self) -> SearchSearchItemTriggerABusSpmiNoresponse: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse`` command. + + Description: + - This command sets or queries whether or not to search for No Response frames. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse + - SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` is either 'TRUE' or 'FALSE' boolean value for searching on SPMI No + Response frames. + """ + return self._noresponse + + @property + def registeraddress(self) -> SearchSearchItemTriggerABusSpmiRegisteraddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess:VALue`` command. + """ + return self._registeraddress + + @property + def slaveaddress(self) -> SearchSearchItemTriggerABusSpmiSlaveaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess:VALue`` command. + """ + return self._slaveaddress + + +class SearchSearchItemTriggerABusSpiSourcetype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe`` command. + + Description: + - This command sets or queries trigger Source for SPI bus. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe {MISo|MOSi} + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe? + ``` + + Info: + - ``MISo`` specifies the trigger source as MISo. The default search source type is MISo. + - ``MOSi`` specifies the trigger source as MOSi. + """ + + +class SearchSearchItemTriggerABusSpiDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue`` command. + + Description: + - The command sets or queries the binary data string used for an SPI bus search to determine + where to place a mark. The search number is specified by x. The search condition must be + DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid characters + are 0, 1, and X for binary format; and A-F, 0-9, and X for hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSpiDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes used for the specified + SPI bus trigger search to determine where to place a mark. The search condition must be + DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe? + ``` + + Info: + - ```` specifies the number of contiguous data bytes. + """ + + +class SearchSearchItemTriggerABusSpiData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusSpiDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusSpiDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusSpiDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes used for the + specified SPI bus trigger search to determine where to place a mark. The search + condition must be DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe? + ``` + + Info: + - ```` specifies the number of contiguous data bytes. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusSpiDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue`` command. + + Description: + - The command sets or queries the binary data string used for an SPI bus search to + determine where to place a mark. The search number is specified by x. The search + condition must be DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid + characters are 0, 1, and X for binary format; and A-F, 0-9, and X for hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusSpiCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition`` command. + + Description: + - This command sets or queries the search condition for an SPI bus search to determine where + to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition {DATA|SS|STARTofframe} + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition? + ``` + + Info: + - ``DATA`` specifies the trigger condition as Data. + - ``SS`` specifies the trigger condition as Slave Selection. + - ``STARTofframe`` specifies the trigger condition as start of frame. + """ + + +class SearchSearchItemTriggerABusSpi(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa`` command tree. + - ``.sourcetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusSpiCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusSpiData(device, f"{self._cmd_syntax}:DATa") + self._sourcetype = SearchSearchItemTriggerABusSpiSourcetype( + device, f"{self._cmd_syntax}:SOURCETYpe" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusSpiCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition`` command. + + Description: + - This command sets or queries the search condition for an SPI bus search to determine + where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition {DATA|SS|STARTofframe} + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition? + ``` + + Info: + - ``DATA`` specifies the trigger condition as Data. + - ``SS`` specifies the trigger condition as Slave Selection. + - ``STARTofframe`` specifies the trigger condition as start of frame. + """ + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusSpiData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa:VALue`` command. + """ + return self._data + + @property + def sourcetype(self) -> SearchSearchItemTriggerABusSpiSourcetype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe`` command. + + Description: + - This command sets or queries trigger Source for SPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe {MISo|MOSi} + - SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe? + ``` + + Info: + - ``MISo`` specifies the trigger source as MISo. The default search source type is MISo. + - ``MOSi`` specifies the trigger source as MOSi. + """ + return self._sourcetype + + +class SearchSearchItemTriggerABusSpacewireTimecodeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue`` command. + + Description: + - This command sets or queries the binary data string used for SpaceWire search if the + search condition is Time Code. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue? + ``` + + Info: + - ``Search`` is the search number. + - ``QString`` sets the binary data value to be used when searching on an SpaceWire bus + signal. + """ + + +class SearchSearchItemTriggerABusSpacewireTimecode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSpacewireTimecodeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSpacewireTimecodeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue`` command. + + Description: + - This command sets or queries the binary data string used for SpaceWire search if the + search condition is Time Code. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue? + ``` + + Info: + - ``Search`` is the search number. + - ``QString`` sets the binary data value to be used when searching on an SpaceWire bus + signal. + """ + return self._value + + +class SearchSearchItemTriggerABusSpacewireErrortype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe`` command. + + Description: + - This command sets or queries the error type for which to search on the SpaceWire bus + signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe {EEP|ESC|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``EEP`` sets the error search type to Error end of packet. + - ``ESC`` sets the error search type to Escape error. + - ``PARity`` sets the error search type to Parity error. + """ + + +class SearchSearchItemTriggerABusSpacewireDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on an + SpaceWire bus signal. The search condition must be set to Data (see Related Commands ). + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue? + ``` + + Info: + - ``Search`` is the search number. + - ``QString`` specifies the binary data value to search for on a SpaceWire bus signal. + """ + + +class SearchSearchItemTriggerABusSpacewireDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to use when + searching on a SpaceWire bus signal. The search condition needs to be set to Data (see + Related Commands ). + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe? + ``` + + Info: + - ``Search`` is the search number. + - ``NR1`` is an integer value that specifies the number of contiguous data bytes to use when + searching on the SpaceWire data field. The valid range is 1 to 10. + """ + + +class SearchSearchItemTriggerABusSpacewireData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusSpacewireDataSize( + device, f"{self._cmd_syntax}:SIZe" + ) + self._value = SearchSearchItemTriggerABusSpacewireDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusSpacewireDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to use when + searching on a SpaceWire bus signal. The search condition needs to be set to Data (see + Related Commands ). + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe? + ``` + + Info: + - ``Search`` is the search number. + - ``NR1`` is an integer value that specifies the number of contiguous data bytes to use + when searching on the SpaceWire data field. The valid range is 1 to 10. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusSpacewireDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on an + SpaceWire bus signal. The search condition must be set to Data (see Related Commands + ). + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue? + ``` + + Info: + - ``Search`` is the search number. + - ``QString`` specifies the binary data value to search for on a SpaceWire bus signal. + """ + return self._value + + +class SearchSearchItemTriggerABusSpacewireControlcodetype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe`` command. + + Description: + - This command sets or queries the control code type to use when searching on a SpaceWire + bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe {NULL|TIMECODe} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``NULL`` sets the control code type to Null code. + - ``TIMECODe`` sets the control code type to Time code (only varying part of Time code [6 + bits] is considered for search). + """ + + +class SearchSearchItemTriggerABusSpacewireControlchartype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe`` command. + + Description: + - This command sets or queries the control character type to use when searching on a + SpaceWire bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe {FCT|ESC|ENDOFPACKet} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``FCT`` sets the control character type to Flow Control Token. + - ``ESC`` sets the control character type to Escape. + - ``ENDOFPACKet`` sets the control character type to End of Packet. + """ + + +class SearchSearchItemTriggerABusSpacewireCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition`` command. + + Description: + - This command sets or queries the field or condition for which to search on a SpaceWire + bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition {SYNC|DATa|ERRors|CONTROLCODe|CONTROLCHAR} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition? + ``` + + Info: + - ``Search`` is the search number. + - ``SYNC`` sets the search condition to Synchronization. + - ``DATa`` sets the search condition to Data Characters. + - ``ERRors`` sets the search condition to SpaceWire Bus Decode Errors. + - ``CONTROLCODe`` sets the search condition to control code. + - ``CONTROLCHAR`` sets the search condition to control character. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSpacewire(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition`` command. + - ``.controlchartype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe`` + command. + - ``.controlcodetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe`` + command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa`` command tree. + - ``.errortype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe`` command. + - ``.timecode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusSpacewireCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._controlchartype = SearchSearchItemTriggerABusSpacewireControlchartype( + device, f"{self._cmd_syntax}:CONTROLCHARTYPe" + ) + self._controlcodetype = SearchSearchItemTriggerABusSpacewireControlcodetype( + device, f"{self._cmd_syntax}:CONTROLCODETYPe" + ) + self._data = SearchSearchItemTriggerABusSpacewireData(device, f"{self._cmd_syntax}:DATa") + self._errortype = SearchSearchItemTriggerABusSpacewireErrortype( + device, f"{self._cmd_syntax}:ERRORTYPe" + ) + self._timecode = SearchSearchItemTriggerABusSpacewireTimecode( + device, f"{self._cmd_syntax}:TIMECode" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusSpacewireCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition`` command. + + Description: + - This command sets or queries the field or condition for which to search on a SpaceWire + bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition {SYNC|DATa|ERRors|CONTROLCODe|CONTROLCHAR} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition? + ``` + + Info: + - ``Search`` is the search number. + - ``SYNC`` sets the search condition to Synchronization. + - ``DATa`` sets the search condition to Data Characters. + - ``ERRors`` sets the search condition to SpaceWire Bus Decode Errors. + - ``CONTROLCODe`` sets the search condition to control code. + - ``CONTROLCHAR`` sets the search condition to control character. + """ # noqa: E501 + return self._condition + + @property + def controlchartype(self) -> SearchSearchItemTriggerABusSpacewireControlchartype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe`` command. + + Description: + - This command sets or queries the control character type to use when searching on a + SpaceWire bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe {FCT|ESC|ENDOFPACKet} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``FCT`` sets the control character type to Flow Control Token. + - ``ESC`` sets the control character type to Escape. + - ``ENDOFPACKet`` sets the control character type to End of Packet. + """ + return self._controlchartype + + @property + def controlcodetype(self) -> SearchSearchItemTriggerABusSpacewireControlcodetype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe`` command. + + Description: + - This command sets or queries the control code type to use when searching on a + SpaceWire bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe {NULL|TIMECODe} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``NULL`` sets the control code type to Null code. + - ``TIMECODe`` sets the control code type to Time code (only varying part of Time code + [6 bits] is considered for search). + """ + return self._controlcodetype + + @property + def data(self) -> SearchSearchItemTriggerABusSpacewireData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa:VALue`` command. + """ + return self._data + + @property + def errortype(self) -> SearchSearchItemTriggerABusSpacewireErrortype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe`` command. + + Description: + - This command sets or queries the error type for which to search on the SpaceWire bus + signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe {EEP|ESC|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``EEP`` sets the error search type to Error end of packet. + - ``ESC`` sets the error search type to Escape error. + - ``PARity`` sets the error search type to Parity error. + """ + return self._errortype + + @property + def timecode(self) -> SearchSearchItemTriggerABusSpacewireTimecode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode:VALue`` command. + """ + return self._timecode + + +class SearchSearchItemTriggerABusSource(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce`` command. + + Description: + - This command sets or queries the bus source for the bus search to determine where to place + a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SOUrce {B0|B1|B2|B3|B4|B5|B6|B7|B8|B9|B10|B11|B12|B13|B14|B15|B16} + - SEARCH:SEARCH:TRIGger:A:BUS:SOUrce? + ``` + + Info: + - ``B`` specifies the bus source as a bus number from B01 to B16. x has a minimum of 0 + and a maximum of 16. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSmbusUdiddataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SMBUS triggering if the trigger + condition is UDID data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue {ONE|TWO|FOUR} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the UDID data value as the field within a SMBUS frame to search + on. The default value is XXXXXXXX. + """ + + +class SearchSearchItemTriggerABusSmbusUdiddata(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSmbusUdiddataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSmbusUdiddataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SMBUS triggering if the trigger + condition is UDID data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue {ONE|TWO|FOUR} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the UDID data value as the field within a SMBUS frame to + search on. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusSmbusFieldbyte(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe`` command. + + Description: + - This command sets or queries the field byte for a SMBUS bus if trigger condition is UDID + data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe {ONE|TWO|FOUR} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe? + ``` + + Info: + - ``Search`` is the search number. + - ``ONE`` sets the field byte size to 8 bits. This is the default value. + - ``TWO`` sets the field byte size to 16 bits. + - ``FOUR`` sets the field byte size to 32 bits. + """ + + +class SearchSearchItemTriggerABusSmbusErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe`` command. + + Description: + - This command sets or queries the error type for a SMBus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe {ANY|ACK|NACK|PEC} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``ANY`` sets the error search type to ANY. This is the default value. + - ``ACK`` sets the error search type to ACK. + - ``NACK`` sets the error search type to NACK. + - ``PEC`` sets the error search type to PEC. + """ + + +class SearchSearchItemTriggerABusSmbusError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusSmbusErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusSmbusErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe`` command. + + Description: + - This command sets or queries the error type for a SMBus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe {ANY|ACK|NACK|PEC} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe? + ``` + + Info: + - ``Search`` is the search number. + - ``ANY`` sets the error search type to ANY. This is the default value. + - ``ACK`` sets the error search type to ACK. + - ``NACK`` sets the error search type to NACK. + - ``PEC`` sets the error search type to PEC. + """ + return self._type + + +class SearchSearchItemTriggerABusSmbusDeviceaddrValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue`` command. + + Description: + - This command specifies the binary physical address string is used for SMBUS triggering if + the trigger condition is device address. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the device address value as the field within a SMBUS frame to + search on. The default value is XXXXXXX. + """ + + +class SearchSearchItemTriggerABusSmbusDeviceaddr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSmbusDeviceaddrValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSmbusDeviceaddrValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue`` command. + + Description: + - This command specifies the binary physical address string is used for SMBUS triggering + if the trigger condition is device address. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the device address value as the field within a SMBUS frame to + search on. The default value is XXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusSmbusDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SMBus triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the data value as the field within a SMBUS frame to search on. The + default value is XXXXXXX. + """ + + +class SearchSearchItemTriggerABusSmbusDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an SMBus + trigger if the trigger condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe? + ``` + + Info: + - ``Search`` is the search number. + - ``NR1`` sets the data size value. The valid range is 1 to 8. The default data size is 1. + """ + + +class SearchSearchItemTriggerABusSmbusData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusSmbusDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusSmbusDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusSmbusDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an SMBus + trigger if the trigger condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe? + ``` + + Info: + - ``Search`` is the search number. + - ``NR1`` sets the data size value. The valid range is 1 to 8. The default data size is + 1. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusSmbusDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SMBus triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the data value as the field within a SMBUS frame to search on. + The default value is XXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusSmbusCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a SMBUS bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition {STARt|REPEATSTARt|ADDRess|HOSTADDR|DEVICEADDR|COMMand|DATa|UDIDDATa|ERRor|STOP|IDLe} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition? + ``` + + Info: + - ``Search`` is the search number. + - ``STARt`` sets the search condition to start. This is the default value. + - ``REPEATSTARt`` sets the search condition to repeat start. + - ``ADDRess`` sets the search condition to address. + - ``HOSTADDR`` sets the search condition to host address. + - ``DEVICEADDR`` sets the search condition to device address. + - ``COMMand`` sets the search condition to command. + - ``DATa`` sets the search condition to data. + - ``UDIDDATa`` sets the search condition to UDID data. + - ``ERRor`` sets the search condition to error. + - ``STOP`` sets the search condition to stop. + - ``IDLe`` sets the search condition to idle. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSmbusCommandValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue`` command. + + Description: + - This command specifies the binary command code string used for SMBUS triggering if the + trigger condition is command code. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the command value as the field within a SMBUS frame to search on. + The default value is XXXXXXX. + """ + + +class SearchSearchItemTriggerABusSmbusCommand(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSmbusCommandValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSmbusCommandValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue`` command. + + Description: + - This command specifies the binary command code string used for SMBUS triggering if the + trigger condition is command code. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the command value as the field within a SMBUS frame to search + on. The default value is XXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusSmbusAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue`` command. + + Description: + - This command specifies the binary physical address string used for SMBUS triggering if the + trigger condition is address. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the address value as the field within a SMBUS frame to search on. + The default value is XXXXXXX. + """ + + +class SearchSearchItemTriggerABusSmbusAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSmbusAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSmbusAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue`` command. + + Description: + - This command specifies the binary physical address string used for SMBUS triggering if + the trigger condition is address. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue? + ``` + + Info: + - ``Search`` is the search identifier number. + - ```` specifies the address value as the field within a SMBUS frame to search + on. The default value is XXXXXXX. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusSmbus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess`` command tree. + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa`` command tree. + - ``.deviceaddr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr`` command tree. + - ``.fieldbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe`` command. + - ``.udiddata``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusSmbusAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._command = SearchSearchItemTriggerABusSmbusCommand( + device, f"{self._cmd_syntax}:COMMand" + ) + self._condition = SearchSearchItemTriggerABusSmbusCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusSmbusData(device, f"{self._cmd_syntax}:DATa") + self._deviceaddr = SearchSearchItemTriggerABusSmbusDeviceaddr( + device, f"{self._cmd_syntax}:DEVICEADDR" + ) + self._error = SearchSearchItemTriggerABusSmbusError(device, f"{self._cmd_syntax}:ERROr") + self._fieldbyte = SearchSearchItemTriggerABusSmbusFieldbyte( + device, f"{self._cmd_syntax}:FIELDBYTe" + ) + self._udiddata = SearchSearchItemTriggerABusSmbusUdiddata( + device, f"{self._cmd_syntax}:UDIDDATa" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusSmbusAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess:VALue`` command. + """ + return self._address + + @property + def command(self) -> SearchSearchItemTriggerABusSmbusCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand:VALue`` command. + """ + return self._command + + @property + def condition(self) -> SearchSearchItemTriggerABusSmbusCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a SMBUS bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition {STARt|REPEATSTARt|ADDRess|HOSTADDR|DEVICEADDR|COMMand|DATa|UDIDDATa|ERRor|STOP|IDLe} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition? + ``` + + Info: + - ``Search`` is the search number. + - ``STARt`` sets the search condition to start. This is the default value. + - ``REPEATSTARt`` sets the search condition to repeat start. + - ``ADDRess`` sets the search condition to address. + - ``HOSTADDR`` sets the search condition to host address. + - ``DEVICEADDR`` sets the search condition to device address. + - ``COMMand`` sets the search condition to command. + - ``DATa`` sets the search condition to data. + - ``UDIDDATa`` sets the search condition to UDID data. + - ``ERRor`` sets the search condition to error. + - ``STOP`` sets the search condition to stop. + - ``IDLe`` sets the search condition to idle. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusSmbusData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa:VALue`` command. + """ + return self._data + + @property + def deviceaddr(self) -> SearchSearchItemTriggerABusSmbusDeviceaddr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR:VALue`` command. + """ + return self._deviceaddr + + @property + def error(self) -> SearchSearchItemTriggerABusSmbusError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr:TYPe`` command. + """ + return self._error + + @property + def fieldbyte(self) -> SearchSearchItemTriggerABusSmbusFieldbyte: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe`` command. + + Description: + - This command sets or queries the field byte for a SMBUS bus if trigger condition is + UDID data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe {ONE|TWO|FOUR} + - SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe? + ``` + + Info: + - ``Search`` is the search number. + - ``ONE`` sets the field byte size to 8 bits. This is the default value. + - ``TWO`` sets the field byte size to 16 bits. + - ``FOUR`` sets the field byte size to 32 bits. + """ + return self._fieldbyte + + @property + def udiddata(self) -> SearchSearchItemTriggerABusSmbusUdiddata: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa:VALue`` command. + """ + return self._udiddata + + +class SearchSearchItemTriggerABusSentSlowIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue`` command. + + Description: + - This command sets or queries the binary slow identifier value to be used when searching on + a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the slow channel identifier binary value. + """ + + +class SearchSearchItemTriggerABusSentSlowIdentifier(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSentSlowIdentifierValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSentSlowIdentifierValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue`` command. + + Description: + - This command sets or queries the binary slow identifier value to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the slow channel identifier binary value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentSlowDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue`` command. + + Description: + - This command sets or queries the binary slow channel data value to be used when searching + on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the slow channel data binary value. + """ + + +class SearchSearchItemTriggerABusSentSlowDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT slow packet + bus data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQualINrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` sets the qualifier as Less Than or Equal to. + - ``LESSThan`` sets the qualifier as Less Than. + - ``MOREEQual`` sets the qualifier as More Than or Equal to. + - ``MOREThan`` sets the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the search qualifier to inside a range. + - ``OUTrange`` sets the search qualifier to outside a range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSentSlowDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue`` command. + + Description: + - This command sets or queries the high binary Slow channel data value to use when searching + on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the binary Slow channel data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSentSlowData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusSentSlowDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusSentSlowDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusSentSlowDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusSentSlowDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue`` command. + + Description: + - This command sets or queries the high binary Slow channel data value to use when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the binary Slow channel data value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusSentSlowDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT slow + packet bus data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQualINrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` sets the qualifier as Less Than or Equal to. + - ``LESSThan`` sets the qualifier as Less Than. + - ``MOREEQual`` sets the qualifier as More Than or Equal to. + - ``MOREThan`` sets the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the search qualifier to inside a range. + - ``OUTrange`` sets the search qualifier to outside a range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusSentSlowDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue`` command. + + Description: + - This command sets or queries the binary slow channel data value to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the slow channel data binary value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentSlow(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA`` command tree. + - ``.identifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerABusSentSlowData(device, f"{self._cmd_syntax}:DATA") + self._identifier = SearchSearchItemTriggerABusSentSlowIdentifier( + device, f"{self._cmd_syntax}:IDentifier" + ) + + @property + def data(self) -> SearchSearchItemTriggerABusSentSlowData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA:VALue`` command. + """ + return self._data + + @property + def identifier(self) -> SearchSearchItemTriggerABusSentSlowIdentifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier:VALue`` command. + """ + return self._identifier + + +class SearchSearchItemTriggerABusSentPauseTicksValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue`` command. + + Description: + - This command sets or queries the minimum number of pause clock ticks to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the minimum number of pause clock ticks to be used when searching. + """ + + +class SearchSearchItemTriggerABusSentPauseTicksHivalue(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue`` command. + + Description: + - This command sets or queries the maximum number of pause clock ticks to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the maximum number of pause clock ticks to be used when searching. + """ + + +class SearchSearchItemTriggerABusSentPauseTicks(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusSentPauseTicksHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._value = SearchSearchItemTriggerABusSentPauseTicksValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusSentPauseTicksHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue`` command. + + Description: + - This command sets or queries the maximum number of pause clock ticks to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the maximum number of pause clock ticks to be used when searching. + """ + return self._hivalue + + @property + def value(self) -> SearchSearchItemTriggerABusSentPauseTicksValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue`` command. + + Description: + - This command sets or queries the minimum number of pause clock ticks to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the minimum number of pause clock ticks to be used when searching. + """ + return self._value + + +class SearchSearchItemTriggerABusSentPauseQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT pause pulses. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``INrange`` sets the qualifier to be within a range. + - ``LESSEQual`` sets the qualifier as Less Than or Equal to. + - ``LESSThan`` sets the qualifier as Less Than. + - ``MOREEQual`` sets the qualifier as More Than or Equal to. + - ``MOREThan`` sets the qualifier as More Than. + - ``OUTrange`` sets the qualifier to be outside a range. + - ``UNEQual`` specifies the qualifier as Unequal. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSentPause(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier`` command. + - ``.ticks``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._qualifier = SearchSearchItemTriggerABusSentPauseQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._ticks = SearchSearchItemTriggerABusSentPauseTicks(device, f"{self._cmd_syntax}:TICKs") + + @property + def qualifier(self) -> SearchSearchItemTriggerABusSentPauseQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT pause + pulses. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``INrange`` sets the qualifier to be within a range. + - ``LESSEQual`` sets the qualifier as Less Than or Equal to. + - ``LESSThan`` sets the qualifier as Less Than. + - ``MOREEQual`` sets the qualifier as More Than or Equal to. + - ``MOREThan`` sets the qualifier as More Than. + - ``OUTrange`` sets the qualifier to be outside a range. + - ``UNEQual`` specifies the qualifier as Unequal. + """ # noqa: E501 + return self._qualifier + + @property + def ticks(self) -> SearchSearchItemTriggerABusSentPauseTicks: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs:VALue`` command. + """ + return self._ticks + + +class SearchSearchItemTriggerABusSentFastStatusValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue`` command. + + Description: + - This command sets or queries the binary status value to be used when searching on a SENT + bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the binary status binary value. + """ + + +class SearchSearchItemTriggerABusSentFastStatus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSentFastStatusValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSentFastStatusValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue`` command. + + Description: + - This command sets or queries the binary status value to be used when searching on a + SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the binary status binary value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentFastInvertnibbleValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue`` command. + + Description: + - This command sets or queries the binary fast message inverted nibble value to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the fast message inverted nibble binary value. + """ + + +class SearchSearchItemTriggerABusSentFastInvertnibble(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSentFastInvertnibbleValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSentFastInvertnibbleValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue`` command. + + Description: + - This command sets or queries the binary fast message inverted nibble value to be used + when searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the fast message inverted nibble binary value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentFastCounterValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue`` command. + + Description: + - This command sets or queries the binary fast message counter value to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the Fast Channel 1 counter value. + """ + + +class SearchSearchItemTriggerABusSentFastCounterQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT fast packet + bus data for the secure format counter. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``MOREThan`` specifies the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the qualifier to inside a range. + - ``OUTrange`` sets the qualifier to outside a range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSentFastCounterHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue`` command. + + Description: + - This command sets or queries the high binary fast message counter value to use when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the Fast Channel 1 counter binary value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSentFastCounter(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusSentFastCounterHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusSentFastCounterQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusSentFastCounterValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusSentFastCounterHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue`` command. + + Description: + - This command sets or queries the high binary fast message counter value to use when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the Fast Channel 1 counter binary value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusSentFastCounterQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT fast + packet bus data for the secure format counter. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``MOREThan`` specifies the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the qualifier to inside a range. + - ``OUTrange`` sets the qualifier to outside a range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusSentFastCounterValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue`` command. + + Description: + - This command sets or queries the binary fast message counter value to be used when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the Fast Channel 1 counter value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentFastChan2bValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue`` command. + + Description: + - This command sets or queries the binary fast channel 2 value to be used when searching on + a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the Fast Channel 2 binary value. + """ + + +class SearchSearchItemTriggerABusSentFastChan2bQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT fast packet + bus data for device channel 2. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``MOREThan`` specifies the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the qualifier to inside a range. + - ``OUTrange`` sets the qualifier to outside a range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSentFastChan2bHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue`` command. + + Description: + - This command sets or queries the high binary fast channel 2 value to use when searching on + a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the Fast Channel 2 high binary data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSentFastChan2b(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusSentFastChan2bHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusSentFastChan2bQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusSentFastChan2bValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusSentFastChan2bHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue`` command. + + Description: + - This command sets or queries the high binary fast channel 2 value to use when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the Fast Channel 2 high binary data value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusSentFastChan2bQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT fast + packet bus data for device channel 2. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``MOREThan`` specifies the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the qualifier to inside a range. + - ``OUTrange`` sets the qualifier to outside a range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusSentFastChan2bValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue`` command. + + Description: + - This command sets or queries the binary fast channel 2 value to be used when searching + on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the Fast Channel 2 binary value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentFastChan1aValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue`` command. + + Description: + - This command sets or queries the binary fast channel 1 value to be used when searching on + a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the Fast Channel 1 binary value. + """ + + +class SearchSearchItemTriggerABusSentFastChan1aQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT fast packet + bus data for device channel 1. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``MOREThan`` specifies the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the qualifier to inside a range. + - ``OUTrange`` sets the qualifier to outside a range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSentFastChan1aHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue`` command. + + Description: + - This command sets or queries the high binary fast channel 1 value to use when searching on + a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the Fast Channel 1 binary data high value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSentFastChan1a(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusSentFastChan1aHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusSentFastChan1aQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusSentFastChan1aValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusSentFastChan1aHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue`` command. + + Description: + - This command sets or queries the high binary fast channel 1 value to use when + searching on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` sets the Fast Channel 1 binary data high value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusSentFastChan1aQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on SENT fast + packet bus data for device channel 1. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EQUal`` specifies the qualifier as Equal. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``LESSThan`` specifies the qualifier as Less Than. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``MOREThan`` specifies the qualifier as More Than. + - ``UNEQual`` specifies the qualifier as Unequal. + - ``INrange`` sets the qualifier to inside a range. + - ``OUTrange`` sets the qualifier to outside a range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusSentFastChan1aValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue`` command. + + Description: + - This command sets or queries the binary fast channel 1 value to be used when searching + on a SENT bus signal. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` is the Fast Channel 1 binary value. + """ + return self._value + + +class SearchSearchItemTriggerABusSentFast(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.chan1a``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A`` command tree. + - ``.chan2b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B`` command tree. + - ``.counter``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer`` command tree. + - ``.invertnibble``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble`` command + tree. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._chan1a = SearchSearchItemTriggerABusSentFastChan1a( + device, f"{self._cmd_syntax}:CHAN1A" + ) + self._chan2b = SearchSearchItemTriggerABusSentFastChan2b( + device, f"{self._cmd_syntax}:CHAN2B" + ) + self._counter = SearchSearchItemTriggerABusSentFastCounter( + device, f"{self._cmd_syntax}:COUNTer" + ) + self._invertnibble = SearchSearchItemTriggerABusSentFastInvertnibble( + device, f"{self._cmd_syntax}:INVERTNIBble" + ) + self._status = SearchSearchItemTriggerABusSentFastStatus( + device, f"{self._cmd_syntax}:STATus" + ) + + @property + def chan1a(self) -> SearchSearchItemTriggerABusSentFastChan1a: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A:VALue`` command. + """ + return self._chan1a + + @property + def chan2b(self) -> SearchSearchItemTriggerABusSentFastChan2b: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B:VALue`` command. + """ + return self._chan2b + + @property + def counter(self) -> SearchSearchItemTriggerABusSentFastCounter: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:HIVALue`` + command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer:VALue`` command. + """ + return self._counter + + @property + def invertnibble(self) -> SearchSearchItemTriggerABusSentFastInvertnibble: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble:VALue`` + command. + """ + return self._invertnibble + + @property + def status(self) -> SearchSearchItemTriggerABusSentFastStatus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus:VALue`` command. + """ + return self._status + + +class SearchSearchItemTriggerABusSentErrtypeCrc(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC`` command. + + Description: + - This command sets or queries the CRC error type to be used when searching on SENT data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC {FAST|SLOW} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC? + ``` + + Info: + - ``Search`` is the number of the search. + - ``FAST`` specifies searching for CRC errors only in the fast channel. + - ``SLOW`` specifies searching for CRC errors only in the slow channel. + """ + + +class SearchSearchItemTriggerABusSentErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType`` command. + + Description: + - This command sets or queries the error type to be used when searching on SENT data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType {FRAMELENgth|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType? + ``` + + Info: + - ``Search`` is the number of the search. + - ``FRAMELENgth`` specifies searching for SENT frame length errors. + - ``CRC`` specifies searching for CRC errors. + + Properties: + - ``.crc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._crc = SearchSearchItemTriggerABusSentErrtypeCrc(device, f"{self._cmd_syntax}:CRC") + + @property + def crc(self) -> SearchSearchItemTriggerABusSentErrtypeCrc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC`` command. + + Description: + - This command sets or queries the CRC error type to be used when searching on SENT + data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC {FAST|SLOW} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC? + ``` + + Info: + - ``Search`` is the number of the search. + - ``FAST`` specifies searching for CRC errors only in the fast channel. + - ``SLOW`` specifies searching for CRC errors only in the slow channel. + """ + return self._crc + + +class SearchSearchItemTriggerABusSentCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition`` command. + + Description: + - This command sets or queries the search condition for a SENT bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition {START|FAST|SLOW|PAUSE|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``START`` specifies searching for start of packet. + - ``FAST`` specifies searching for fast channel data. + - ``SLOW`` specifies searching for slow channel data. + - ``PAUSE`` specifies searching for pause pulses. + - ``ERRor`` specifies searching on errors. + """ + + +class SearchSearchItemTriggerABusSent(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition`` command. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType`` command. + - ``.fast``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST`` command tree. + - ``.pause``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE`` command tree. + - ``.slow``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusSentCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._errtype = SearchSearchItemTriggerABusSentErrtype( + device, f"{self._cmd_syntax}:ERRType" + ) + self._fast = SearchSearchItemTriggerABusSentFast(device, f"{self._cmd_syntax}:FAST") + self._pause = SearchSearchItemTriggerABusSentPause(device, f"{self._cmd_syntax}:PAUSE") + self._slow = SearchSearchItemTriggerABusSentSlow(device, f"{self._cmd_syntax}:SLOW") + + @property + def condition(self) -> SearchSearchItemTriggerABusSentCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition`` command. + + Description: + - This command sets or queries the search condition for a SENT bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition {START|FAST|SLOW|PAUSE|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``START`` specifies searching for start of packet. + - ``FAST`` specifies searching for fast channel data. + - ``SLOW`` specifies searching for slow channel data. + - ``PAUSE`` specifies searching for pause pulses. + - ``ERRor`` specifies searching on errors. + """ + return self._condition + + @property + def errtype(self) -> SearchSearchItemTriggerABusSentErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType`` command. + + Description: + - This command sets or queries the error type to be used when searching on SENT data. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType {FRAMELENgth|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType? + ``` + + Info: + - ``Search`` is the number of the search. + - ``FRAMELENgth`` specifies searching for SENT frame length errors. + - ``CRC`` specifies searching for CRC errors. + + Sub-properties: + - ``.crc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType:CRC`` command. + """ + return self._errtype + + @property + def fast(self) -> SearchSearchItemTriggerABusSentFast: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.chan1a``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN1A`` command tree. + - ``.chan2b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:CHAN2B`` command tree. + - ``.counter``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:COUNTer`` command tree. + - ``.invertnibble``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:INVERTNIBble`` + command tree. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST:STATus`` command tree. + """ + return self._fast + + @property + def pause(self) -> SearchSearchItemTriggerABusSentPause: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:QUALifier`` command. + - ``.ticks``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE:TICKs`` command tree. + """ + return self._pause + + @property + def slow(self) -> SearchSearchItemTriggerABusSentSlow: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:DATA`` command tree. + - ``.identifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW:IDentifier`` command + tree. + """ + return self._slow + + +class SearchSearchItemTriggerABusSdlcUnnumberedFrametype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe`` command. + + Description: + - This command sets or queries the Unnumbered Frame Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe {UP|UI|SNRM|SNRME|REQDISConnect|UACK|REQSETINIT|DISCMODe|FRAMEREJ|TEST|XID|CONFigure|BEACon} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``UP`` sets the Unnumbered Frame Type as UP. + - ``UI`` sets the Unnumbered Frame Type as UI. + - ``SNRM`` sets the Unnumbered Frame Type as SNRM. + - ``SNRME`` sets the Unnumbered Frame Type as SNRME. + - ``REQDISConnect`` sets the Unnumbered Frame Type as REQDISConnect. + - ``UACK`` sets the Unnumbered Frame Type as UACK. + - ``REQSETINIT`` sets the Unnumbered Frame Type as REQSETINIT. + - ``DISCMODe`` sets the Unnumbered Frame Type as DISCMODe. + - ``FRAMEREJ`` sets the Unnumbered Frame Type as FRAMEREJ. + - ``TEST`` sets the Unnumbered Frame Type as TEST. + - ``XID`` sets the Unnumbered Frame Type as XID. + - ``CONFigure`` sets the Unnumbered Frame Type as CONFigure. + - ``BEACon`` sets the Unnumbered Frame Type as BEACon. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSdlcUnnumbered(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._frametype = SearchSearchItemTriggerABusSdlcUnnumberedFrametype( + device, f"{self._cmd_syntax}:FRAMETYPe" + ) + + @property + def frametype(self) -> SearchSearchItemTriggerABusSdlcUnnumberedFrametype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe`` command. + + Description: + - This command sets or queries the Unnumbered Frame Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe {UP|UI|SNRM|SNRME|REQDISConnect|UACK|REQSETINIT|DISCMODe|FRAMEREJ|TEST|XID|CONFigure|BEACon} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``UP`` sets the Unnumbered Frame Type as UP. + - ``UI`` sets the Unnumbered Frame Type as UI. + - ``SNRM`` sets the Unnumbered Frame Type as SNRM. + - ``SNRME`` sets the Unnumbered Frame Type as SNRME. + - ``REQDISConnect`` sets the Unnumbered Frame Type as REQDISConnect. + - ``UACK`` sets the Unnumbered Frame Type as UACK. + - ``REQSETINIT`` sets the Unnumbered Frame Type as REQSETINIT. + - ``DISCMODe`` sets the Unnumbered Frame Type as DISCMODe. + - ``FRAMEREJ`` sets the Unnumbered Frame Type as FRAMEREJ. + - ``TEST`` sets the Unnumbered Frame Type as TEST. + - ``XID`` sets the Unnumbered Frame Type as XID. + - ``CONFigure`` sets the Unnumbered Frame Type as CONFigure. + - ``BEACon`` sets the Unnumbered Frame Type as BEACon. + """ # noqa: E501 + return self._frametype + + +class SearchSearchItemTriggerABusSdlcSupervisoryFrametype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe`` command. + + Description: + - This command sets or queries the Supervisory Frame Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe {RR|RNR|REJ} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``RR`` sets the frame type as RR. + - ``RNR`` sets the frame type as RNR. + - ``REJ`` sets the frame type as REJ. + """ + + +class SearchSearchItemTriggerABusSdlcSupervisory(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._frametype = SearchSearchItemTriggerABusSdlcSupervisoryFrametype( + device, f"{self._cmd_syntax}:FRAMETYPe" + ) + + @property + def frametype(self) -> SearchSearchItemTriggerABusSdlcSupervisoryFrametype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe`` command. + + Description: + - This command sets or queries the Supervisory Frame Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe {RR|RNR|REJ} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``RR`` sets the frame type as RR. + - ``RNR`` sets the frame type as RNR. + - ``REJ`` sets the frame type as REJ. + """ + return self._frametype + + +class SearchSearchItemTriggerABusSdlcStaddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue`` command. + + Description: + - This command specifies the binary Station Address string used for SDLC triggering if the + trigger condition is Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSdlcStaddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusSdlcStaddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusSdlcStaddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue`` command. + + Description: + - This command specifies the binary Station Address string used for SDLC triggering if + the trigger condition is Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusSdlcFrameType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe`` command. + + Description: + - This command sets or queries the Frame Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe {COMMand|RESPonse|BOTH} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``COMMand`` sets Command as the Frame Type in SDLC bus. The default value of frame type + for SDLC Unnumbered frame is Command. + - ``RESPonse`` sets Response as the Frame Type in SDLC bus. + - ``BOTH`` sets both Command and Response as the Frame Type in SDLC bus. + """ + + +class SearchSearchItemTriggerABusSdlcFrame(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusSdlcFrameType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusSdlcFrameType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe`` command. + + Description: + - This command sets or queries the Frame Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe {COMMand|RESPonse|BOTH} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``COMMand`` sets Command as the Frame Type in SDLC bus. The default value of frame + type for SDLC Unnumbered frame is Command. + - ``RESPonse`` sets Response as the Frame Type in SDLC bus. + - ``BOTH`` sets both Command and Response as the Frame Type in SDLC bus. + """ + return self._type + + +class SearchSearchItemTriggerABusSdlcErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe`` command. + + Description: + - This command sets or queries the Error Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe {FCS|NUMERICORDer} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``FCS`` sets FCS as the Error Type in SDLC bus. The default error type condition is FCS. + - ``NUMERICORDer`` sets NUMERICORDer as the Error Type in SDLC bus. + """ + + +class SearchSearchItemTriggerABusSdlcError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusSdlcErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusSdlcErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe`` command. + + Description: + - This command sets or queries the Error Type in SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe {FCS|NUMERICORDer} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``FCS`` sets FCS as the Error Type in SDLC bus. The default error type condition is + FCS. + - ``NUMERICORDer`` sets NUMERICORDer as the Error Type in SDLC bus. + """ + return self._type + + +class SearchSearchItemTriggerABusSdlcDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SDLC triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The default value is XXXXXXXX . + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusSdlcDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for SDLC + triggering if the trigger condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe? + ``` + + Info: + - ```` is the length of the data string in bytes. The default Data size is 1, otherwise + ranges between 1 to 5. + """ + + +class SearchSearchItemTriggerABusSdlcData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusSdlcDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusSdlcDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusSdlcDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for SDLC + triggering if the trigger condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe? + ``` + + Info: + - ```` is the length of the data string in bytes. The default Data size is 1, + otherwise ranges between 1 to 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusSdlcDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for SDLC triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The default value is XXXXXXXX . + """ + return self._value + + +class SearchSearchItemTriggerABusSdlcCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition {STARt|DATa|ABORt|ADDRess|UNNumbered|INFormation|SUPervisory|ERRors|END} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``STARt`` specifies start as the field within a SDLC frame to search on. The default + Trigger on Condtion is STARt. + - ``DATa`` specifies data as the field within a SDLC frame to search on. + - ``ABORt`` specifies abort as the field within a SDLC frame to search on. + - ``ADDRess`` specifies address as the field within a SDLC frame to search on. + - ``UNNumbered`` specifies unnumbered as the field within a SDLC frame to search on. + - ``INFormation`` specifies information as the field within a SDLC frame to search on. + - ``SUPervisory`` specifies supervisory as the field within a SDLC frame to search on. + - ``ERRors`` specifies errors as the field within a SDLC frame to search on. + - ``END`` specifies end as the field within a SDLC frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusSdlcAddressType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe`` command. + + Description: + - This commands specifies the Address type in SDLC frame which can be Broadcast, No-Station + and Address value can be specified. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe {BROadcast|NOSTATion|STATIONADDr} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``BROadcast`` specifies the Broadcast as the field within a SDLC frame to search on. + BROadcast is the default value. + - ``NOSTATion`` specifies the No-Station as the field within a SDLC frame to search on. + - ``STATIONADDr`` specifies the Address as the field within a SDLC frame to search on. + """ + + +class SearchSearchItemTriggerABusSdlcAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusSdlcAddressType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusSdlcAddressType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe`` command. + + Description: + - This commands specifies the Address type in SDLC frame which can be Broadcast, + No-Station and Address value can be specified. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe {BROadcast|NOSTATion|STATIONADDr} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``BROadcast`` specifies the Broadcast as the field within a SDLC frame to search on. + BROadcast is the default value. + - ``NOSTATion`` specifies the No-Station as the field within a SDLC frame to search on. + - ``STATIONADDr`` specifies the Address as the field within a SDLC frame to search on. + """ + return self._type + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusSdlc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR`` command tree. + - ``.frame``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe`` command tree. + - ``.staddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress`` command tree. + - ``.supervisory``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory`` command tree. + - ``.unnumbered``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusSdlcAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._condition = SearchSearchItemTriggerABusSdlcCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusSdlcData(device, f"{self._cmd_syntax}:DATa") + self._error = SearchSearchItemTriggerABusSdlcError(device, f"{self._cmd_syntax}:ERROR") + self._frame = SearchSearchItemTriggerABusSdlcFrame(device, f"{self._cmd_syntax}:FRAMe") + self._staddress = SearchSearchItemTriggerABusSdlcStaddress( + device, f"{self._cmd_syntax}:STADDress" + ) + self._supervisory = SearchSearchItemTriggerABusSdlcSupervisory( + device, f"{self._cmd_syntax}:SUPervisory" + ) + self._unnumbered = SearchSearchItemTriggerABusSdlcUnnumbered( + device, f"{self._cmd_syntax}:UNNumbered" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusSdlcAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess:TYPe`` command. + """ + return self._address + + @property + def condition(self) -> SearchSearchItemTriggerABusSdlcCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a SDLC bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition {STARt|DATa|ABORt|ADDRess|UNNumbered|INFormation|SUPervisory|ERRors|END} + - SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``STARt`` specifies start as the field within a SDLC frame to search on. The default + Trigger on Condtion is STARt. + - ``DATa`` specifies data as the field within a SDLC frame to search on. + - ``ABORt`` specifies abort as the field within a SDLC frame to search on. + - ``ADDRess`` specifies address as the field within a SDLC frame to search on. + - ``UNNumbered`` specifies unnumbered as the field within a SDLC frame to search on. + - ``INFormation`` specifies information as the field within a SDLC frame to search on. + - ``SUPervisory`` specifies supervisory as the field within a SDLC frame to search on. + - ``ERRors`` specifies errors as the field within a SDLC frame to search on. + - ``END`` specifies end as the field within a SDLC frame to search on. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusSdlcData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa:VALue`` command. + """ + return self._data + + @property + def error(self) -> SearchSearchItemTriggerABusSdlcError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR:TYPe`` command. + """ + return self._error + + @property + def frame(self) -> SearchSearchItemTriggerABusSdlcFrame: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe:TYPe`` command. + """ + return self._frame + + @property + def staddress(self) -> SearchSearchItemTriggerABusSdlcStaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress:VALue`` command. + """ + return self._staddress + + @property + def supervisory(self) -> SearchSearchItemTriggerABusSdlcSupervisory: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory:FRAMETYPe`` + command. + """ + return self._supervisory + + @property + def unnumbered(self) -> SearchSearchItemTriggerABusSdlcUnnumbered: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered:FRAMETYPe`` + command. + """ + return self._unnumbered + + +class SearchSearchItemTriggerABusS8b10bSymbolType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe`` command. + + Description: + - This command sets or queries the type of symbol when searching on 8b10b signal. The search + condition must be set to Symbols. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe {DATa|CONTrol} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``DATa`` specifies searching for Data Symbols. + - ``CONTrol`` specifies searching for Control Symbols. + """ + + +class SearchSearchItemTriggerABusS8b10bSymbolTbitvalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue`` command. + + Description: + - This command specifies the 10 bit value to be used when searching on an 8b10b signal. The + default is all X's (don't care). The search condition needs to be set to Symbols. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusS8b10bSymbolTbitrdpos(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos`` command. + + Description: + - This command specifies the 10 bit RD positive value to be used when searching on an 8b10b + signal. The default is all X's (don't care). The search condition needs to be set to + Symbols. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit RD positive value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusS8b10bSymbolTbitrdneg(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg`` command. + + Description: + - This command specifies the 10 bit RD negative value to be used when searching on an 8b10b + signal. The default is all X's (don't care). The search condition needs to be set to + Symbols. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit RD negative value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusS8b10bSymbolMode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe`` command. + + Description: + - This command sets or queries the mode of data search to be used when searching on 8b10b + signal. The search condition must be set to Symbols. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe {EBIT|TBIT|SYMB} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EBIT`` specifies searching for Eight Bit data. + - ``TBIT`` specifies searching for Ten bit data (6 bits and 4 bits combined). Only valid + values are considered. + - ``SYMB`` specifies searching for symbol data with disparity. Takes only K and D with + possible values. + """ + + +class SearchSearchItemTriggerABusS8b10bSymbolEbitvalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue`` command. + + Description: + - This command specifies the 8 bit value to be used when searching on an 8b10b signal. The + default is all X's (don't care). The search condition needs to be set to Symbols. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 8 bit value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusS8b10bSymbolCsymvalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue`` command. + + Description: + - This command sets or queries the control symbol value to be used when searching on 8b10b + signal. The default is all X's (don't care). The search condition needs to be set to + Symbols. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusS8b10bSymbol(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.csymvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue`` command. + - ``.ebitvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue`` command. + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe`` command. + - ``.tbitrdneg``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg`` command. + - ``.tbitrdpos``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos`` command. + - ``.tbitvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._csymvalue = SearchSearchItemTriggerABusS8b10bSymbolCsymvalue( + device, f"{self._cmd_syntax}:CSYMVALue" + ) + self._ebitvalue = SearchSearchItemTriggerABusS8b10bSymbolEbitvalue( + device, f"{self._cmd_syntax}:EBITVALue" + ) + self._mode = SearchSearchItemTriggerABusS8b10bSymbolMode(device, f"{self._cmd_syntax}:MODe") + self._tbitrdneg = SearchSearchItemTriggerABusS8b10bSymbolTbitrdneg( + device, f"{self._cmd_syntax}:TBITRDNeg" + ) + self._tbitrdpos = SearchSearchItemTriggerABusS8b10bSymbolTbitrdpos( + device, f"{self._cmd_syntax}:TBITRDPos" + ) + self._tbitvalue = SearchSearchItemTriggerABusS8b10bSymbolTbitvalue( + device, f"{self._cmd_syntax}:TBITVALue" + ) + self._type = SearchSearchItemTriggerABusS8b10bSymbolType(device, f"{self._cmd_syntax}:TYPe") + + @property + def csymvalue(self) -> SearchSearchItemTriggerABusS8b10bSymbolCsymvalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue`` command. + + Description: + - This command sets or queries the control symbol value to be used when searching on + 8b10b signal. The default is all X's (don't care). The search condition needs to be + set to Symbols. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit value. + """ + return self._csymvalue + + @property + def ebitvalue(self) -> SearchSearchItemTriggerABusS8b10bSymbolEbitvalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue`` command. + + Description: + - This command specifies the 8 bit value to be used when searching on an 8b10b signal. + The default is all X's (don't care). The search condition needs to be set to Symbols. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 8 bit value. + """ + return self._ebitvalue + + @property + def mode(self) -> SearchSearchItemTriggerABusS8b10bSymbolMode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe`` command. + + Description: + - This command sets or queries the mode of data search to be used when searching on + 8b10b signal. The search condition must be set to Symbols. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe {EBIT|TBIT|SYMB} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``EBIT`` specifies searching for Eight Bit data. + - ``TBIT`` specifies searching for Ten bit data (6 bits and 4 bits combined). Only valid + values are considered. + - ``SYMB`` specifies searching for symbol data with disparity. Takes only K and D with + possible values. + """ + return self._mode + + @property + def tbitrdneg(self) -> SearchSearchItemTriggerABusS8b10bSymbolTbitrdneg: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg`` command. + + Description: + - This command specifies the 10 bit RD negative value to be used when searching on an + 8b10b signal. The default is all X's (don't care). The search condition needs to be + set to Symbols. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit RD negative value. + """ + return self._tbitrdneg + + @property + def tbitrdpos(self) -> SearchSearchItemTriggerABusS8b10bSymbolTbitrdpos: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos`` command. + + Description: + - This command specifies the 10 bit RD positive value to be used when searching on an + 8b10b signal. The default is all X's (don't care). The search condition needs to be + set to Symbols. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit RD positive value. + """ + return self._tbitrdpos + + @property + def tbitvalue(self) -> SearchSearchItemTriggerABusS8b10bSymbolTbitvalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue`` command. + + Description: + - This command specifies the 10 bit value to be used when searching on an 8b10b signal. + The default is all X's (don't care). The search condition needs to be set to Symbols. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ```` specifies the 10 bit value. + """ + return self._tbitvalue + + @property + def type(self) -> SearchSearchItemTriggerABusS8b10bSymbolType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe`` command. + + Description: + - This command sets or queries the type of symbol when searching on 8b10b signal. The + search condition must be set to Symbols. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe {DATa|CONTrol} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe? + ``` + + Info: + - ``Search`` is the number of the search. + - ``DATa`` specifies searching for Data Symbols. + - ``CONTrol`` specifies searching for Control Symbols. + """ + return self._type + + +class SearchSearchItemTriggerABusS8b10bError(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor`` command. + + Description: + - This command sets or queries the error type to be used when searching on a 8B10b signal. + The search condition must be set to Errors. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor {SYMBol|DISParity} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ``SYMBol`` specifies searching for Symbol Errors. + - ``DISParity`` specifies searching for Disparity Errors. + """ + + +class SearchSearchItemTriggerABusS8b10bDisparity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity`` command. + + Description: + - This command sets or queries the disparity to be used when searching on a 8B10b signal. + The search condition must be set to Symbols > 8-bit. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity {POSITIVe|NEGAtive|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ``POSITIVe`` specifies searching for positive disparity. + - ``NEGAtive`` specifies searching for negative disparity. + - ``EITHer`` specifies searching for neutral or either positive/negative disparity. + """ + + +class SearchSearchItemTriggerABusS8b10b(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.disparity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity`` command. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor`` command. + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._disparity = SearchSearchItemTriggerABusS8b10bDisparity( + device, f"{self._cmd_syntax}:DISParity" + ) + self._error = SearchSearchItemTriggerABusS8b10bError(device, f"{self._cmd_syntax}:ERRor") + self._symbol = SearchSearchItemTriggerABusS8b10bSymbol(device, f"{self._cmd_syntax}:SYMbol") + + @property + def disparity(self) -> SearchSearchItemTriggerABusS8b10bDisparity: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity`` command. + + Description: + - This command sets or queries the disparity to be used when searching on a 8B10b + signal. The search condition must be set to Symbols > 8-bit. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity {POSITIVe|NEGAtive|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ``POSITIVe`` specifies searching for positive disparity. + - ``NEGAtive`` specifies searching for negative disparity. + - ``EITHer`` specifies searching for neutral or either positive/negative disparity. + """ + return self._disparity + + @property + def error(self) -> SearchSearchItemTriggerABusS8b10bError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor`` command. + + Description: + - This command sets or queries the error type to be used when searching on a 8B10b + signal. The search condition must be set to Errors. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor {SYMBol|DISParity} + - SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor? + ``` + + Info: + - ``Search`` is the Search identifier number. + - ``SYMBol`` specifies searching for Symbol Errors. + - ``DISParity`` specifies searching for Disparity Errors. + """ + return self._error + + @property + def symbol(self) -> SearchSearchItemTriggerABusS8b10bSymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.csymvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:CSYMVALue`` + command. + - ``.ebitvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:EBITVALue`` + command. + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:MODe`` command. + - ``.tbitrdneg``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDNeg`` + command. + - ``.tbitrdpos``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITRDPos`` + command. + - ``.tbitvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TBITVALue`` + command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol:TYPe`` command. + """ + return self._symbol + + +class SearchSearchItemTriggerABusRs232cDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue`` command. + + Description: + - This command sets or queries the data string used for the specified RS232C bus trigger + search to determine where to place a mark. The search condition must be Data. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusRs232cDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes to be used for an + RS232 bus search to determine where to place a mark when the search condition is Data. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe? + ``` + + Info: + - ```` is the number of bits per word in the data string, from 1 to 8. + """ + + +class SearchSearchItemTriggerABusRs232cData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusRs232cDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusRs232cDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusRs232cDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes to be used for an + RS232 bus search to determine where to place a mark when the search condition is + Data. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe? + ``` + + Info: + - ```` is the number of bits per word in the data string, from 1 to 8. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusRs232cDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue`` command. + + Description: + - This command sets or queries the data string used for the specified RS232C bus trigger + search to determine where to place a mark. The search condition must be Data. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusRs232cCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition`` command. + + Description: + - This command sets or queries the condition for an RS232C bus search to determine where to + place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition {DATa|EOp|PARItyerror|STARt} + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition? + ``` + + Info: + - ``DATa`` specifies the search condition as Data. + - ``EOp`` specifies the search condition as End of Packet. + - ``PARItyerror`` specifies the search condition as Parity Error. + - ``STARt`` specifies the search condition as Start. + """ + + +class SearchSearchItemTriggerABusRs232c(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusRs232cCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusRs232cData(device, f"{self._cmd_syntax}:DATa") + + @property + def condition(self) -> SearchSearchItemTriggerABusRs232cCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition`` command. + + Description: + - This command sets or queries the condition for an RS232C bus search to determine where + to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition {DATa|EOp|PARItyerror|STARt} + - SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition? + ``` + + Info: + - ``DATa`` specifies the search condition as Data. + - ``EOp`` specifies the search condition as End of Packet. + - ``PARItyerror`` specifies the search condition as Parity Error. + - ``STARt`` specifies the search condition as Start. + """ + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusRs232cData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa:VALue`` command. + """ + return self._data + + +class SearchSearchItemTriggerABusParallelDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data string used for a parallel bus search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue? + ``` + + Info: + - ```` specifies the data value in a valid format. Valid characters are 0-9. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusParallelData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusParallelDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusParallelDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data string used for a parallel bus search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue? + ``` + + Info: + - ```` specifies the data value in a valid format. Valid characters are 0-9. + """ + return self._value + + +class SearchSearchItemTriggerABusParallel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerABusParallelData(device, f"{self._cmd_syntax}:DATa") + + @property + def data(self) -> SearchSearchItemTriggerABusParallelData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa:VALue`` command. + """ + return self._data + + +class SearchSearchItemTriggerABusOnewireSearchromRomcode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe`` command. + + Description: + - This command sets or queries the ROM code for Search ROM in ONEWIRE bus. MODe should be + set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the ROM code for Search ROM. The default size and value of ROM + code for Search ROM is 64 bits and 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireSearchrom(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.romcode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._romcode = SearchSearchItemTriggerABusOnewireSearchromRomcode( + device, f"{self._cmd_syntax}:ROMCODe" + ) + + @property + def romcode(self) -> SearchSearchItemTriggerABusOnewireSearchromRomcode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe`` command. + + Description: + - This command sets or queries the ROM code for Search ROM in ONEWIRE bus. MODe should + be set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the ROM code for Search ROM. The default size and value of ROM + code for Search ROM is 64 bits and 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + return self._romcode + + +class SearchSearchItemTriggerABusOnewireReadromSerialnumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer`` command. + + Description: + - This command sets or queries the serial number for Read ROM in ONEWIRE bus. MODe should be + set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Serial Number triggering. The default + size and value of serial number for Read ROM is 48 bits and 'XXXXXXXX XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireReadromFamilycode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe`` command. + + Description: + - This command sets or queries the family code for Read ROM in ONEWIRE bus. MODe should be + set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Family Code triggering. The default + size and value of family code for Read ROM is 8 bits and 'XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireReadrom(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.familycode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe`` + command. + - ``.serialnumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._familycode = SearchSearchItemTriggerABusOnewireReadromFamilycode( + device, f"{self._cmd_syntax}:FAMILYCODe" + ) + self._serialnumber = SearchSearchItemTriggerABusOnewireReadromSerialnumber( + device, f"{self._cmd_syntax}:SERIALNUMBer" + ) + + @property + def familycode(self) -> SearchSearchItemTriggerABusOnewireReadromFamilycode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe`` command. + + Description: + - This command sets or queries the family code for Read ROM in ONEWIRE bus. MODe should + be set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Family Code triggering. The default + size and value of family code for Read ROM is 8 bits and 'XXXXXXXX'. + """ + return self._familycode + + @property + def serialnumber(self) -> SearchSearchItemTriggerABusOnewireReadromSerialnumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer`` command. + + Description: + - This command sets or queries the serial number for Read ROM in ONEWIRE bus. MODe + should be set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Serial Number triggering. The + default size and value of serial number for Read ROM is 48 bits and 'XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + return self._serialnumber + + +class SearchSearchItemTriggerABusOnewireOverdriveSerialnumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer`` command. + + Description: + - This command sets or queries the serial number for Overdrive Match ROM in ONEWIRE bus. + MODe should be set to Overdrive. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Serial Number triggering. The default + size and value of serial number for Overdrive match ROM is 48 bits and 'XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireOverdriveFamilycode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe`` command. + + Description: + - This command sets or queries the Family Code for Overdrive Match ROM in ONEWIRE bus. MODe + should be set to Overdrive. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Family Code triggering. The default + size and value of family code for Overdrive match ROM is 8 bits and 'XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireOverdrive(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.familycode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe`` + command. + - ``.serialnumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._familycode = SearchSearchItemTriggerABusOnewireOverdriveFamilycode( + device, f"{self._cmd_syntax}:FAMILYCODe" + ) + self._serialnumber = SearchSearchItemTriggerABusOnewireOverdriveSerialnumber( + device, f"{self._cmd_syntax}:SERIALNUMBer" + ) + + @property + def familycode(self) -> SearchSearchItemTriggerABusOnewireOverdriveFamilycode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe`` command. + + Description: + - This command sets or queries the Family Code for Overdrive Match ROM in ONEWIRE bus. + MODe should be set to Overdrive. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Family Code triggering. The default + size and value of family code for Overdrive match ROM is 8 bits and 'XXXXXXXX'. + """ + return self._familycode + + @property + def serialnumber(self) -> SearchSearchItemTriggerABusOnewireOverdriveSerialnumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer`` command. + + Description: + - This command sets or queries the serial number for Overdrive Match ROM in ONEWIRE bus. + MODe should be set to Overdrive. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Serial Number triggering. The + default size and value of serial number for Overdrive match ROM is 48 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + return self._serialnumber + + +class SearchSearchItemTriggerABusOnewireMatchromSerialnumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer`` command. + + Description: + - This command sets or queries the serial number for Match ROM in ONEWIRE bus. MODe should + be set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Serial Number triggering. The default + size and value of serial number for Match ROM is 48 bits and 'XXXXXXXX XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireMatchromFamilycode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe`` command. + + Description: + - This command sets or queries the family code for Match ROM in ONEWIRE bus. MODe should be + set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Family Code triggering. The default + size and value of family code for Match ROM is 8 bits and 'XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireMatchrom(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.familycode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe`` + command. + - ``.serialnumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._familycode = SearchSearchItemTriggerABusOnewireMatchromFamilycode( + device, f"{self._cmd_syntax}:FAMILYCODe" + ) + self._serialnumber = SearchSearchItemTriggerABusOnewireMatchromSerialnumber( + device, f"{self._cmd_syntax}:SERIALNUMBer" + ) + + @property + def familycode(self) -> SearchSearchItemTriggerABusOnewireMatchromFamilycode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe`` command. + + Description: + - This command sets or queries the family code for Match ROM in ONEWIRE bus. MODe should + be set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Family Code triggering. The default + size and value of family code for Match ROM is 8 bits and 'XXXXXXXX'. + """ + return self._familycode + + @property + def serialnumber(self) -> SearchSearchItemTriggerABusOnewireMatchromSerialnumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer`` command. + + Description: + - This command sets or queries the serial number for Match ROM in ONEWIRE bus. MODe + should be set to Standard. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the binary string used for Serial Number triggering. The + default size and value of serial number for Match ROM is 48 bits and 'XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + return self._serialnumber + + +class SearchSearchItemTriggerABusOnewireDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for ONEWIRe triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data value in a valid format. The default size and value for + DATA is 8 bits and 'XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for ONEWIRe + triggering if the trigger condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data string in a valid format. The minimum and default values are + 1. The maximum value is 5. + """ + + +class SearchSearchItemTriggerABusOnewireData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusOnewireDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusOnewireDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusOnewireDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for ONEWIRe + triggering if the trigger condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data string in a valid format. The minimum and default values + are 1. The maximum value is 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusOnewireDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for ONEWIRe triggering if the + trigger condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data value in a valid format. The default size and value + for DATA is 8 bits and 'XXXXXXXX'. + """ + return self._value + + +class SearchSearchItemTriggerABusOnewireCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a ONEWIRe bus. MODe should be set + to Overdrive for OVERDRIVEMATCh and OVERDRIVESKIP. MODe should be set to Standard for + READROM, MATCHROM, SKIPROM, SEARCHROM, ALARMSEARch. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition {RESet|PREsence|COMMand|DATa|READROM|MATCHROM|OVERDRIVEMATCh|SKIPROM|OVERDRIVESKIP|SEARCHROM|ALARMSEARch|CRCERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``RESet`` specifies the search condition as RESet. Reset is the default trigger on + condition. + - ``PREsence`` specifies the search condition as PREsence. + - ``COMMand`` specifies the search condition as COMMand. + - ``DATa`` specifies the search condition as DATa. + - ``READROM`` specifies the search condition as READROM. + - ``MATCHROM`` specifies the search condition as MATCHROM. + - ``SKIPROM`` specifies the search condition as SKIPROM. + - ``SEARCHROM`` specifies the search condition as SEARCHROM. + - ``ALARMSEARch`` specifies the search condition as ALARMSEARch. + - ``CRCERRor`` specifies the search condition as CRCERRor. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusOnewireCommandValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue`` command. + + Description: + - This command specifies the binary data string used for ONEWIRe triggering if the trigger + condition is COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data value in a valid format. The default size and value for + COMMAND is 8 bits and 'XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusOnewireCommand(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusOnewireCommandValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusOnewireCommandValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue`` command. + + Description: + - This command specifies the binary data string used for ONEWIRe triggering if the + trigger condition is COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data value in a valid format. The default size and value + for COMMAND is 8 bits and 'XXXXXXXX'. + """ + return self._value + + +class SearchSearchItemTriggerABusOnewire(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa`` command tree. + - ``.matchrom``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM`` command tree. + - ``.overdrive``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe`` command tree. + - ``.readrom``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM`` command tree. + - ``.searchrom``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._command = SearchSearchItemTriggerABusOnewireCommand( + device, f"{self._cmd_syntax}:COMMand" + ) + self._condition = SearchSearchItemTriggerABusOnewireCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusOnewireData(device, f"{self._cmd_syntax}:DATa") + self._matchrom = SearchSearchItemTriggerABusOnewireMatchrom( + device, f"{self._cmd_syntax}:MATCHROM" + ) + self._overdrive = SearchSearchItemTriggerABusOnewireOverdrive( + device, f"{self._cmd_syntax}:OVERDRIVe" + ) + self._readrom = SearchSearchItemTriggerABusOnewireReadrom( + device, f"{self._cmd_syntax}:READROM" + ) + self._searchrom = SearchSearchItemTriggerABusOnewireSearchrom( + device, f"{self._cmd_syntax}:SEARCHROM" + ) + + @property + def command(self) -> SearchSearchItemTriggerABusOnewireCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand:VALue`` command. + """ + return self._command + + @property + def condition(self) -> SearchSearchItemTriggerABusOnewireCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a ONEWIRe bus. MODe should be + set to Overdrive for OVERDRIVEMATCh and OVERDRIVESKIP. MODe should be set to Standard + for READROM, MATCHROM, SKIPROM, SEARCHROM, ALARMSEARch. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition {RESet|PREsence|COMMand|DATa|READROM|MATCHROM|OVERDRIVEMATCh|SKIPROM|OVERDRIVESKIP|SEARCHROM|ALARMSEARch|CRCERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``RESet`` specifies the search condition as RESet. Reset is the default trigger on + condition. + - ``PREsence`` specifies the search condition as PREsence. + - ``COMMand`` specifies the search condition as COMMand. + - ``DATa`` specifies the search condition as DATa. + - ``READROM`` specifies the search condition as READROM. + - ``MATCHROM`` specifies the search condition as MATCHROM. + - ``SKIPROM`` specifies the search condition as SKIPROM. + - ``SEARCHROM`` specifies the search condition as SEARCHROM. + - ``ALARMSEARch`` specifies the search condition as ALARMSEARch. + - ``CRCERRor`` specifies the search condition as CRCERRor. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusOnewireData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa:VALue`` command. + """ + return self._data + + @property + def matchrom(self) -> SearchSearchItemTriggerABusOnewireMatchrom: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.familycode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:FAMILYCODe`` + command. + - ``.serialnumber``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM:SERIALNUMBer`` command. + """ + return self._matchrom + + @property + def overdrive(self) -> SearchSearchItemTriggerABusOnewireOverdrive: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.familycode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:FAMILYCODe`` + command. + - ``.serialnumber``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe:SERIALNUMBer`` command. + """ + return self._overdrive + + @property + def readrom(self) -> SearchSearchItemTriggerABusOnewireReadrom: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.familycode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:FAMILYCODe`` + command. + - ``.serialnumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM:SERIALNUMBer`` + command. + """ + return self._readrom + + @property + def searchrom(self) -> SearchSearchItemTriggerABusOnewireSearchrom: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.romcode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM:ROMCODe`` + command. + """ + return self._searchrom + + +class SearchSearchItemTriggerABusNrzDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on a NRZ + signal. The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data value in a valid format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusNrzDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string, in bytes, to use when searching on + the NRZ signal. The search condition needs to be set to DATa. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data string in a valid format. The minimum and default values are + 1. The maximum value is 5. + """ + + +class SearchSearchItemTriggerABusNrzData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusNrzDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusNrzDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusNrzDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string, in bytes, to use when searching + on the NRZ signal. The search condition needs to be set to DATa. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data string in a valid format. The minimum and default values + are 1. The maximum value is 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusNrzDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on a NRZ + signal. The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data value in a valid format. + """ + return self._value + + +class SearchSearchItemTriggerABusNrz(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerABusNrzData(device, f"{self._cmd_syntax}:DATa") + + @property + def data(self) -> SearchSearchItemTriggerABusNrzData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa:VALue`` command. + """ + return self._data + + +class SearchSearchItemTriggerABusMil1553bStatusParity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity`` command. + + Description: + - This command sets or queries the value of the status word parity bit for a MIL-STD-1553 + bus to search on. The search number is specified by x. The search condition must be set to + STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity? + ``` + + Info: + - ``ONE`` filters status words to only match those where the parity bit has a value of 1. + - ``ZERo`` filters status words to only match those where the parity bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the parity bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitTf(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF`` command. + + Description: + - This command sets or queries the value of the terminal flag bit (TF bit, bit 19) in a + status word for a MIL-STD-1553 bus to search on. The search number is specified by x. The + search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF? + ``` + + Info: + - ``ONE`` filters status words to only match those where the TF bit has a value of 1. + - ``ZERo`` filters status words to only match those where the TF bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the TF bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitSubsf(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF`` command. + + Description: + - This command sets or queries the value of the subsystem flag bit (SUBSF bit, bit 17) in a + status word for a MIL-STD-1553 bus to search on. The search number is specified by x>. The + search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF? + ``` + + Info: + - ``ONE`` filters status words to only match those where the SUBSF bit has a value of 1. + - ``ZERo`` filters status words to only match those where the SUBSF bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the SUBSF bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitSrq(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ`` command. + + Description: + - This command sets or queries the value of the status word service request bit (SRQ bit, + bit 11) in a status word for a MIL-STD-1553 bus to search on. The search number is + specified by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ? + ``` + + Info: + - ``ONE`` filters status words to only match those where the SRQ bit has a value of 1. + - ``ZERo`` filters status words to only match those where the SRQ bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the SRQ bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitMe(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME`` command. + + Description: + - This command sets or queries the value of the message error bit (ME bit, bit 9) in a + status word for a MIL-STD-1553 bus to search on. The search number is specified by x. The + search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME? + ``` + + Info: + - ``ONE`` filters status words to only match those where the ME bit has a value of 1. + - ``ZERo`` filters status words to only match those where the ME bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the ME bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitInstr(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR`` command. + + Description: + - This command sets or queries the value of the instrumentation bit (INSTR bit, bit 10) in a + status word for a MIL-STD-1553 bus to search on. The search number is specified by x. The + search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR? + ``` + + Info: + - ``ONE`` filters status words to only match those where the INSTR bit has a value of 1. + - ``ZERo`` filters status words to only match those where the INSTR bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the INSTR bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitDbca(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA`` command. + + Description: + - This command sets or queries the value of the dynamic bus control acceptance bit (DBCA + bit, bit 18) in a status word for a MIL-STD-1553 bus to search on. The search number is + specified by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA? + ``` + + Info: + - ``ONE`` filters status words to only match those where the DBCA bit has a value of 1. + - ``ZERo`` filters status words to only match those where the DBCA bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the DBCA bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitBusy(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY`` command. + + Description: + - This command sets or queries the value of the busy bit (BUSY bit, bit 16) in a status word + for a MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY? + ``` + + Info: + - ``ONE`` filters status words to only match those where the BUSY bit has a value of 1. + - ``ZERo`` filters status words to only match those where the BUSY bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the BUSY bit. + """ + + +class SearchSearchItemTriggerABusMil1553bStatusBitBcr(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR`` command. + + Description: + - This command sets or queries the value of the broadcast command received bit (BCR bit, bit + 15) in a status word for a MIL-STD-1553 bus to search on. The search number is specified + by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR? + ``` + + Info: + - ``ONE`` filters status words to only match those where the BCR bit has a value of 1. + - ``ZERo`` filters status words to only match those where the BCR bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the BCR bit. + """ + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusMil1553bStatusBit(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.bcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR`` command. + - ``.busy``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY`` command. + - ``.dbca``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA`` command. + - ``.instr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR`` command. + - ``.me``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME`` command. + - ``.srq``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ`` command. + - ``.subsf``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF`` command. + - ``.tf``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bcr = SearchSearchItemTriggerABusMil1553bStatusBitBcr( + device, f"{self._cmd_syntax}:BCR" + ) + self._busy = SearchSearchItemTriggerABusMil1553bStatusBitBusy( + device, f"{self._cmd_syntax}:BUSY" + ) + self._dbca = SearchSearchItemTriggerABusMil1553bStatusBitDbca( + device, f"{self._cmd_syntax}:DBCA" + ) + self._instr = SearchSearchItemTriggerABusMil1553bStatusBitInstr( + device, f"{self._cmd_syntax}:INSTR" + ) + self._me = SearchSearchItemTriggerABusMil1553bStatusBitMe(device, f"{self._cmd_syntax}:ME") + self._srq = SearchSearchItemTriggerABusMil1553bStatusBitSrq( + device, f"{self._cmd_syntax}:SRQ" + ) + self._subsf = SearchSearchItemTriggerABusMil1553bStatusBitSubsf( + device, f"{self._cmd_syntax}:SUBSF" + ) + self._tf = SearchSearchItemTriggerABusMil1553bStatusBitTf(device, f"{self._cmd_syntax}:TF") + + @property + def bcr(self) -> SearchSearchItemTriggerABusMil1553bStatusBitBcr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR`` command. + + Description: + - This command sets or queries the value of the broadcast command received bit (BCR bit, + bit 15) in a status word for a MIL-STD-1553 bus to search on. The search number is + specified by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR? + ``` + + Info: + - ``ONE`` filters status words to only match those where the BCR bit has a value of 1. + - ``ZERo`` filters status words to only match those where the BCR bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the BCR bit. + """ + return self._bcr + + @property + def busy(self) -> SearchSearchItemTriggerABusMil1553bStatusBitBusy: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY`` command. + + Description: + - This command sets or queries the value of the busy bit (BUSY bit, bit 16) in a status + word for a MIL-STD-1553 bus to search on. The search number is specified by x. The + search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY? + ``` + + Info: + - ``ONE`` filters status words to only match those where the BUSY bit has a value of 1. + - ``ZERo`` filters status words to only match those where the BUSY bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the BUSY bit. + """ + return self._busy + + @property + def dbca(self) -> SearchSearchItemTriggerABusMil1553bStatusBitDbca: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA`` command. + + Description: + - This command sets or queries the value of the dynamic bus control acceptance bit (DBCA + bit, bit 18) in a status word for a MIL-STD-1553 bus to search on. The search number + is specified by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA? + ``` + + Info: + - ``ONE`` filters status words to only match those where the DBCA bit has a value of 1. + - ``ZERo`` filters status words to only match those where the DBCA bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the DBCA bit. + """ + return self._dbca + + @property + def instr(self) -> SearchSearchItemTriggerABusMil1553bStatusBitInstr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR`` command. + + Description: + - This command sets or queries the value of the instrumentation bit (INSTR bit, bit 10) + in a status word for a MIL-STD-1553 bus to search on. The search number is specified + by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR? + ``` + + Info: + - ``ONE`` filters status words to only match those where the INSTR bit has a value of 1. + - ``ZERo`` filters status words to only match those where the INSTR bit has a value of + 0. + - ``NOCARE`` disables filtering of status words on the INSTR bit. + """ + return self._instr + + @property + def me(self) -> SearchSearchItemTriggerABusMil1553bStatusBitMe: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME`` command. + + Description: + - This command sets or queries the value of the message error bit (ME bit, bit 9) in a + status word for a MIL-STD-1553 bus to search on. The search number is specified by x. + The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME? + ``` + + Info: + - ``ONE`` filters status words to only match those where the ME bit has a value of 1. + - ``ZERo`` filters status words to only match those where the ME bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the ME bit. + """ + return self._me + + @property + def srq(self) -> SearchSearchItemTriggerABusMil1553bStatusBitSrq: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ`` command. + + Description: + - This command sets or queries the value of the status word service request bit (SRQ + bit, bit 11) in a status word for a MIL-STD-1553 bus to search on. The search number + is specified by x. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ? + ``` + + Info: + - ``ONE`` filters status words to only match those where the SRQ bit has a value of 1. + - ``ZERo`` filters status words to only match those where the SRQ bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the SRQ bit. + """ + return self._srq + + @property + def subsf(self) -> SearchSearchItemTriggerABusMil1553bStatusBitSubsf: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF`` command. + + Description: + - This command sets or queries the value of the subsystem flag bit (SUBSF bit, bit 17) + in a status word for a MIL-STD-1553 bus to search on. The search number is specified + by x>. The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF? + ``` + + Info: + - ``ONE`` filters status words to only match those where the SUBSF bit has a value of 1. + - ``ZERo`` filters status words to only match those where the SUBSF bit has a value of + 0. + - ``NOCARE`` disables filtering of status words on the SUBSF bit. + """ + return self._subsf + + @property + def tf(self) -> SearchSearchItemTriggerABusMil1553bStatusBitTf: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF`` command. + + Description: + - This command sets or queries the value of the terminal flag bit (TF bit, bit 19) in a + status word for a MIL-STD-1553 bus to search on. The search number is specified by x. + The search condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF? + ``` + + Info: + - ``ONE`` filters status words to only match those where the TF bit has a value of 1. + - ``ZERo`` filters status words to only match those where the TF bit has a value of 0. + - ``NOCARE`` disables filtering of status words on the TF bit. + """ + return self._tf + + +class SearchSearchItemTriggerABusMil1553bStatusAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue`` command. + + Description: + - This command sets or queries the low value when searching on status word addresses for a + MIL-STD-1553 bus. The search number is specified by x. The search condition must be set to + STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue? + ``` + + Info: + - ```` is the address value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bStatusAddressQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier`` command. + + Description: + - This command sets or queries the qualifier used when searching on status word addresses + for a MIL-STD-1553 bus. The search number is specified by x. The search condition must be + set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusMil1553bStatusAddressHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on status word addresses for a + MIL-STD-1553 bus. The search number is specified by x. The search condition must be set to + STATus and the address qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue? + ``` + + Info: + - ```` is the address value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bStatusAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue`` + command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusMil1553bStatusAddressHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusMil1553bStatusAddressQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusMil1553bStatusAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusMil1553bStatusAddressHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on status word addresses + for a MIL-STD-1553 bus. The search number is specified by x. The search condition must + be set to STATus and the address qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue? + ``` + + Info: + - ```` is the address value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusMil1553bStatusAddressQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier`` command. + + Description: + - This command sets or queries the qualifier used when searching on status word + addresses for a MIL-STD-1553 bus. The search number is specified by x. The search + condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier out of range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusMil1553bStatusAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue`` command. + + Description: + - This command sets or queries the low value when searching on status word addresses for + a MIL-STD-1553 bus. The search number is specified by x. The search condition must be + set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue? + ``` + + Info: + - ```` is the address value. + """ + return self._value + + +class SearchSearchItemTriggerABusMil1553bStatus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess`` command tree. + - ``.bit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT`` command tree. + - ``.parity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusMil1553bStatusAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._bit = SearchSearchItemTriggerABusMil1553bStatusBit(device, f"{self._cmd_syntax}:BIT") + self._parity = SearchSearchItemTriggerABusMil1553bStatusParity( + device, f"{self._cmd_syntax}:PARity" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusMil1553bStatusAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:HIVALue`` + command. + - ``.qualifier``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess:VALue`` + command. + """ + return self._address + + @property + def bit(self) -> SearchSearchItemTriggerABusMil1553bStatusBit: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BCR`` command. + - ``.busy``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:BUSY`` command. + - ``.dbca``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:DBCA`` command. + - ``.instr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:INSTR`` command. + - ``.me``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:ME`` command. + - ``.srq``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SRQ`` command. + - ``.subsf``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:SUBSF`` command. + - ``.tf``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT:TF`` command. + """ + return self._bit + + @property + def parity(self) -> SearchSearchItemTriggerABusMil1553bStatusParity: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity`` command. + + Description: + - This command sets or queries the value of the status word parity bit for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to STATus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity? + ``` + + Info: + - ``ONE`` filters status words to only match those where the parity bit has a value of + 1. + - ``ZERo`` filters status words to only match those where the parity bit has a value of + 0. + - ``NOCARE`` disables filtering of status words on the parity bit. + """ + return self._parity + + +class SearchSearchItemTriggerABusMil1553bErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe`` command. + + Description: + - This command sets or queries the type of error condition for a MIL-STD-1553 bus to search + on. The search number is specified by x. The search condition must be set to ERRor. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe {PARity|SYNC|DATA} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe? + ``` + + Info: + - ``PARity`` specifies searching for an incorrectly calculated parity bit in any word. + - ``SYNC`` specifies searching for any sync pulse that does not transition in the middle of + the pulse as required. + - ``DATA`` specifies searching for any non-contiguous data words. + """ + + +class SearchSearchItemTriggerABusMil1553bDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue`` command. + + Description: + - This command sets or queries the value when searching on data words for a MIL-STD-1553 + bus. The search number is specified by x. The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue? + ``` + + Info: + - ```` is the data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bDataParity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity`` command. + + Description: + - This command sets or queries the value of the command word parity bit for a MIL-STD-1553 + bus to search on. The search number is specified by x. The search condition must be set to + DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity? + ``` + + Info: + - ``ONE`` filters data words to only match those where the parity bit has a value of 1. + - ``ZERo`` filters data words to only match those where the parity bit has a value of 0. + - ``NOCARE`` disables filtering of data words on the parity bit. + """ + + +class SearchSearchItemTriggerABusMil1553bData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.parity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._parity = SearchSearchItemTriggerABusMil1553bDataParity( + device, f"{self._cmd_syntax}:PARity" + ) + self._value = SearchSearchItemTriggerABusMil1553bDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def parity(self) -> SearchSearchItemTriggerABusMil1553bDataParity: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity`` command. + + Description: + - This command sets or queries the value of the command word parity bit for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity? + ``` + + Info: + - ``ONE`` filters data words to only match those where the parity bit has a value of 1. + - ``ZERo`` filters data words to only match those where the parity bit has a value of 0. + - ``NOCARE`` disables filtering of data words on the parity bit. + """ + return self._parity + + @property + def value(self) -> SearchSearchItemTriggerABusMil1553bDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue`` command. + + Description: + - This command sets or queries the value when searching on data words for a MIL-STD-1553 + bus. The search number is specified by x. The search condition must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue? + ``` + + Info: + - ```` is the data value. + """ + return self._value + + +class SearchSearchItemTriggerABusMil1553bCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition`` command. + + Description: + - This command sets or queries the field or condition for a MIL-STD-1553 bus to search on. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition {SYNC|COMMAND|STATus|DATA|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition? + ``` + + Info: + - ``SYNC`` specifies a search for the sync pulse of any word. + - ``COMMAND`` specifies a search for a matching command word. + - ``STATus`` specifies a search for a matching status word. + - ``DATA`` specifies a search for a matching data word. + - ``ERRor`` specifies a search for a specified error condition. + """ + + +class SearchSearchItemTriggerABusMil1553bCommandTrbit(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + + Description: + - This command sets or queries the value of the command word Transmit / Receive bit for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search condition + must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit {RX|TX|X} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit? + ``` + + Info: + - ``RX`` filters command words to only match those that are receive packets. + - ``TX`` filters command words to only match those that are transmit packets. + - ``X`` disables filtering of command words on the R/T bit. + """ + + +class SearchSearchItemTriggerABusMil1553bCommandSubaddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` command. + + Description: + - This command sets or queries the value of the command word subaddress field for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search condition + must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress? + ``` + + Info: + - ```` is the word count value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bCommandParity(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + + Description: + - This command sets or queries the value of the command word parity bit for a MIL-STD-1553 + bus to search on. The search number is specified by x. The search condition must be set to + COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity? + ``` + + Info: + - ``ONE`` filters command words to only match those where the parity bit has a value of 1. + - ``ZERo`` filters command words to only match those where the parity bit has a value of 0. + - ``NOCARE`` disables filtering of command words on the parity bit. + """ + + +class SearchSearchItemTriggerABusMil1553bCommandCount(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + + Description: + - This command sets or queries the value of the command word 'word count' field for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search condition + must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt? + ``` + + Info: + - ```` is the word count value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bCommandAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + + Description: + - This command sets or queries the low value when searching on command word addresses for a + MIL-STD-1553 bus. The search number is specified by x. The search condition must be set to + COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue? + ``` + + Info: + - ```` is the address value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bCommandAddressQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on command word + addresses for a MIL-STD-1553 bus. The search number is specified by x. The search + condition must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusMil1553bCommandAddressHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on command word addresses for a + MIL-STD-1553 bus. The search number is specified by x. The search condition must be set to + COMMAND, and the address qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue? + ``` + + Info: + - ```` is the address value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMil1553bCommandAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue`` + command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusMil1553bCommandAddressHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusMil1553bCommandAddressQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusMil1553bCommandAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusMil1553bCommandAddressHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on command word addresses + for a MIL-STD-1553 bus. The search number is specified by x. The search condition must + be set to COMMAND, and the address qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue? + ``` + + Info: + - ```` is the address value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusMil1553bCommandAddressQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on command word + addresses for a MIL-STD-1553 bus. The search number is specified by x. The search + condition must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier out of range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusMil1553bCommandAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` command. + + Description: + - This command sets or queries the low value when searching on command word addresses + for a MIL-STD-1553 bus. The search number is specified by x. The search condition must + be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue? + ``` + + Info: + - ```` is the address value. + """ + return self._value + + +class SearchSearchItemTriggerABusMil1553bCommand(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command + tree. + - ``.count``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + - ``.parity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + - ``.subaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` + command. + - ``.trbit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusMil1553bCommandAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._count = SearchSearchItemTriggerABusMil1553bCommandCount( + device, f"{self._cmd_syntax}:COUNt" + ) + self._parity = SearchSearchItemTriggerABusMil1553bCommandParity( + device, f"{self._cmd_syntax}:PARity" + ) + self._subaddress = SearchSearchItemTriggerABusMil1553bCommandSubaddress( + device, f"{self._cmd_syntax}:SUBADdress" + ) + self._trbit = SearchSearchItemTriggerABusMil1553bCommandTrbit( + device, f"{self._cmd_syntax}:TRBit" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusMil1553bCommandAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:HIVALue`` + command. + - ``.qualifier``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess:VALue`` + command. + """ + return self._address + + @property + def count(self) -> SearchSearchItemTriggerABusMil1553bCommandCount: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + + Description: + - This command sets or queries the value of the command word 'word count' field for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt? + ``` + + Info: + - ```` is the word count value. + """ + return self._count + + @property + def parity(self) -> SearchSearchItemTriggerABusMil1553bCommandParity: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + + Description: + - This command sets or queries the value of the command word parity bit for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity? + ``` + + Info: + - ``ONE`` filters command words to only match those where the parity bit has a value of + 1. + - ``ZERo`` filters command words to only match those where the parity bit has a value of + 0. + - ``NOCARE`` disables filtering of command words on the parity bit. + """ + return self._parity + + @property + def subaddress(self) -> SearchSearchItemTriggerABusMil1553bCommandSubaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` command. + + Description: + - This command sets or queries the value of the command word subaddress field for a + MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress? + ``` + + Info: + - ```` is the word count value. + """ + return self._subaddress + + @property + def trbit(self) -> SearchSearchItemTriggerABusMil1553bCommandTrbit: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + + Description: + - This command sets or queries the value of the command word Transmit / Receive bit for + a MIL-STD-1553 bus to search on. The search number is specified by x. The search + condition must be set to COMMAND. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit {RX|TX|X} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit? + ``` + + Info: + - ``RX`` filters command words to only match those that are receive packets. + - ``TX`` filters command words to only match those that are transmit packets. + - ``X`` disables filtering of command words on the R/T bit. + """ + return self._trbit + + +class SearchSearchItemTriggerABusMil1553b(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe`` command. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._command = SearchSearchItemTriggerABusMil1553bCommand( + device, f"{self._cmd_syntax}:COMMAND" + ) + self._condition = SearchSearchItemTriggerABusMil1553bCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusMil1553bData(device, f"{self._cmd_syntax}:DATa") + self._errtype = SearchSearchItemTriggerABusMil1553bErrtype( + device, f"{self._cmd_syntax}:ERRTYPe" + ) + self._status = SearchSearchItemTriggerABusMil1553bStatus( + device, f"{self._cmd_syntax}:STATus" + ) + + @property + def command(self) -> SearchSearchItemTriggerABusMil1553bCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:ADDRess`` command + tree. + - ``.count``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:COUNt`` command. + - ``.parity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:PARity`` command. + - ``.subaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:SUBADdress`` + command. + - ``.trbit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND:TRBit`` command. + """ + return self._command + + @property + def condition(self) -> SearchSearchItemTriggerABusMil1553bCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition`` command. + + Description: + - This command sets or queries the field or condition for a MIL-STD-1553 bus to search + on. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition {SYNC|COMMAND|STATus|DATA|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition? + ``` + + Info: + - ``SYNC`` specifies a search for the sync pulse of any word. + - ``COMMAND`` specifies a search for a matching command word. + - ``STATus`` specifies a search for a matching status word. + - ``DATA`` specifies a search for a matching data word. + - ``ERRor`` specifies a search for a specified error condition. + """ + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusMil1553bData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.parity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:PARity`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa:VALue`` command. + """ + return self._data + + @property + def errtype(self) -> SearchSearchItemTriggerABusMil1553bErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe`` command. + + Description: + - This command sets or queries the type of error condition for a MIL-STD-1553 bus to + search on. The search number is specified by x. The search condition must be set to + ERRor. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe {PARity|SYNC|DATA} + - SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe? + ``` + + Info: + - ``PARity`` specifies searching for an incorrectly calculated parity bit in any word. + - ``SYNC`` specifies searching for any sync pulse that does not transition in the middle + of the pulse as required. + - ``DATA`` specifies searching for any non-contiguous data words. + """ + return self._errtype + + @property + def status(self) -> SearchSearchItemTriggerABusMil1553bStatus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:ADDRess`` command + tree. + - ``.bit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:BIT`` command tree. + - ``.parity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus:PARity`` command. + """ + return self._status + + +class SearchSearchItemTriggerABusMdioRegisteraddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue`` command. + + Description: + - This command specifies the binary register address string used for MDIO triggering if the + trigger condition is register address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue? + ``` + + Info: + - ```` is the register address value. Default register address value is XXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMdioRegisteraddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusMdioRegisteraddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusMdioRegisteraddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue`` command. + + Description: + - This command specifies the binary register address string used for MDIO triggering if + the trigger condition is register address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue? + ``` + + Info: + - ```` is the register address value. Default register address value is XXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusMdioPhysicaladdressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue`` command. + + Description: + - This command specifies the binary physical address string used for MDIO triggering if the + trigger condition is physical address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue? + ``` + + Info: + - ```` is the physical address value. Default physical address value is XXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMdioPhysicaladdress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusMdioPhysicaladdressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusMdioPhysicaladdressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue`` command. + + Description: + - This command specifies the binary physical address string used for MDIO triggering if + the trigger condition is physical address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue? + ``` + + Info: + - ```` is the physical address value. Default physical address value is XXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusMdioOpcodeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue`` command. + + Description: + - This command specifies the binary op-code string used for MDIO triggering if the trigger + condition is op-code. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue? + ``` + + Info: + - ```` is the op-code value. Default op-code value is XX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMdioOpcode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusMdioOpcodeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusMdioOpcodeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue`` command. + + Description: + - This command specifies the binary op-code string used for MDIO triggering if the + trigger condition is op-code. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue? + ``` + + Info: + - ```` is the op-code value. Default op-code value is XX. + """ + return self._value + + +class SearchSearchItemTriggerABusMdioErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType`` command. + + Description: + - This command sets or queries the error type to be used when triggering on MDIO data. This + applies when the MDIO bus trigger condition is set to ERRor. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType {OPCODEERRor|DEVERRor|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType? + ``` + + Info: + - ``OPCODEERRor`` specifies OPCODEERRor as the field within a MDIO frame to search on. This + is the default trigger on condition. + - ``DEVERRor`` specifies DEVERRor as the field within a MDIO frame to search on. + - ``ANY`` specifies ANY as the field within a MDIO frame to search on. + """ + + +class SearchSearchItemTriggerABusMdioDevicetypeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue`` command. + + Description: + - This command specifies the binary device type string used for MDIO triggering if the + trigger condition is Device type. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue? + ``` + + Info: + - ```` is the device type. Default value is XXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMdioDevicetype(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusMdioDevicetypeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusMdioDevicetypeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue`` command. + + Description: + - This command specifies the binary device type string used for MDIO triggering if the + trigger condition is Device type. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue? + ``` + + Info: + - ```` is the device type. Default value is XXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusMdioDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for MDIO triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue? + ``` + + Info: + - ```` is the data value. Default value is XXXXXXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMdioData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusMdioDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusMdioDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for MDIO triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue? + ``` + + Info: + - ```` is the data value. Default value is XXXXXXXXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusMdioCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for MDIO bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition {STARTPACKet|PHYSICALADDRess|REGISTERADDRess|DEVICETYPe|DATA|ADDRess|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition? + ``` + + Info: + - ``STARTPACKet`` specifies STARTPACKet as the field within a MDIO frame to search on. This + is the default trigger on condition. + - ``PHYSICALADDRess`` specifies PHYSICALADDRess as the field within a MDIO frame to search + on. + - ``REGISTERADDRess`` specifies REGISTERADDRess as the field within a MDIO frame to search + on. + - ``DEVICETYPe`` specifies DEVICETYPe as the field within a MDIO frame to search on. + - ``DATA`` specifies DATA as the field within a MDIO frame to search on. + - ``ADDRess`` specifies ADDRess as the field within a MDIO frame to search on. + - ``ERRor`` specifies ERRor as the field within a MDIO frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusMdioAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue`` command. + + Description: + - This command specifies the binary address string used for MDIO triggering if the trigger + condition is address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue? + ``` + + Info: + - ```` is the address value. Default address value is XXXXXXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusMdioAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusMdioAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusMdioAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue`` command. + + Description: + - This command specifies the binary address string used for MDIO triggering if the + trigger condition is address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue? + ``` + + Info: + - ```` is the address value. Default address value is XXXXXXXXXXXXXXXX. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusMdio(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa`` command tree. + - ``.devicetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType`` command. + - ``.opcode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode`` command tree. + - ``.physicaladdress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress`` command + tree. + - ``.registeraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusMdioAddress( + device, f"{self._cmd_syntax}:ADDress" + ) + self._condition = SearchSearchItemTriggerABusMdioCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusMdioData(device, f"{self._cmd_syntax}:DATa") + self._devicetype = SearchSearchItemTriggerABusMdioDevicetype( + device, f"{self._cmd_syntax}:DEVicetype" + ) + self._errtype = SearchSearchItemTriggerABusMdioErrtype( + device, f"{self._cmd_syntax}:ERRType" + ) + self._opcode = SearchSearchItemTriggerABusMdioOpcode(device, f"{self._cmd_syntax}:OPCode") + self._physicaladdress = SearchSearchItemTriggerABusMdioPhysicaladdress( + device, f"{self._cmd_syntax}:PHYSicaladdress" + ) + self._registeraddress = SearchSearchItemTriggerABusMdioRegisteraddress( + device, f"{self._cmd_syntax}:REGisteraddress" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusMdioAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress:VALue`` command. + """ + return self._address + + @property + def condition(self) -> SearchSearchItemTriggerABusMdioCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for MDIO bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition {STARTPACKet|PHYSICALADDRess|REGISTERADDRess|DEVICETYPe|DATA|ADDRess|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition? + ``` + + Info: + - ``STARTPACKet`` specifies STARTPACKet as the field within a MDIO frame to search on. + This is the default trigger on condition. + - ``PHYSICALADDRess`` specifies PHYSICALADDRess as the field within a MDIO frame to + search on. + - ``REGISTERADDRess`` specifies REGISTERADDRess as the field within a MDIO frame to + search on. + - ``DEVICETYPe`` specifies DEVICETYPe as the field within a MDIO frame to search on. + - ``DATA`` specifies DATA as the field within a MDIO frame to search on. + - ``ADDRess`` specifies ADDRess as the field within a MDIO frame to search on. + - ``ERRor`` specifies ERRor as the field within a MDIO frame to search on. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusMdioData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa:VALue`` command. + """ + return self._data + + @property + def devicetype(self) -> SearchSearchItemTriggerABusMdioDevicetype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype:VALue`` command. + """ + return self._devicetype + + @property + def errtype(self) -> SearchSearchItemTriggerABusMdioErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType`` command. + + Description: + - This command sets or queries the error type to be used when triggering on MDIO data. + This applies when the MDIO bus trigger condition is set to ERRor. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType {OPCODEERRor|DEVERRor|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType? + ``` + + Info: + - ``OPCODEERRor`` specifies OPCODEERRor as the field within a MDIO frame to search on. + This is the default trigger on condition. + - ``DEVERRor`` specifies DEVERRor as the field within a MDIO frame to search on. + - ``ANY`` specifies ANY as the field within a MDIO frame to search on. + """ + return self._errtype + + @property + def opcode(self) -> SearchSearchItemTriggerABusMdioOpcode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode:VALue`` command. + """ + return self._opcode + + @property + def physicaladdress(self) -> SearchSearchItemTriggerABusMdioPhysicaladdress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress:VALue`` command. + """ + return self._physicaladdress + + @property + def registeraddress(self) -> SearchSearchItemTriggerABusMdioRegisteraddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress:VALue`` command. + """ + return self._registeraddress + + +class SearchSearchItemTriggerABusManchesterPacketoffdataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is DATA. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue? + ``` + + Info: + - ```` specifies the data string in a valid format. + """ + + +class SearchSearchItemTriggerABusManchesterPacketoffdata(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusManchesterPacketoffdataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusManchesterPacketoffdataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is DATA. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue? + ``` + + Info: + - ```` specifies the data string in a valid format. + """ + return self._value + + +class SearchSearchItemTriggerABusManchesterTrailerValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is Trailer when searching on an Manchester signal. The search condition needs to + be set to Trailer. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue? + ``` + + Info: + - ```` specifies the data string in a valid format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusManchesterTrailer(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusManchesterTrailerValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusManchesterTrailerValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is Trailer when searching on an Manchester signal. The search condition + needs to be set to Trailer. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue? + ``` + + Info: + - ```` specifies the data string in a valid format. + """ + return self._value + + +class SearchSearchItemTriggerABusManchesterSyncValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is Sync when searching on an Manchester signal. The search condition needs to be + set to Sync. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue? + ``` + + Info: + - ```` specifies the data string in a valid format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusManchesterSync(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusManchesterSyncValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusManchesterSyncValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is Sync when searching on an Manchester signal. The search condition needs + to be set to Sync. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue? + ``` + + Info: + - ```` specifies the data string in a valid format. + """ + return self._value + + +class SearchSearchItemTriggerABusManchesterHeaderValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is header when searching on an Manchester signal. The search condition needs to + be set to header. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue? + ``` + + Info: + - ```` is the header value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusManchesterHeader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusManchesterHeaderValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusManchesterHeaderValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is header when searching on an Manchester signal. The search condition needs + to be set to header. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue? + ``` + + Info: + - ```` is the header value. + """ + return self._value + + +class SearchSearchItemTriggerABusManchesterErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error to be used when searching on a Manchester signal. + The search condition must be set to error. Parity error identifies odd and even parity. + The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe {MANChester|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe? + ``` + + Info: + - ``MANChester`` sets the error type to Manchester. + - ``PARity`` sets the error type to parity. + """ + + +class SearchSearchItemTriggerABusManchesterError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusManchesterErrorType( + device, f"{self._cmd_syntax}:TYPe" + ) + + @property + def type(self) -> SearchSearchItemTriggerABusManchesterErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error to be used when searching on a Manchester + signal. The search condition must be set to error. Parity error identifies odd and + even parity. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe {MANChester|PARity} + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe? + ``` + + Info: + - ``MANChester`` sets the error type to Manchester. + - ``PARity`` sets the error type to parity. + """ + return self._type + + +class SearchSearchItemTriggerABusManchesterDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is data when searching on an Manchester signal. The search condition needs to be + set to data. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue? + ``` + + Info: + - ```` is the data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusManchesterDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe`` command. + + Description: + - This command specifies the number of bits per word for the specified Manchester bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data string in a valid format. The minimum and default values are + 1. The maximum value is 5. + """ + + +class SearchSearchItemTriggerABusManchesterData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusManchesterDataSize( + device, f"{self._cmd_syntax}:SIZe" + ) + self._value = SearchSearchItemTriggerABusManchesterDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusManchesterDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe`` command. + + Description: + - This command specifies the number of bits per word for the specified Manchester bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe? + ``` + + Info: + - ``Search`` is the number of the search. + - ```` specifies the data string in a valid format. The minimum and default values + are 1. The maximum value is 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusManchesterDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue`` command. + + Description: + - This command specifies the binary string used for Manchester triggering if the trigger + condition is data when searching on an Manchester signal. The search condition needs + to be set to data. The search number is specified by . + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue? + ``` + + Info: + - ```` is the data value. + """ + return self._value + + +class SearchSearchItemTriggerABusManchesterCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition`` command. + + Description: + - This command specifies a field or condition for an Manchester bus to search on. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition {SYNCBITS|HEADer|DATa|packetOffData|TRAiler|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition? + ``` + + Info: + - ``SYNCBITS`` specifies Sync Bits symbols as the field within an Manchester frame to search + on. + - ``HEADer`` specifies header symbols as the field within an Manchester frame to search on. + - ``DATa`` specifies data symbols as the field within an Manchester frame to search on. + - ``packetOffData`` specifies the binary string used for Manchester triggering if the + trigger condition is DATA. + - ``TRAiler`` specifies trailer symbols as the field within an Manchester frame to search + on. + - ``ERRors`` specifies error symbols as the field within an Manchester frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusManchester(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor`` command tree. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER`` command tree. + - ``.sync``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC`` command tree. + - ``.trailer``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER`` command tree. + - ``.packetoffdata``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusManchesterCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusManchesterData(device, f"{self._cmd_syntax}:DATa") + self._error = SearchSearchItemTriggerABusManchesterError( + device, f"{self._cmd_syntax}:ERRor" + ) + self._header = SearchSearchItemTriggerABusManchesterHeader( + device, f"{self._cmd_syntax}:HEADER" + ) + self._sync = SearchSearchItemTriggerABusManchesterSync(device, f"{self._cmd_syntax}:SYNC") + self._trailer = SearchSearchItemTriggerABusManchesterTrailer( + device, f"{self._cmd_syntax}:TRAILER" + ) + self._packetoffdata = SearchSearchItemTriggerABusManchesterPacketoffdata( + device, f"{self._cmd_syntax}:packetOffData" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusManchesterCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition`` command. + + Description: + - This command specifies a field or condition for an Manchester bus to search on. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition {SYNCBITS|HEADer|DATa|packetOffData|TRAiler|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition? + ``` + + Info: + - ``SYNCBITS`` specifies Sync Bits symbols as the field within an Manchester frame to + search on. + - ``HEADer`` specifies header symbols as the field within an Manchester frame to search + on. + - ``DATa`` specifies data symbols as the field within an Manchester frame to search on. + - ``packetOffData`` specifies the binary string used for Manchester triggering if the + trigger condition is DATA. + - ``TRAiler`` specifies trailer symbols as the field within an Manchester frame to + search on. + - ``ERRors`` specifies error symbols as the field within an Manchester frame to search + on. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusManchesterData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa:VALue`` command. + """ + return self._data + + @property + def error(self) -> SearchSearchItemTriggerABusManchesterError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor:TYPe`` command. + """ + return self._error + + @property + def header(self) -> SearchSearchItemTriggerABusManchesterHeader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER:VALue`` command. + """ + return self._header + + @property + def sync(self) -> SearchSearchItemTriggerABusManchesterSync: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC:VALue`` command. + """ + return self._sync + + @property + def trailer(self) -> SearchSearchItemTriggerABusManchesterTrailer: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER:VALue`` command. + """ + return self._trailer + + @property + def packetoffdata(self) -> SearchSearchItemTriggerABusManchesterPacketoffdata: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData:VALue`` + command. + """ + return self._packetoffdata + + +class SearchSearchItemTriggerABusLinIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + + Description: + - This command sets or queries the string used for a LIN bus identifier value. The search + number is specified by x. The search condition must be IDENTIFIER or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue? + ``` + + Info: + - ```` specifies the identifier value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusLinIdentifier(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusLinIdentifierValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusLinIdentifierValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + + Description: + - This command sets or queries the string used for a LIN bus identifier value. The + search number is specified by x. The search condition must be IDENTIFIER or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue? + ``` + + Info: + - ```` specifies the identifier value. + """ + return self._value + + +class SearchSearchItemTriggerABusLinErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE`` command. + + Description: + - This command sets or queries the error type for a LIN bus search. The search number is + specified by x. The search condition must be set to ERROR. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE {CHecksum|PARity|SYNC} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE? + ``` + + Info: + - ``CHecksum`` specifies the error type is checksum. + - ``PARity`` specifies the error type is parity. + - ``SYNC`` specifies the error type is sync. + """ + + +class SearchSearchItemTriggerABusLinDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue`` command. + + Description: + - This command sets or queries the data string used for a LIN bus search. The search number + is specified by x. The search condition must be DATA or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusLinDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the stat string in bytes used for a LIN bus + search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. + """ + + +class SearchSearchItemTriggerABusLinDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + + Description: + - This command sets or queries the data qualifier used in a LIN bus search. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier {EQual|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusLinDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high data value string used in a LIN bus search. The + search number is specified by x. The search condition must be DATA or IDANDDATA and the + data qualifier must be INRANGE or OUTRANGE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue? + ``` + + Info: + - ```` is a quoted string of 1s, 0s, or Xs representing the binary data string to + be used in a LIN search if the search condition is IDentifier or IDANDDATA (identifier and + data). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusLinData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusLinDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusLinDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._size = SearchSearchItemTriggerABusLinDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusLinDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def hivalue(self) -> SearchSearchItemTriggerABusLinDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high data value string used in a LIN bus search. The + search number is specified by x. The search condition must be DATA or IDANDDATA and + the data qualifier must be INRANGE or OUTRANGE. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue? + ``` + + Info: + - ```` is a quoted string of 1s, 0s, or Xs representing the binary data string + to be used in a LIN search if the search condition is IDentifier or IDANDDATA + (identifier and data). + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusLinDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + + Description: + - This command sets or queries the data qualifier used in a LIN bus search. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier {EQual|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier out of range. + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> SearchSearchItemTriggerABusLinDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the stat string in bytes used for a LIN bus + search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusLinDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue`` command. + + Description: + - This command sets or queries the data string used for a LIN bus search. The search + number is specified by x. The search condition must be DATA or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. + """ + return self._value + + +class SearchSearchItemTriggerABusLinCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition`` command. + + Description: + - This command sets or queries the condition for a LIN bus search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition {DATA|IDANDDATA|ERRor|IDentifier|SLEEP|SYNCfield|WAKEup} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition? + ``` + + Info: + - ``DATA`` sets the trigger condition to data. + - ``IDANDDATA`` sets the trigger condition to ID and data. + - ``ERRor`` sets the trigger condition to error. + - ``IDentifier`` sets the trigger condition to identifier. + - ``SLEEP`` sets the trigger condition to sleep. + - ``SYNCfield`` sets the trigger condition to sync field. + - ``WAKEup`` sets the trigger condition to wakeup. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusLin(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE`` command. + - ``.identifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusLinCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusLinData(device, f"{self._cmd_syntax}:DATa") + self._errtype = SearchSearchItemTriggerABusLinErrtype(device, f"{self._cmd_syntax}:ERRTYPE") + self._identifier = SearchSearchItemTriggerABusLinIdentifier( + device, f"{self._cmd_syntax}:IDentifier" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusLinCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition`` command. + + Description: + - This command sets or queries the condition for a LIN bus search. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition {DATA|IDANDDATA|ERRor|IDentifier|SLEEP|SYNCfield|WAKEup} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition? + ``` + + Info: + - ``DATA`` sets the trigger condition to data. + - ``IDANDDATA`` sets the trigger condition to ID and data. + - ``ERRor`` sets the trigger condition to error. + - ``IDentifier`` sets the trigger condition to identifier. + - ``SLEEP`` sets the trigger condition to sleep. + - ``SYNCfield`` sets the trigger condition to sync field. + - ``WAKEup`` sets the trigger condition to wakeup. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusLinData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa:VALue`` command. + """ + return self._data + + @property + def errtype(self) -> SearchSearchItemTriggerABusLinErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE`` command. + + Description: + - This command sets or queries the error type for a LIN bus search. The search number is + specified by x. The search condition must be set to ERROR. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE {CHecksum|PARity|SYNC} + - SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE? + ``` + + Info: + - ``CHecksum`` specifies the error type is checksum. + - ``PARity`` specifies the error type is parity. + - ``SYNC`` specifies the error type is sync. + """ + return self._errtype + + @property + def identifier(self) -> SearchSearchItemTriggerABusLinIdentifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier:VALue`` command. + """ + return self._identifier + + +class SearchSearchItemTriggerABusI3cTestmodeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is TESTMODE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cTestmode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cTestmodeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cTestmodeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is TESTMODE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cSupportbyteValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is SUPPORTEDBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cSupportbyte(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cSupportbyteValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cSupportbyteValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is SUPPORTEDBYTE. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cStaticAddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is STATICADDRESS. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the address value for which to search. The valid characters are 0, + 1, or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cStatic(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusI3cStaticAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusI3cStaticAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is STATICADDRESS. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the address value for which to search. The valid characters + are 0, 1, or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._address + + +class SearchSearchItemTriggerABusI3cStatebyteValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is STATEBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cStatebyte(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cStatebyteValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cStatebyteValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is STATEBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cSdrDirectpacket(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` command. + + Description: + - This command sets or queries the SDR direct packet types for the specified I3C bus trigger + search to determine where to place a mark. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket {ENSLave|DISLave|ENTasx|RSTDya|SETMwrl|SETMrdl|SEText|SETDya|SETNdya|GETMWrl|GETMRdl|GETPrid|GETBusch|GETDevch|GETSlave|ACCM|SETBrt|MDATASpeed|HDRCapability} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket? + ``` + + Info: + - ``Search`` specifies the search number. + - ``ENSLave`` specifies the trigger condition as Enable Slave. + - ``DISLave`` specifies the trigger condition as Disable Slave. + - ``ENTasx`` specifies the trigger condition as Enter Activity State. + - ``RSTDya`` specifies the trigger condition as Reset Dynamic Address. + - ``SETMwrl`` specifies the trigger condition as Set Max Write Length. + - ``SETMrdl`` specifies the trigger condition as Set Max Read Length. + - ``SEText`` specifies the trigger condition as Set Exchange Time. + - ``SETDya`` specifies the trigger condition as Set Dynamic Address. + - ``SETNdya`` specifies the trigger condition as Set New Dynamic Address. + - ``GETMWrl`` specifies the trigger condition as Get Max Write Length. + - ``GETMRdl`` specifies the trigger condition as Get Max Read Length. + - ``GETPrid`` specifies the trigger condition as Get Provisional ID. + - ``GETBusch`` specifies the trigger condition as Get Provisional ID. + - ``GETDevch`` specifies the trigger condition as Get Dev Characteristics. + - ``GETSlave`` specifies the trigger condition as Get Slave Current Status. + - ``ACCM`` specifies the trigger condition as Get Accept Mastership. + - ``SETBrt`` specifies the trigger condition as Set Bridge Direct Target. + - ``MDATASpeed`` specifies the trigger condition as Get Max Data Speed. + - ``HDRCapability`` specifies the trigger condition as Get HDR Capability. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusI3cSdrBroadcastpacket(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` command. + + Description: + - This command sets or queries the SDR broadcast packets for the specified I3C bus trigger + search to determine where to place a mark. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket {ENSLave|DISLave|ENTasx|RSTDya|ENTRDya|SETMwrl|SETMrdl|LSLave|ENTRTSTMode|EXTime>} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket? + ``` + + Info: + - ``Search`` specifies the search number. + - ``ENSLave`` specifies the I3C broadcast packet type as Enable Slave. + - ``DISLave`` specifies the I3C broadcast packet type as Disable Slave. + - ``ENTasx`` specifies the I3C broadcast packet type as Enter Activity Stat. + - ``RSTDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. + - ``ENTRDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. + - ``SETMwrl`` specifies the I3C broadcast packet type as Set Max Write Length. + - ``SETMrdl`` specifies the I3C broadcast packet type as Set Max Read Length. + - ``LSLave`` specifies the I3C broadcast packet type as Define List of Slaves. + - ``ENTRTSTMode`` specifies the I3C broadcast packet type as Enter Test Mode Broadcast. + - ``EXTime`` specifies the I3C broadcast packet type as Set Exchange Time. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusI3cSdr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.broadcastpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` + command. + - ``.directpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._broadcastpacket = SearchSearchItemTriggerABusI3cSdrBroadcastpacket( + device, f"{self._cmd_syntax}:BROADCASTPacket" + ) + self._directpacket = SearchSearchItemTriggerABusI3cSdrDirectpacket( + device, f"{self._cmd_syntax}:DIRECTPacket" + ) + + @property + def broadcastpacket(self) -> SearchSearchItemTriggerABusI3cSdrBroadcastpacket: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` command. + + Description: + - This command sets or queries the SDR broadcast packets for the specified I3C bus + trigger search to determine where to place a mark. Requires purchase and installation + of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket {ENSLave|DISLave|ENTasx|RSTDya|ENTRDya|SETMwrl|SETMrdl|LSLave|ENTRTSTMode|EXTime>} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket? + ``` + + Info: + - ``Search`` specifies the search number. + - ``ENSLave`` specifies the I3C broadcast packet type as Enable Slave. + - ``DISLave`` specifies the I3C broadcast packet type as Disable Slave. + - ``ENTasx`` specifies the I3C broadcast packet type as Enter Activity Stat. + - ``RSTDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. + - ``ENTRDya`` specifies the I3C broadcast packet type as Reset Dynamic Address. + - ``SETMwrl`` specifies the I3C broadcast packet type as Set Max Write Length. + - ``SETMrdl`` specifies the I3C broadcast packet type as Set Max Read Length. + - ``LSLave`` specifies the I3C broadcast packet type as Define List of Slaves. + - ``ENTRTSTMode`` specifies the I3C broadcast packet type as Enter Test Mode Broadcast. + - ``EXTime`` specifies the I3C broadcast packet type as Set Exchange Time. + """ # noqa: E501 + return self._broadcastpacket + + @property + def directpacket(self) -> SearchSearchItemTriggerABusI3cSdrDirectpacket: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` command. + + Description: + - This command sets or queries the SDR direct packet types for the specified I3C bus + trigger search to determine where to place a mark. Requires purchase and installation + of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket {ENSLave|DISLave|ENTasx|RSTDya|SETMwrl|SETMrdl|SEText|SETDya|SETNdya|GETMWrl|GETMRdl|GETPrid|GETBusch|GETDevch|GETSlave|ACCM|SETBrt|MDATASpeed|HDRCapability} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket? + ``` + + Info: + - ``Search`` specifies the search number. + - ``ENSLave`` specifies the trigger condition as Enable Slave. + - ``DISLave`` specifies the trigger condition as Disable Slave. + - ``ENTasx`` specifies the trigger condition as Enter Activity State. + - ``RSTDya`` specifies the trigger condition as Reset Dynamic Address. + - ``SETMwrl`` specifies the trigger condition as Set Max Write Length. + - ``SETMrdl`` specifies the trigger condition as Set Max Read Length. + - ``SEText`` specifies the trigger condition as Set Exchange Time. + - ``SETDya`` specifies the trigger condition as Set Dynamic Address. + - ``SETNdya`` specifies the trigger condition as Set New Dynamic Address. + - ``GETMWrl`` specifies the trigger condition as Get Max Write Length. + - ``GETMRdl`` specifies the trigger condition as Get Max Read Length. + - ``GETPrid`` specifies the trigger condition as Get Provisional ID. + - ``GETBusch`` specifies the trigger condition as Get Provisional ID. + - ``GETDevch`` specifies the trigger condition as Get Dev Characteristics. + - ``GETSlave`` specifies the trigger condition as Get Slave Current Status. + - ``ACCM`` specifies the trigger condition as Get Accept Mastership. + - ``SETBrt`` specifies the trigger condition as Set Bridge Direct Target. + - ``MDATASpeed`` specifies the trigger condition as Get Max Data Speed. + - ``HDRCapability`` specifies the trigger condition as Get HDR Capability. + """ # noqa: E501 + return self._directpacket + + +class SearchSearchItemTriggerABusI3cSaddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus searchif the + trigger condition is SLAVEADDRESS. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the address value for which to search. The valid characters are 0, + 1, or X for Binary format; and A-F, 0-9, and X for Hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusI3cSaddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cSaddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cSaddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus searchif the + trigger condition is SLAVEADDRESS. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the address value for which to search. The valid characters + are 0, 1, or X for Binary format; and A-F, 0-9, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cPackets(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets`` command. + + Description: + - This command sets or queries the I3C Direct Packets to Direct or Response. Requires + purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets {RESPonse|DIRect} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets? + ``` + + Info: + - ``Search`` specifies the search number. + - ``RESPonse`` specifies the packet address mode as Response. + - ``DIRect`` specifies the packet address mode as Direct. + """ + + +class SearchSearchItemTriggerABusI3cMaxwriteValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is MAXWRITE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cMaxwrite(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cMaxwriteValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cMaxwriteValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is MAXWRITE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cMaxrturnValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is MAXREADTURN. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cMaxrturn(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cMaxrturnValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cMaxrturnValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is MAXREADTURN. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cMaxreadValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is MAXREAD. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cMaxread(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cMaxreadValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cMaxreadValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is MAXREAD. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cInaccbyteValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is INACCURACYBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cInaccbyte(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cInaccbyteValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cInaccbyteValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is INACCURACYBYTE. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cIdValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is ENTDAA packet ID. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cId(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cIdValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cIdValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is ENTDAA packet ID. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cGsmsbValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is GETSTATUSMSB. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cGsmsb(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cGsmsbValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cGsmsbValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is GETSTATUSMSB. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cGslsbValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is GETSTATUSLSB. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cGslsb(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cGslsbValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cGslsbValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is GETSTATUSLSB. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cFreqbyteValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is FREQUENCYBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cFreqbyte(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cFreqbyteValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cFreqbyteValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is FREQUENCYBYTE. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cEventbyteValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is EVENTBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cEventbyte(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cEventbyteValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cEventbyteValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is EVENTBYTE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cErrortype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe`` command. + + Description: + - This command sets or queries the error type condition for the specified I3C bus search to + determine where to place a mark. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe {NACK|TBIT|PARity|BADDr|DADDr|PREamble|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe? + ``` + + Info: + - ``Search`` specifies the search number. + - ``NACK`` specifies the error type on which to search as Missing Ack. + - ``TBIT`` specifies the error type on which to search as T-Bit. + - ``PARity`` specifies the error type on which to search as Parity. + - ``BADDr`` specifies the error type on which to search as Broadcast Address. + - ``DADDr`` specifies the error type on which to search as Dynamic Address. + - ``PREamble`` specifies the error type on which to search as Preamble. + - ``CRC`` specifies the error type on which to search as CRC. + """ + + +class SearchSearchItemTriggerABusI3cDwordValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is DATAWORDS. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cDword(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cDwordValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cDwordValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is DATAWORDS. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cDcrtypeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus search if the + trigger condition is DCRTYPE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cDcrtype(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cDcrtypeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cDcrtypeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus search if + the trigger condition is DCRTYPE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data value for which to search. The valid characters are + 0, 1, or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cDcrValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus search if the + trigger condition is DCR. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cDcr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cDcrValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cDcrValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus search if + the trigger condition is DCR. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue`` command. + + Description: + - This command sets or queries the data value of the data token for the specified I3C bus + trigger search to determine where to place a mark. Requires purchase and installation of + option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data value. The valid characters are 0, 1, or X for Binary + format; and A-F, 0-9, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes used for the specified + I3C bus trigger search to determine where to place a mark. Requires purchase and + installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data size in bytes. + """ + + +class SearchSearchItemTriggerABusI3cDataDirection(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection`` command. + + Description: + - This command sets or queries the direction of the data for the I3C bus trigger search to + determine where to place a mark. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection {NOCARE|READ|WRITE} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection? + ``` + + Info: + - ``Search`` specifies the search number. + - ``NOCARE`` specifies the data direction for which to search is Don't Care. + - ``READ`` specifies the data direction for which to search is Read. + - ``WRITE`` specifies the data direction for which to search is Write. + """ + + +class SearchSearchItemTriggerABusI3cData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.direction``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = SearchSearchItemTriggerABusI3cDataDirection( + device, f"{self._cmd_syntax}:DIRection" + ) + self._size = SearchSearchItemTriggerABusI3cDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusI3cDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> SearchSearchItemTriggerABusI3cDataDirection: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection`` command. + + Description: + - This command sets or queries the direction of the data for the I3C bus trigger search + to determine where to place a mark. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection {NOCARE|READ|WRITE} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection? + ``` + + Info: + - ``Search`` specifies the search number. + - ``NOCARE`` specifies the data direction for which to search is Don't Care. + - ``READ`` specifies the data direction for which to search is Read. + - ``WRITE`` specifies the data direction for which to search is Write. + """ + return self._direction + + @property + def size(self) -> SearchSearchItemTriggerABusI3cDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes used for the + specified I3C bus trigger search to determine where to place a mark. Requires purchase + and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data size in bytes. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusI3cDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue`` command. + + Description: + - This command sets or queries the data value of the data token for the specified I3C + bus trigger search to determine where to place a mark. Requires purchase and + installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data value. The valid characters are 0, 1, or X for Binary + format; and A-F, 0-9, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for the specified I3C bus trigger + search to determine where to place a mark. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition {STARt|REPEATStart|ADDRess|DATa|SDRDirect|SDRBroadcast|DDR|ERRors|HOTJoin|DMSGEnd|BMSGEnd|HDRRestart|HDRExit} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition? + ``` + + Info: + - ``Search`` specifies the search number. + - ``STARt`` specifies trigger condition as Start. + - ``REPEATStart`` specifies trigger condition as Repeated Start. + - ``ADDRess`` specifies trigger condition as Address. + - ``DATa`` specifies trigger condition as Data. + - ``SDRDirect`` specifies trigger condition as I3C SDR Direct. + - ``SDRBroadcast`` specifies trigger condition as I3C SDR Broadcast. + - ``DDR`` specifies trigger condition as DDR. + - ``ERRors`` specifies trigger condition as Errors. + - ``HOTJoin`` specifies trigger condition as Hot-Join. + - ``DMSGEnd`` specifies trigger condition as Direct Message End. + - ``BMSGEnd`` specifies trigger condition as Stop. + - ``HDRRestart`` specifies trigger condition as HDR Restart. + - ``HDRExit`` specifies trigger condition as HDR Exit. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusI3cCcodeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is SETBRGTGT packet ID. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and A-F, 0-9, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cCcode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cCcodeValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cCcodeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is SETBRGTGT packet ID. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and A-F, 0-9, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cBrgtidValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is SETBRGTGT packet ID. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cBrgtid(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cBrgtidValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cBrgtidValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C trigger if the + trigger condition is SETBRGTGT packet ID. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cBpackets(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets`` command. + + Description: + - This command sets or queries the I3C Broadcast Packets search to Broadcast or Response. + Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets {RESPonse|BROadcast} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets? + ``` + + Info: + - ``Search`` specifies the search number. + - ``RESPonse`` specifies the broadcast address mode as Response. + - ``BROadcast`` specifies the broadcast address mode as Broadcast. + """ + + +class SearchSearchItemTriggerABusI3cBcrtypeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus search if the + trigger condition is BCRTYPE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cBcrtype(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cBcrtypeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusI3cBcrtypeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C bus search if + the trigger condition is BCRTYPE. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the data value for which to search. The valid characters are + 0, 1, or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cBcrValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is BCR. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, or X + for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + + +class SearchSearchItemTriggerABusI3cBcr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusI3cBcrValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusI3cBcrValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue`` command. + + Description: + - This command sets or queries the binary field string used for the I3C search if the + trigger condition is BCR. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the value for which to search. The valid characters are 0, 1, + or X for Binary format; and 0-9, A-F, and X for Hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI3cAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue`` command. + + Description: + - This command sets or queries the I3C address value for which to search, to determine where + to place a search mark. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the address value for the specified Search . This is either a + 7-bit or 10-bit value depending on the address mode. The valid characters are 0-9, A-F, + and X for Hexadecimal address format; and 0, 1, and X (don't care) for Binary address + format. + """ + + +class SearchSearchItemTriggerABusI3cAddressMode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe`` command. + + Description: + - This command sets or queries the address mode for the specified I3C bus trigger search to + determine where to place a search mark. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe {ADDR10|ADDR7} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe? + ``` + + Info: + - ``Search`` specifies the search number. + - ``ADDR10`` specifies the address mode as ADDR10. + - ``ADDR7`` specifies the address mode as ADDR7. + """ + + +class SearchSearchItemTriggerABusI3cAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = SearchSearchItemTriggerABusI3cAddressMode(device, f"{self._cmd_syntax}:MODe") + self._value = SearchSearchItemTriggerABusI3cAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def mode(self) -> SearchSearchItemTriggerABusI3cAddressMode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe`` command. + + Description: + - This command sets or queries the address mode for the specified I3C bus trigger search + to determine where to place a search mark. Requires purchase and installation of + option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe {ADDR10|ADDR7} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe? + ``` + + Info: + - ``Search`` specifies the search number. + - ``ADDR10`` specifies the address mode as ADDR10. + - ``ADDR7`` specifies the address mode as ADDR7. + """ + return self._mode + + @property + def value(self) -> SearchSearchItemTriggerABusI3cAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue`` command. + + Description: + - This command sets or queries the I3C address value for which to search, to determine + where to place a search mark. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue? + ``` + + Info: + - ``Search`` specifies the search number. + - ```` specifies the address value for the specified Search . This is either + a 7-bit or 10-bit value depending on the address mode. The valid characters are 0-9, + A-F, and X for Hexadecimal address format; and 0, 1, and X (don't care) for Binary + address format. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class SearchSearchItemTriggerABusI3c(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess`` command tree. + - ``.bcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR`` command tree. + - ``.bcrtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType`` command tree. + - ``.bpackets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets`` command. + - ``.brgtid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID`` command tree. + - ``.ccode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa`` command tree. + - ``.dcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR`` command tree. + - ``.dcrtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType`` command tree. + - ``.dword``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd`` command tree. + - ``.errortype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe`` command. + - ``.eventbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe`` command tree. + - ``.freqbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe`` command tree. + - ``.gslsb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb`` command tree. + - ``.gsmsb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb`` command tree. + - ``.id``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID`` command tree. + - ``.inaccbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe`` command tree. + - ``.maxread``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD`` command tree. + - ``.maxrturn``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN`` command tree. + - ``.maxwrite``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe`` command tree. + - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets`` command. + - ``.saddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress`` command tree. + - ``.sdr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. + - ``.statebyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. + - ``.static``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic`` command tree. + - ``.supportbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe`` command tree. + - ``.testmode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusI3cAddress(device, f"{self._cmd_syntax}:ADDRess") + self._bcr = SearchSearchItemTriggerABusI3cBcr(device, f"{self._cmd_syntax}:BCR") + self._bcrtype = SearchSearchItemTriggerABusI3cBcrtype(device, f"{self._cmd_syntax}:BCRType") + self._bpackets = SearchSearchItemTriggerABusI3cBpackets( + device, f"{self._cmd_syntax}:BPACKets" + ) + self._brgtid = SearchSearchItemTriggerABusI3cBrgtid(device, f"{self._cmd_syntax}:BRGTID") + self._ccode = SearchSearchItemTriggerABusI3cCcode(device, f"{self._cmd_syntax}:CCODe") + self._condition = SearchSearchItemTriggerABusI3cCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusI3cData(device, f"{self._cmd_syntax}:DATa") + self._dcr = SearchSearchItemTriggerABusI3cDcr(device, f"{self._cmd_syntax}:DCR") + self._dcrtype = SearchSearchItemTriggerABusI3cDcrtype(device, f"{self._cmd_syntax}:DCRType") + self._dword = SearchSearchItemTriggerABusI3cDword(device, f"{self._cmd_syntax}:DWORd") + self._errortype = SearchSearchItemTriggerABusI3cErrortype( + device, f"{self._cmd_syntax}:ERRORTYPe" + ) + self._eventbyte = SearchSearchItemTriggerABusI3cEventbyte( + device, f"{self._cmd_syntax}:EVENTBYTe" + ) + self._freqbyte = SearchSearchItemTriggerABusI3cFreqbyte( + device, f"{self._cmd_syntax}:FREQBYTe" + ) + self._gslsb = SearchSearchItemTriggerABusI3cGslsb(device, f"{self._cmd_syntax}:GSLSb") + self._gsmsb = SearchSearchItemTriggerABusI3cGsmsb(device, f"{self._cmd_syntax}:GSMSb") + self._id = SearchSearchItemTriggerABusI3cId(device, f"{self._cmd_syntax}:ID") + self._inaccbyte = SearchSearchItemTriggerABusI3cInaccbyte( + device, f"{self._cmd_syntax}:INACCBYTe" + ) + self._maxread = SearchSearchItemTriggerABusI3cMaxread(device, f"{self._cmd_syntax}:MAXREAD") + self._maxrturn = SearchSearchItemTriggerABusI3cMaxrturn( + device, f"{self._cmd_syntax}:MAXRTURN" + ) + self._maxwrite = SearchSearchItemTriggerABusI3cMaxwrite( + device, f"{self._cmd_syntax}:MAXWRITe" + ) + self._packets = SearchSearchItemTriggerABusI3cPackets(device, f"{self._cmd_syntax}:PACKets") + self._saddress = SearchSearchItemTriggerABusI3cSaddress( + device, f"{self._cmd_syntax}:SADDress" + ) + self._sdr = SearchSearchItemTriggerABusI3cSdr(device, f"{self._cmd_syntax}:SDR") + self._statebyte = SearchSearchItemTriggerABusI3cStatebyte( + device, f"{self._cmd_syntax}:STATEBYTe" + ) + self._static = SearchSearchItemTriggerABusI3cStatic(device, f"{self._cmd_syntax}:STATic") + self._supportbyte = SearchSearchItemTriggerABusI3cSupportbyte( + device, f"{self._cmd_syntax}:SUPPORTBYTe" + ) + self._testmode = SearchSearchItemTriggerABusI3cTestmode( + device, f"{self._cmd_syntax}:TESTMODe" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusI3cAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:MODe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess:VALue`` command. + """ + return self._address + + @property + def bcr(self) -> SearchSearchItemTriggerABusI3cBcr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR:VALue`` command. + """ + return self._bcr + + @property + def bcrtype(self) -> SearchSearchItemTriggerABusI3cBcrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType:VALue`` command. + """ + return self._bcrtype + + @property + def bpackets(self) -> SearchSearchItemTriggerABusI3cBpackets: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets`` command. + + Description: + - This command sets or queries the I3C Broadcast Packets search to Broadcast or + Response. Requires purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets {RESPonse|BROadcast} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets? + ``` + + Info: + - ``Search`` specifies the search number. + - ``RESPonse`` specifies the broadcast address mode as Response. + - ``BROadcast`` specifies the broadcast address mode as Broadcast. + """ + return self._bpackets + + @property + def brgtid(self) -> SearchSearchItemTriggerABusI3cBrgtid: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID:VALue`` command. + """ + return self._brgtid + + @property + def ccode(self) -> SearchSearchItemTriggerABusI3cCcode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe:VALue`` command. + """ + return self._ccode + + @property + def condition(self) -> SearchSearchItemTriggerABusI3cCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for the specified I3C bus trigger + search to determine where to place a mark. Requires purchase and installation of + option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition {STARt|REPEATStart|ADDRess|DATa|SDRDirect|SDRBroadcast|DDR|ERRors|HOTJoin|DMSGEnd|BMSGEnd|HDRRestart|HDRExit} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition? + ``` + + Info: + - ``Search`` specifies the search number. + - ``STARt`` specifies trigger condition as Start. + - ``REPEATStart`` specifies trigger condition as Repeated Start. + - ``ADDRess`` specifies trigger condition as Address. + - ``DATa`` specifies trigger condition as Data. + - ``SDRDirect`` specifies trigger condition as I3C SDR Direct. + - ``SDRBroadcast`` specifies trigger condition as I3C SDR Broadcast. + - ``DDR`` specifies trigger condition as DDR. + - ``ERRors`` specifies trigger condition as Errors. + - ``HOTJoin`` specifies trigger condition as Hot-Join. + - ``DMSGEnd`` specifies trigger condition as Direct Message End. + - ``BMSGEnd`` specifies trigger condition as Stop. + - ``HDRRestart`` specifies trigger condition as HDR Restart. + - ``HDRExit`` specifies trigger condition as HDR Exit. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusI3cData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:DIRection`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa:VALue`` command. + """ + return self._data + + @property + def dcr(self) -> SearchSearchItemTriggerABusI3cDcr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR:VALue`` command. + """ + return self._dcr + + @property + def dcrtype(self) -> SearchSearchItemTriggerABusI3cDcrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType:VALue`` command. + """ + return self._dcrtype + + @property + def dword(self) -> SearchSearchItemTriggerABusI3cDword: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd:VALue`` command. + """ + return self._dword + + @property + def errortype(self) -> SearchSearchItemTriggerABusI3cErrortype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe`` command. + + Description: + - This command sets or queries the error type condition for the specified I3C bus search + to determine where to place a mark. Requires purchase and installation of option + SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe {NACK|TBIT|PARity|BADDr|DADDr|PREamble|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe? + ``` + + Info: + - ``Search`` specifies the search number. + - ``NACK`` specifies the error type on which to search as Missing Ack. + - ``TBIT`` specifies the error type on which to search as T-Bit. + - ``PARity`` specifies the error type on which to search as Parity. + - ``BADDr`` specifies the error type on which to search as Broadcast Address. + - ``DADDr`` specifies the error type on which to search as Dynamic Address. + - ``PREamble`` specifies the error type on which to search as Preamble. + - ``CRC`` specifies the error type on which to search as CRC. + """ # noqa: E501 + return self._errortype + + @property + def eventbyte(self) -> SearchSearchItemTriggerABusI3cEventbyte: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe:VALue`` command. + """ + return self._eventbyte + + @property + def freqbyte(self) -> SearchSearchItemTriggerABusI3cFreqbyte: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe:VALue`` command. + """ + return self._freqbyte + + @property + def gslsb(self) -> SearchSearchItemTriggerABusI3cGslsb: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb:VALue`` command. + """ + return self._gslsb + + @property + def gsmsb(self) -> SearchSearchItemTriggerABusI3cGsmsb: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb:VALue`` command. + """ + return self._gsmsb + + @property + def id(self) -> SearchSearchItemTriggerABusI3cId: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID:VALue`` command. + """ + return self._id + + @property + def inaccbyte(self) -> SearchSearchItemTriggerABusI3cInaccbyte: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe:VALue`` command. + """ + return self._inaccbyte + + @property + def maxread(self) -> SearchSearchItemTriggerABusI3cMaxread: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD:VALue`` command. + """ + return self._maxread + + @property + def maxrturn(self) -> SearchSearchItemTriggerABusI3cMaxrturn: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN:VALue`` command. + """ + return self._maxrturn + + @property + def maxwrite(self) -> SearchSearchItemTriggerABusI3cMaxwrite: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue`` command. + """ + return self._maxwrite + + @property + def packets(self) -> SearchSearchItemTriggerABusI3cPackets: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets`` command. + + Description: + - This command sets or queries the I3C Direct Packets to Direct or Response. Requires + purchase and installation of option SRI3C. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets {RESPonse|DIRect} + - SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets? + ``` + + Info: + - ``Search`` specifies the search number. + - ``RESPonse`` specifies the packet address mode as Response. + - ``DIRect`` specifies the packet address mode as Direct. + """ + return self._packets + + @property + def saddress(self) -> SearchSearchItemTriggerABusI3cSaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue`` command. + """ + return self._saddress + + @property + def sdr(self) -> SearchSearchItemTriggerABusI3cSdr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.broadcastpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket`` + command. + - ``.directpacket``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket`` + command. + """ + return self._sdr + + @property + def statebyte(self) -> SearchSearchItemTriggerABusI3cStatebyte: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue`` command. + """ + return self._statebyte + + @property + def static(self) -> SearchSearchItemTriggerABusI3cStatic: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess`` command. + """ + return self._static + + @property + def supportbyte(self) -> SearchSearchItemTriggerABusI3cSupportbyte: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue`` command. + """ + return self._supportbyte + + @property + def testmode(self) -> SearchSearchItemTriggerABusI3cTestmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe:VALue`` command. + """ + return self._testmode + + +class SearchSearchItemTriggerABusI2cDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data string used for I2C bus search to determine + where to place a mark. The search number is specified by x. The search condition must be + DATA or ADDRANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. The valid characters are 0, 1, or X for binary + format; and A-F, 0-9, and X for hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusI2cDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes used for an I2C bus + search to determine where to place a mark. The search number is specified by x. The search + condition must be DATA or ADDRANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size in bytes. + """ + + +class SearchSearchItemTriggerABusI2cDataDirection(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection`` command. + + Description: + - This command sets or queries the direction of the data for the I2C bus search to determine + where to place a mark. The search number is specified by x. Read or write is indicated by + the R/W bit in the I2C protocol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection {NOCARE|READ|WRITE} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection? + ``` + + Info: + - ``NOCARE`` specifies the direction of data as Don't Care. + - ``READ`` specifies the direction of data as Read. + - ``WRITE`` specifies the direction of data as Write. + """ + + +class SearchSearchItemTriggerABusI2cData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.direction``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = SearchSearchItemTriggerABusI2cDataDirection( + device, f"{self._cmd_syntax}:DIRection" + ) + self._size = SearchSearchItemTriggerABusI2cDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusI2cDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> SearchSearchItemTriggerABusI2cDataDirection: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection`` command. + + Description: + - This command sets or queries the direction of the data for the I2C bus search to + determine where to place a mark. The search number is specified by x. Read or write is + indicated by the R/W bit in the I2C protocol. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection {NOCARE|READ|WRITE} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection? + ``` + + Info: + - ``NOCARE`` specifies the direction of data as Don't Care. + - ``READ`` specifies the direction of data as Read. + - ``WRITE`` specifies the direction of data as Write. + """ + return self._direction + + @property + def size(self) -> SearchSearchItemTriggerABusI2cDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string in bytes used for an I2C + bus search to determine where to place a mark. The search number is specified by x. + The search condition must be DATA or ADDRANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size in bytes. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusI2cDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data string used for I2C bus search to + determine where to place a mark. The search number is specified by x. The search + condition must be DATA or ADDRANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. The valid characters are 0, 1, or X for binary + format; and A-F, 0-9, and X for hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusI2cCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition`` command. + + Description: + - This command sets or queries the search condition for an I2C bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition {ADDRess|ADDRANDDATA|DATa|ACKMISS|REPEATstart|STARt|STOP} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition? + ``` + + Info: + - ``ADDress`` specifies the trigger condition as Address. + - ``ADDRANDDATA`` specifies the trigger condition as Address and Data. + - ``DATa`` specifies the trigger condition as Data. + - ``ACKMISS`` specifies the trigger condition as Missing of Acknowledgement. + - ``REPEATstart`` specifies the trigger condition as Repeat of Start. + - ``STARt`` specifies the trigger condition as Start. + - ``STOP`` specifies the trigger condition as Stop. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusI2cAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue`` command. + + Description: + - This command sets or queries the binary address string used for the I2C search the + specified search condition is Address or AddressData. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue? + ``` + + Info: + - ```` specifies the address value. This is either a 7-bit or 10-bit value + depending on the address mode. The valid characters are 0-9, A-F, and X for addresses in + hexadecimal format; and 0, 1, and X otherwise. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusI2cAddressMode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe`` command. + + Description: + - This command sets or queries the I2C address mode for the specified bus search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe {ADDR10|ADDR7} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe? + ``` + + Info: + - ``ADDR10`` specifies the address mode as ADDR10. + - ``ADDR7`` specifies the address mode as ADDR7. + """ + + +class SearchSearchItemTriggerABusI2cAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = SearchSearchItemTriggerABusI2cAddressMode(device, f"{self._cmd_syntax}:MODe") + self._value = SearchSearchItemTriggerABusI2cAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def mode(self) -> SearchSearchItemTriggerABusI2cAddressMode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe`` command. + + Description: + - This command sets or queries the I2C address mode for the specified bus search to + determine where to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe {ADDR10|ADDR7} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe? + ``` + + Info: + - ``ADDR10`` specifies the address mode as ADDR10. + - ``ADDR7`` specifies the address mode as ADDR7. + """ + return self._mode + + @property + def value(self) -> SearchSearchItemTriggerABusI2cAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue`` command. + + Description: + - This command sets or queries the binary address string used for the I2C search the + specified search condition is Address or AddressData. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue? + ``` + + Info: + - ```` specifies the address value. This is either a 7-bit or 10-bit value + depending on the address mode. The valid characters are 0-9, A-F, and X for addresses + in hexadecimal format; and 0, 1, and X otherwise. + """ + return self._value + + +class SearchSearchItemTriggerABusI2c(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusI2cAddress(device, f"{self._cmd_syntax}:ADDRess") + self._condition = SearchSearchItemTriggerABusI2cCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusI2cData(device, f"{self._cmd_syntax}:DATa") + + @property + def address(self) -> SearchSearchItemTriggerABusI2cAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:MODe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess:VALue`` command. + """ + return self._address + + @property + def condition(self) -> SearchSearchItemTriggerABusI2cCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition`` command. + + Description: + - This command sets or queries the search condition for an I2C bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition {ADDRess|ADDRANDDATA|DATa|ACKMISS|REPEATstart|STARt|STOP} + - SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition? + ``` + + Info: + - ``ADDress`` specifies the trigger condition as Address. + - ``ADDRANDDATA`` specifies the trigger condition as Address and Data. + - ``DATa`` specifies the trigger condition as Data. + - ``ACKMISS`` specifies the trigger condition as Missing of Acknowledgement. + - ``REPEATstart`` specifies the trigger condition as Repeat of Start. + - ``STARt`` specifies the trigger condition as Start. + - ``STOP`` specifies the trigger condition as Stop. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusI2cData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:DIRection`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa:VALue`` command. + """ + return self._data + + +class SearchSearchItemTriggerABusFlexrayHeaderPaylength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + + Description: + - This command sets or queries the payload length portion of the binary header string when + searching on a FlexRay bus search trigger header. The search number is specified by x. The + search condition must be set to HEADer. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth? + ``` + + Info: + - ```` specifies the header Payload Length. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayHeaderIndbits(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + + Description: + - This command sets or queries the Indicator bits portion of the binary header string when + searching on a FlexRay bus header. The search number is specified by x. The search + condition must be set to HEADer. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits? + ``` + + Info: + - ```` specifies the header Indicator Bits. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayHeaderFrameid(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + + Description: + - This command sets or queries the frame id portion of the binary header string when + searching on a FlexRay bus header. The search number is specified by x. The search + condition must be set to HEADer or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID? + ``` + + Info: + - ```` specifies the frame ID. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayHeaderCyclecount(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + + Description: + - This command sets or queries the cycle count portion of the binary header string when + searching on a FlexRay bus header. The search number is specified by x. The search + condition must be set to HEADer. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount? + ``` + + Info: + - ```` specifies the header cycle count. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayHeaderCrc(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + + Description: + - This command sets or queries the CRC portion of the binary header string whensearching on + a FlexRay bus header. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC? + ``` + + Info: + - ```` specifies the CRC. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayHeader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.crc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + - ``.cyclecount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + - ``.frameid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + - ``.indbits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + - ``.paylength``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._crc = SearchSearchItemTriggerABusFlexrayHeaderCrc(device, f"{self._cmd_syntax}:CRC") + self._cyclecount = SearchSearchItemTriggerABusFlexrayHeaderCyclecount( + device, f"{self._cmd_syntax}:CYCLECount" + ) + self._frameid = SearchSearchItemTriggerABusFlexrayHeaderFrameid( + device, f"{self._cmd_syntax}:FRAMEID" + ) + self._indbits = SearchSearchItemTriggerABusFlexrayHeaderIndbits( + device, f"{self._cmd_syntax}:INDBits" + ) + self._paylength = SearchSearchItemTriggerABusFlexrayHeaderPaylength( + device, f"{self._cmd_syntax}:PAYLENgth" + ) + + @property + def crc(self) -> SearchSearchItemTriggerABusFlexrayHeaderCrc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + + Description: + - This command sets or queries the CRC portion of the binary header string whensearching + on a FlexRay bus header. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC? + ``` + + Info: + - ```` specifies the CRC. + """ + return self._crc + + @property + def cyclecount(self) -> SearchSearchItemTriggerABusFlexrayHeaderCyclecount: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` command. + + Description: + - This command sets or queries the cycle count portion of the binary header string when + searching on a FlexRay bus header. The search number is specified by x. The search + condition must be set to HEADer. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount? + ``` + + Info: + - ```` specifies the header cycle count. + """ + return self._cyclecount + + @property + def frameid(self) -> SearchSearchItemTriggerABusFlexrayHeaderFrameid: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + + Description: + - This command sets or queries the frame id portion of the binary header string when + searching on a FlexRay bus header. The search number is specified by x. The search + condition must be set to HEADer or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID? + ``` + + Info: + - ```` specifies the frame ID. + """ + return self._frameid + + @property + def indbits(self) -> SearchSearchItemTriggerABusFlexrayHeaderIndbits: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + + Description: + - This command sets or queries the Indicator bits portion of the binary header string + when searching on a FlexRay bus header. The search number is specified by x. The + search condition must be set to HEADer. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits? + ``` + + Info: + - ```` specifies the header Indicator Bits. + """ + return self._indbits + + @property + def paylength(self) -> SearchSearchItemTriggerABusFlexrayHeaderPaylength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` command. + + Description: + - This command sets or queries the payload length portion of the binary header string + when searching on a FlexRay bus search trigger header. The search number is specified + by x. The search condition must be set to HEADer. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth? + ``` + + Info: + - ```` specifies the header Payload Length. + """ + return self._paylength + + +class SearchSearchItemTriggerABusFlexrayFrametype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + + Description: + - This command sets or queries the FlexRay bus search frame type. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType {NORMal|PAYload|NULL|SYNC|STARTup} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType? + ``` + + Info: + - ``NORMal`` sets the frame type to normal. + - ``PAYload`` sets the frame type to payload. + - ``NULL`` sets the frame type to null. + - ``SYNC`` sets the frame type to sync. + - ``STARTup`` sets the frame type to startup. + """ + + +class SearchSearchItemTriggerABusFlexrayFrameidValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue`` command. + + Description: + - This command sets the low value when searching on a FlexRay bus id field. The search + condition must be set to IDentifier. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue? + ``` + + Info: + - ```` is the frame id value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayFrameidQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier`` command. + + Description: + - This command sets the qualifier to be used when searching on a FlexRay bus signal. The + search condition must be set to Identifier. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier? + ``` + + Info: + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to unequal. + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to more than. + - ``LESSEQual`` sets the qualifier to less equal. + - ``MOREEQual`` sets the qualifier to more equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusFlexrayFrameidHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on a FlexRay bus frame id + field. The search condition must be set to IDentifier. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue? + ``` + + Info: + - ```` is the frame id high value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayFrameid(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusFlexrayFrameidHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusFlexrayFrameidQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusFlexrayFrameidValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusFlexrayFrameidHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on a FlexRay bus frame id + field. The search condition must be set to IDentifier. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue? + ``` + + Info: + - ```` is the frame id high value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusFlexrayFrameidQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier`` command. + + Description: + - This command sets the qualifier to be used when searching on a FlexRay bus signal. The + search condition must be set to Identifier. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier? + ``` + + Info: + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to unequal. + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to more than. + - ``LESSEQual`` sets the qualifier to less equal. + - ``MOREEQual`` sets the qualifier to more equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusFlexrayFrameidValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue`` command. + + Description: + - This command sets the low value when searching on a FlexRay bus id field. The search + condition must be set to IDentifier. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue? + ``` + + Info: + - ```` is the frame id value. + """ + return self._value + + +class SearchSearchItemTriggerABusFlexrayErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + + Description: + - This command sets or queries the error type when searching on a FlexRay bus signal. The + search number is specified by x. The search condition must be set to ERROR. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE {CRCHeader|CRCTrailer|NULLFRStatic|NULLFRDynamic|SYNCFrame|STARTupnosync} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE? + ``` + + Info: + - ``CRCHeader`` sets the error type to CRCHeader. + - ``CRCTrailer`` sets the error type to CRCTrailer. + - ``NULLFRStatic`` sets the error type to NULLFRStatic. + - ``NULLFRDynamic`` sets the error type to NULLFRDynamic. + - ``SYNCFrame`` sets the error type to SYNCFrame. + - ``STARTupnosync`` sets the error type to STARTupnosync. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusFlexrayEoftype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + + Description: + - This command sets or queries the end of frame type when searching on a FlexRay bus signal. + The search number is specified by x. The search condition must be set to EOF. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE {ANY|STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE? + ``` + + Info: + - ``ANY`` specifies either end of file type. + - ``STATIC`` specifies the static end of file type. + - ``DYNAMIC`` specifies the static end of file type. + """ + + +class SearchSearchItemTriggerABusFlexrayDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + + Description: + - This command sets or queries the low value to be used when searching on a FlexRay bus data + field. The search number is specified by x. The search condition must be set to IDANDDATA + or DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to be used when + searching on a FlexRay bus data field. The search number is specified by x. The search + condition must be set to IDANDDATA OR DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size in bytes. A data size of -1 is don't care. + """ + + +class SearchSearchItemTriggerABusFlexrayDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on a FlexRay bus + signal. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier? + ``` + + Info: + - ``EQUal`` specifies the qualifier as equal. + - ``LESSEQual`` specifies the qualifier as less equal. + - ``MOREEQual`` specifies the qualifier as more equal. + - ``UNEQual`` specifies the qualifier as unequal. + - ``LESSthan`` specifies the qualifier as less than. + - ``MOREthan`` specifies the qualifier as more than. + - ``INrange`` specifies the qualifier as in range. + - ``OUTrange`` specifies the qualifier as out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusFlexrayDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + + Description: + - This command sets or queries the offset of the data string, in bytes, when searching on a + FlexRay bus data field. The search number is specified by x. The search condition must be + set to IDANDDATA OR DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet? + ``` + + Info: + - ```` specifies the data offset in bytes. A setting of X/Don't care is accomplished by + setting the offset to -1. + """ + + +class SearchSearchItemTriggerABusFlexrayDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on a FlexRay bus data field. + The search number is specified by x. The search condition must be set to IDANDDATA OR + DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue? + ``` + + Info: + - ```` specifies the data value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusFlexrayDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._offset = SearchSearchItemTriggerABusFlexrayDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._qualifier = SearchSearchItemTriggerABusFlexrayDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._size = SearchSearchItemTriggerABusFlexrayDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusFlexrayDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusFlexrayDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on a FlexRay bus data + field. The search number is specified by x. The search condition must be set to + IDANDDATA OR DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue? + ``` + + Info: + - ```` specifies the data value. + """ + return self._hivalue + + @property + def offset(self) -> SearchSearchItemTriggerABusFlexrayDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + + Description: + - This command sets or queries the offset of the data string, in bytes, when searching + on a FlexRay bus data field. The search number is specified by x. The search condition + must be set to IDANDDATA OR DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet? + ``` + + Info: + - ```` specifies the data offset in bytes. A setting of X/Don't care is + accomplished by setting the offset to -1. + """ + return self._offset + + @property + def qualifier(self) -> SearchSearchItemTriggerABusFlexrayDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on a FlexRay bus + signal. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier? + ``` + + Info: + - ``EQUal`` specifies the qualifier as equal. + - ``LESSEQual`` specifies the qualifier as less equal. + - ``MOREEQual`` specifies the qualifier as more equal. + - ``UNEQual`` specifies the qualifier as unequal. + - ``LESSthan`` specifies the qualifier as less than. + - ``MOREthan`` specifies the qualifier as more than. + - ``INrange`` specifies the qualifier as in range. + - ``OUTrange`` specifies the qualifier as out of range. + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> SearchSearchItemTriggerABusFlexrayDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to be used when + searching on a FlexRay bus data field. The search number is specified by x. The search + condition must be set to IDANDDATA OR DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size in bytes. A data size of -1 is don't care. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusFlexrayDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + + Description: + - This command sets or queries the low value to be used when searching on a FlexRay bus + data field. The search number is specified by x. The search condition must be set to + IDANDDATA or DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue? + ``` + + Info: + - ```` specifies the data value. + """ + return self._value + + +class SearchSearchItemTriggerABusFlexrayCyclecountValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + + Description: + - This command sets or queries the low value when searching on a FlexRay bus cycle count + field. The search number is specified by x. The search condition must be set to + CYCLEcount. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue? + ``` + + Info: + - ```` specifies the cycle count value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayCyclecountQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on a FlexRay bus + search cycle count field. The search number is specified by x. The search condition must + be set to CYCLEcount. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier? + ``` + + Info: + - ``EQUal`` specifies the qualifier as equal. + - ``LESSEQual`` specifies the qualifier as less equal. + - ``MOREEQual`` specifies the qualifier as more equal. + - ``UNEQual`` specifies the qualifier as unequal. + - ``LESSthan`` specifies the qualifier as less than. + - ``MOREthan`` specifies the qualifier as more than. + - ``INrange`` specifies the qualifier as in range. + - ``OUTrange`` specifies the qualifier as out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusFlexrayCyclecountHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue`` command. + + Description: + - This command sets or queries the heigh value when searching on a FlexRay bus cycle count + field. The search number is specified by x. The search condition must be set to + CYCLEcount. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue? + ``` + + Info: + - ```` specifies the cycle count value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusFlexrayCyclecount(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusFlexrayCyclecountHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusFlexrayCyclecountQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusFlexrayCyclecountValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusFlexrayCyclecountHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue`` command. + + Description: + - This command sets or queries the heigh value when searching on a FlexRay bus cycle + count field. The search number is specified by x. The search condition must be set to + CYCLEcount. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue? + ``` + + Info: + - ```` specifies the cycle count value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusFlexrayCyclecountQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on a FlexRay bus + search cycle count field. The search number is specified by x. The search condition + must be set to CYCLEcount. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier {EQUal|LESSEQual|MOREEQual|UNEQual|LESSthan|MOREthan|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier? + ``` + + Info: + - ``EQUal`` specifies the qualifier as equal. + - ``LESSEQual`` specifies the qualifier as less equal. + - ``MOREEQual`` specifies the qualifier as more equal. + - ``UNEQual`` specifies the qualifier as unequal. + - ``LESSthan`` specifies the qualifier as less than. + - ``MOREthan`` specifies the qualifier as more than. + - ``INrange`` specifies the qualifier as in range. + - ``OUTrange`` specifies the qualifier as out of range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusFlexrayCyclecountValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + + Description: + - This command sets or queries the low value when searching on a FlexRay bus cycle count + field. The search number is specified by x. The search condition must be set to + CYCLEcount. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue? + ``` + + Info: + - ```` specifies the cycle count value. + """ + return self._value + + +class SearchSearchItemTriggerABusFlexrayCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition`` command. + + Description: + - This command sets or queries the FlexRay bus search condition. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition {SOF|FRAMEType|IDentifier|CYCLEcount|HEADer|DATA|IDANDDATA|EOF|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition? + ``` + + Info: + - ``SOF`` sets the trigger condition to start of frame. + - ``FRAMEType`` sets the trigger condition to frame type. + - ``IDentifier`` sets the trigger condition to identifier. + - ``CYCLEcount`` sets the trigger condition to cycle count. + - ``HEADer`` sets the trigger condition to header. + - ``DATA`` sets the trigger condition to data. + - ``IDANDDATA`` sets the trigger condition to ID and data. + - ``EOF`` sets the trigger condition to end of frame. + - ``ERRor`` sets the trigger condition to error. + """ # noqa: E501 + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusFlexray(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition`` command. + - ``.cyclecount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + - ``.eoftype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + - ``.frameid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID`` command tree. + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusFlexrayCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._cyclecount = SearchSearchItemTriggerABusFlexrayCyclecount( + device, f"{self._cmd_syntax}:CYCLEcount" + ) + self._data = SearchSearchItemTriggerABusFlexrayData(device, f"{self._cmd_syntax}:DATa") + self._eoftype = SearchSearchItemTriggerABusFlexrayEoftype( + device, f"{self._cmd_syntax}:EOFTYPE" + ) + self._errtype = SearchSearchItemTriggerABusFlexrayErrtype( + device, f"{self._cmd_syntax}:ERRTYPE" + ) + self._frameid = SearchSearchItemTriggerABusFlexrayFrameid( + device, f"{self._cmd_syntax}:FRAMEID" + ) + self._frametype = SearchSearchItemTriggerABusFlexrayFrametype( + device, f"{self._cmd_syntax}:FRAMEType" + ) + self._header = SearchSearchItemTriggerABusFlexrayHeader( + device, f"{self._cmd_syntax}:HEADER" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusFlexrayCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition`` command. + + Description: + - This command sets or queries the FlexRay bus search condition. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition {SOF|FRAMEType|IDentifier|CYCLEcount|HEADer|DATA|IDANDDATA|EOF|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition? + ``` + + Info: + - ``SOF`` sets the trigger condition to start of frame. + - ``FRAMEType`` sets the trigger condition to frame type. + - ``IDentifier`` sets the trigger condition to identifier. + - ``CYCLEcount`` sets the trigger condition to cycle count. + - ``HEADer`` sets the trigger condition to header. + - ``DATA`` sets the trigger condition to data. + - ``IDANDDATA`` sets the trigger condition to ID and data. + - ``EOF`` sets the trigger condition to end of frame. + - ``ERRor`` sets the trigger condition to error. + """ # noqa: E501 + return self._condition + + @property + def cyclecount(self) -> SearchSearchItemTriggerABusFlexrayCyclecount: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:HIVALue`` + command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount:VALue`` command. + """ + return self._cyclecount + + @property + def data(self) -> SearchSearchItemTriggerABusFlexrayData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa:VALue`` command. + """ + return self._data + + @property + def eoftype(self) -> SearchSearchItemTriggerABusFlexrayEoftype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + + Description: + - This command sets or queries the end of frame type when searching on a FlexRay bus + signal. The search number is specified by x. The search condition must be set to EOF. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE {ANY|STATIC|DYNAMIC} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE? + ``` + + Info: + - ``ANY`` specifies either end of file type. + - ``STATIC`` specifies the static end of file type. + - ``DYNAMIC`` specifies the static end of file type. + """ + return self._eoftype + + @property + def errtype(self) -> SearchSearchItemTriggerABusFlexrayErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + + Description: + - This command sets or queries the error type when searching on a FlexRay bus signal. + The search number is specified by x. The search condition must be set to ERROR. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE {CRCHeader|CRCTrailer|NULLFRStatic|NULLFRDynamic|SYNCFrame|STARTupnosync} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE? + ``` + + Info: + - ``CRCHeader`` sets the error type to CRCHeader. + - ``CRCTrailer`` sets the error type to CRCTrailer. + - ``NULLFRStatic`` sets the error type to NULLFRStatic. + - ``NULLFRDynamic`` sets the error type to NULLFRDynamic. + - ``SYNCFrame`` sets the error type to SYNCFrame. + - ``STARTupnosync`` sets the error type to STARTupnosync. + """ # noqa: E501 + return self._errtype + + @property + def frameid(self) -> SearchSearchItemTriggerABusFlexrayFrameid: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID:VALue`` command. + """ + return self._frameid + + @property + def frametype(self) -> SearchSearchItemTriggerABusFlexrayFrametype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + + Description: + - This command sets or queries the FlexRay bus search frame type. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType {NORMal|PAYload|NULL|SYNC|STARTup} + - SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType? + ``` + + Info: + - ``NORMal`` sets the frame type to normal. + - ``PAYload`` sets the frame type to payload. + - ``NULL`` sets the frame type to null. + - ``SYNC`` sets the frame type to sync. + - ``STARTup`` sets the frame type to startup. + """ + return self._frametype + + @property + def header(self) -> SearchSearchItemTriggerABusFlexrayHeader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.crc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CRC`` command. + - ``.cyclecount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:CYCLECount`` + command. + - ``.frameid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:FRAMEID`` command. + - ``.indbits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:INDBits`` command. + - ``.paylength``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER:PAYLENgth`` + command. + """ + return self._header + + +class SearchSearchItemTriggerABusEusbTokentype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, sof, out, in, or setup + condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType {ANY|SOF|OUT|IN|SETUP} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType? + ``` + + Info: + - ``ANY`` specifies the token type as Any (XX01). + - ``SOF`` specifies the token type as Start Of Frame (0101). + - ``OUT`` specifies the token type as OUT (0001). + - ``IN`` specifies the token type as IN (1001). + - ``SETUP`` specifies the token type as SETUP (1101). + """ + + +class SearchSearchItemTriggerABusEusbSyncsearch(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch`` command. + + Description: + - This command specifies eUSB Search Sync Bits to be On and Off. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch {OFF|ON} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch? + ``` + + Info: + - ``OFF`` specifies the Sync bits as OFF (for Low Speed and Full Speed). + - ``ON`` specifies the Sync bits as ON (for High Speed). + """ + + +class SearchSearchItemTriggerABusEusbSyncbitsMinSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe`` command. + + Description: + - This command sets the number of sync bits, in bits, to be used when triggering on a eUSB + bus signal. The trigger condition must be set to SYNC. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe? + ``` + + Info: + - ```` specifies the number of sync bits. The default minimum Sync bits is 12. The + argument range is 12 to 31 bits. + """ + + +class SearchSearchItemTriggerABusEusbSyncbitsMin(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEusbSyncbitsMinSize( + device, f"{self._cmd_syntax}:SIZe" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEusbSyncbitsMinSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe`` command. + + Description: + - This command sets the number of sync bits, in bits, to be used when triggering on a + eUSB bus signal. The trigger condition must be set to SYNC. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe? + ``` + + Info: + - ```` specifies the number of sync bits. The default minimum Sync bits is 12. The + argument range is 12 to 31 bits. + """ + return self._size + + +class SearchSearchItemTriggerABusEusbSyncbitsMaxSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe`` command. + + Description: + - This command sets the number of sync bits, to be used when triggering on a eUSB bus + signal. The trigger condition must be set to SYNC. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe? + ``` + + Info: + - ```` specifies the number of sync bits. The default maximum Sync bits is 32. The + argument range is 13 to 32 bits. + """ + + +class SearchSearchItemTriggerABusEusbSyncbitsMax(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEusbSyncbitsMaxSize( + device, f"{self._cmd_syntax}:SIZe" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEusbSyncbitsMaxSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe`` command. + + Description: + - This command sets the number of sync bits, to be used when triggering on a eUSB bus + signal. The trigger condition must be set to SYNC. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe? + ``` + + Info: + - ```` specifies the number of sync bits. The default maximum Sync bits is 32. The + argument range is 13 to 32 bits. + """ + return self._size + + +class SearchSearchItemTriggerABusEusbSyncbits(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.max``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX`` command tree. + - ``.min``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._max = SearchSearchItemTriggerABusEusbSyncbitsMax(device, f"{self._cmd_syntax}:MAX") + self._min = SearchSearchItemTriggerABusEusbSyncbitsMin(device, f"{self._cmd_syntax}:MIN") + + @property + def max(self) -> SearchSearchItemTriggerABusEusbSyncbitsMax: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX:SIZe`` command. + """ + return self._max + + @property + def min(self) -> SearchSearchItemTriggerABusEusbSyncbitsMin: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN:SIZe`` command. + """ + return self._min + + +class SearchSearchItemTriggerABusEusbSyncQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier`` command. + + Description: + - This command sets the qualifier to be used when triggering on a eUSB bus signal. The + trigger condition must be set to Sync Bits. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier? + ``` + + Info: + - ``EQual`` specifies the qualifier as Equal. + - ``UNEQual`` specifies the qualifier as Not Equal to. + - ``LESSthan`` specifies the qualifier as Less Than. + - ``MOREthan`` specifies the qualifier as More Than. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``INrange`` specifies the qualifier as Inside Range. + - ``OUTrange`` specifies the qualifier as Out of Range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEusbSync(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._qualifier = SearchSearchItemTriggerABusEusbSyncQualifier( + device, f"{self._cmd_syntax}:QUAlifier" + ) + + @property + def qualifier(self) -> SearchSearchItemTriggerABusEusbSyncQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier`` command. + + Description: + - This command sets the qualifier to be used when triggering on a eUSB bus signal. The + trigger condition must be set to Sync Bits. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier? + ``` + + Info: + - ``EQual`` specifies the qualifier as Equal. + - ``UNEQual`` specifies the qualifier as Not Equal to. + - ``LESSthan`` specifies the qualifier as Less Than. + - ``MOREthan`` specifies the qualifier as More Than. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``INrange`` specifies the qualifier as Inside Range. + - ``OUTrange`` specifies the qualifier as Out of Range. + """ # noqa: E501 + return self._qualifier + + +class SearchSearchItemTriggerABusEusbSplitSeValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue`` command. + + Description: + - This command specifies the eUSB trigger type start/complete condition. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue {NOCARE|FULLSPEED|LOWSPEED|ISOSTART|ISOMID|ISOEND|ISOALL} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue? + ``` + + Info: + - ``NOCARE`` sets the trigger on any combination of S and E bits. + - ``FULLSPEED`` sets the trigger on S bit = 0 and E bit = 0. + - ``LOWSPEED`` sets the trigger on S bit = 1 and E bit = 0. + - ``ISOSTART`` sets the trigger on S bit = 1, E bit = 0. + - ``ISOMID`` specifies Isochronous Data is Middle (00) Start/End bit value. + - ``ISOEND`` specifies Isochronous Data is End (01) Start/End bit value. + - ``ISOALL`` specifies Isochronous Data is All (11) Start/End bit value. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEusbSplitSe(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbSplitSeValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbSplitSeValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue`` command. + + Description: + - This command specifies the eUSB trigger type start/complete condition. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue {NOCARE|FULLSPEED|LOWSPEED|ISOSTART|ISOMID|ISOEND|ISOALL} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue? + ``` + + Info: + - ``NOCARE`` sets the trigger on any combination of S and E bits. + - ``FULLSPEED`` sets the trigger on S bit = 0 and E bit = 0. + - ``LOWSPEED`` sets the trigger on S bit = 1 and E bit = 0. + - ``ISOSTART`` sets the trigger on S bit = 1, E bit = 0. + - ``ISOMID`` specifies Isochronous Data is Middle (00) Start/End bit value. + - ``ISOEND`` specifies Isochronous Data is End (01) Start/End bit value. + - ``ISOALL`` specifies Isochronous Data is All (11) Start/End bit value. + """ # noqa: E501 + return self._value + + +class SearchSearchItemTriggerABusEusbSplitScValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue`` command. + + Description: + - This command specifies the eUSB trigger type start/complete condition. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue {NOCARE|SSPLIT|CSPLIT} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue? + ``` + + Info: + - ``NOCARE`` sets the trigger on either the start or complete phase of the split + transaction. + - ``SSPLIT`` sets the trigger on the start phase of the split transaction. + - ``CSPLIT`` sets the trigger on the complete phase of the split transaction. + """ + + +class SearchSearchItemTriggerABusEusbSplitSc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbSplitScValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbSplitScValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue`` command. + + Description: + - This command specifies the eUSB trigger type start/complete condition. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue {NOCARE|SSPLIT|CSPLIT} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue? + ``` + + Info: + - ``NOCARE`` sets the trigger on either the start or complete phase of the split + transaction. + - ``SSPLIT`` sets the trigger on the start phase of the split transaction. + - ``CSPLIT`` sets the trigger on the complete phase of the split transaction. + """ + return self._value + + +class SearchSearchItemTriggerABusEusbSplitPortValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue`` command. + + Description: + - This command sets the binary port address value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to Special with a packet type SPLIT. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbSplitPort(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbSplitPortValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbSplitPortValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue`` command. + + Description: + - This command sets the binary port address value to be used when triggering on a eUSB + bus signal. The trigger condition must be set to Special with a packet type SPLIT. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + return self._value + + +class SearchSearchItemTriggerABusEusbSplitHubValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue`` command. + + Description: + - This command sets the binary hub address value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to Special with packet type SPLIT. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbSplitHub(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbSplitHubValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbSplitHubValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue`` command. + + Description: + - This command sets the binary hub address value to be used when triggering on a eUSB + bus signal. The trigger condition must be set to Special with packet type SPLIT. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + return self._value + + +class SearchSearchItemTriggerABusEusbSplitEtValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue`` command. + + Description: + - This command specifies the eUSB trigger type endpoint condition. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue {NOCARE|CONTRol|ISOchronous|BULK|INTERRUPT} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue? + ``` + + Info: + - ``NOCARE`` specifies the Endpoint Type value as Don't Care. + - ``CONTRol`` specifies the Endpoint Type value as Control (00). + - ``ISOchronous`` specifies the Endpoint Type value as Isochronous (01). + - ``BULK`` specifies the Endpoint Type value as Bulk (10). + - ``INTERRUPT`` specifies the Endpoint Type value as Interrupt (11). + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEusbSplitEt(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbSplitEtValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbSplitEtValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue`` command. + + Description: + - This command specifies the eUSB trigger type endpoint condition. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue {NOCARE|CONTRol|ISOchronous|BULK|INTERRUPT} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue? + ``` + + Info: + - ``NOCARE`` specifies the Endpoint Type value as Don't Care. + - ``CONTRol`` specifies the Endpoint Type value as Control (00). + - ``ISOchronous`` specifies the Endpoint Type value as Isochronous (01). + - ``BULK`` specifies the Endpoint Type value as Bulk (10). + - ``INTERRUPT`` specifies the Endpoint Type value as Interrupt (11). + """ # noqa: E501 + return self._value + + +class SearchSearchItemTriggerABusEusbSplit(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.et``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET`` command tree. + - ``.hub``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB`` command tree. + - ``.port``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT`` command tree. + - ``.sc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC`` command tree. + - ``.se``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._et = SearchSearchItemTriggerABusEusbSplitEt(device, f"{self._cmd_syntax}:ET") + self._hub = SearchSearchItemTriggerABusEusbSplitHub(device, f"{self._cmd_syntax}:HUB") + self._port = SearchSearchItemTriggerABusEusbSplitPort(device, f"{self._cmd_syntax}:PORT") + self._sc = SearchSearchItemTriggerABusEusbSplitSc(device, f"{self._cmd_syntax}:SC") + self._se = SearchSearchItemTriggerABusEusbSplitSe(device, f"{self._cmd_syntax}:SE") + + @property + def et(self) -> SearchSearchItemTriggerABusEusbSplitEt: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET:VALue`` command. + """ + return self._et + + @property + def hub(self) -> SearchSearchItemTriggerABusEusbSplitHub: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB:VALue`` command. + """ + return self._hub + + @property + def port(self) -> SearchSearchItemTriggerABusEusbSplitPort: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT:VALue`` command. + """ + return self._port + + @property + def sc(self) -> SearchSearchItemTriggerABusEusbSplitSc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC:VALue`` command. + """ + return self._sc + + @property + def se(self) -> SearchSearchItemTriggerABusEusbSplitSe: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE:VALue`` command. + """ + return self._se + + +class SearchSearchItemTriggerABusEusbSpecialtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, err, split, ping, or + reserved condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType {ANY|PREamble|ERROr|SPLit|PING|RESERVed} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType? + ``` + + Info: + - ``ANY`` specifies the PID value as Any (XX00). + - ``PREamble`` specifies the PID value as PRE (1100). + - ``ERROr`` specifies the PID value as ERR (1100). + - ``SPLit`` specifies the PID value as Split (1000). + - ``PING`` specifies the PID value as PING (0100). + - ``RESERVed`` specifies the PID value as Reserved (0000). + """ + + +class SearchSearchItemTriggerABusEusbSofframenumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber`` command. + + Description: + - This command sets the binary frame number to be used when triggering on a eUSB bus signal. + The trigger condition must be set to TOKEN. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber? + ``` + + Info: + - ```` specifies the binary frame number within the range 000 0000 0000 to 111 1111 + 1111 (000 hex to 7FF hex). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbRapOption(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion`` command. + + Description: + - This command specifies the eUSB Register Access Protocol search option. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion {COMMand|ADDRess|RAPDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion? + ``` + + Info: + - ``COMMand`` specifies the RAP option as Command. + - ``ADDRess`` specifies the RAP option as Address. + - ``RAPDATa`` specifies the RAP option as RapData. + """ + + +class SearchSearchItemTriggerABusEusbRapDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue`` command. + + Description: + - This command sets the binary Register Access Protocol data value to be used when + triggering on a eUSB bus signal. The trigger condition must be set to TOKEN. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X for binary; for hexadecimal; and symbolic. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbRapData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbRapDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbRapDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue`` command. + + Description: + - This command sets the binary Register Access Protocol data value to be used when + triggering on a eUSB bus signal. The trigger condition must be set to TOKEN. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X for binary; for hexadecimal; and symbolic. + """ + return self._value + + +class SearchSearchItemTriggerABusEusbRapCommand(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand`` command. + + Description: + - This command specifies the eUSB Register Access Protocol search option. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand {ALL|WRITe|READ|CLEar|SET} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand? + ``` + + Info: + - ``ALL`` specifies the RAP command as All. + - ``WRITe`` specifies the RAP command as Write. + - ``READ`` specifies the RAP command as Read. + - ``CLEar`` specifies the RAP command as Clear. + - ``SET`` specifies the RAP command as Set. + """ + + +class SearchSearchItemTriggerABusEusbRapAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue`` command. + + Description: + - This command sets the binary Register Access Protocol address value to be used when + triggering on a eUSB bus signal. The trigger condition must be set to TOKEN. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X for binary; for hexadecimal; and symbolic. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbRapAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbRapAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbRapAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue`` command. + + Description: + - This command sets the binary Register Access Protocol address value to be used when + triggering on a eUSB bus signal. The trigger condition must be set to TOKEN. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X for binary; for hexadecimal; and symbolic. + """ + return self._value + + +class SearchSearchItemTriggerABusEusbRap(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress`` command tree. + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa`` command tree. + - ``.option``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEusbRapAddress( + device, f"{self._cmd_syntax}:ADDress" + ) + self._command = SearchSearchItemTriggerABusEusbRapCommand( + device, f"{self._cmd_syntax}:COMMand" + ) + self._data = SearchSearchItemTriggerABusEusbRapData(device, f"{self._cmd_syntax}:DATa") + self._option = SearchSearchItemTriggerABusEusbRapOption( + device, f"{self._cmd_syntax}:OPTion" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEusbRapAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress:VALue`` command. + """ + return self._address + + @property + def command(self) -> SearchSearchItemTriggerABusEusbRapCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand`` command. + + Description: + - This command specifies the eUSB Register Access Protocol search option. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand {ALL|WRITe|READ|CLEar|SET} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand? + ``` + + Info: + - ``ALL`` specifies the RAP command as All. + - ``WRITe`` specifies the RAP command as Write. + - ``READ`` specifies the RAP command as Read. + - ``CLEar`` specifies the RAP command as Clear. + - ``SET`` specifies the RAP command as Set. + """ + return self._command + + @property + def data(self) -> SearchSearchItemTriggerABusEusbRapData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa:VALue`` command. + """ + return self._data + + @property + def option(self) -> SearchSearchItemTriggerABusEusbRapOption: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion`` command. + + Description: + - This command specifies the eUSB Register Access Protocol search option. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion {COMMand|ADDRess|RAPDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion? + ``` + + Info: + - ``COMMand`` specifies the RAP option as Command. + - ``ADDRess`` specifies the RAP option as Address. + - ``RAPDATa`` specifies the RAP option as RapData. + """ + return self._option + + +class SearchSearchItemTriggerABusEusbHandshaketype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, ack, nak, stall, or nyet + condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType {ANY|ACK|NAK|STALL|NYET} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType? + ``` + + Info: + - ``ANY`` specifies the handshake type as Any (0010). + - ``ACK`` specifies the handshake type as Acknowledgement (positive) (XX10). + - ``NAK`` specifies the handshake type as Negative Acknowledgment (1010). + - ``STALL`` specifies the error type as PID Check Bits. + - ``NYET`` specifies the handshake type as Stall (endpoint is halted or control pipe request + not supported) (1110). + """ + + +class SearchSearchItemTriggerABusEusbErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on a PID, Token CRC5, Data CRC16, + or Bit stuffing condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType {BITSTUFFing|CRC5|CRC16|PID} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType? + ``` + + Info: + - ``BITSTUFFing`` specifies the error type as Bit Stuffing. + - ``CRC5`` specifies the error type as Token CRC5 (Cyclic Redundancy Check 5). + - ``CRC16`` specifies the error type as Data CRC16 (Cyclic Redundancy Check 16). + - ``PID`` specifies the error type as PID Check Bits. + """ + + +class SearchSearchItemTriggerABusEusbEopbitsMinSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe`` command. + + Description: + - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. + The trigger condition must be set to EOP. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe? + ``` + + Info: + - ```` specifies the number of EOP bits. The default minimum EOP bits is 8. The + argument range is 8 to 99 bits. + """ + + +class SearchSearchItemTriggerABusEusbEopbitsMin(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEusbEopbitsMinSize( + device, f"{self._cmd_syntax}:SIZe" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEusbEopbitsMinSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe`` command. + + Description: + - This command sets the number of EOP bits to be used when triggering on a eUSB bus + signal. The trigger condition must be set to EOP. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe? + ``` + + Info: + - ```` specifies the number of EOP bits. The default minimum EOP bits is 8. The + argument range is 8 to 99 bits. + """ + return self._size + + +class SearchSearchItemTriggerABusEusbEopbitsMaxSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe`` command. + + Description: + - This command sets the number of EOP bits to be used when triggering on a eUSB bus signal. + The trigger condition must be set to EOP. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe? + ``` + + Info: + - ```` specifies the number of EOP bits. The default maximum EOP bits is 100. The + argument range is 9 to 100 bits. + """ + + +class SearchSearchItemTriggerABusEusbEopbitsMax(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEusbEopbitsMaxSize( + device, f"{self._cmd_syntax}:SIZe" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEusbEopbitsMaxSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe`` command. + + Description: + - This command sets the number of EOP bits to be used when triggering on a eUSB bus + signal. The trigger condition must be set to EOP. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe? + ``` + + Info: + - ```` specifies the number of EOP bits. The default maximum EOP bits is 100. The + argument range is 9 to 100 bits. + """ + return self._size + + +class SearchSearchItemTriggerABusEusbEopbits(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.max``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX`` command tree. + - ``.min``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._max = SearchSearchItemTriggerABusEusbEopbitsMax(device, f"{self._cmd_syntax}:MAX") + self._min = SearchSearchItemTriggerABusEusbEopbitsMin(device, f"{self._cmd_syntax}:MIN") + + @property + def max(self) -> SearchSearchItemTriggerABusEusbEopbitsMax: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX:SIZe`` command. + """ + return self._max + + @property + def min(self) -> SearchSearchItemTriggerABusEusbEopbitsMin: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN:SIZe`` command. + """ + return self._min + + +class SearchSearchItemTriggerABusEusbEopQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier`` command. + + Description: + - This command sets the qualifier to be used when triggering on a eUSB bus signal. The + trigger condition must be set to EOP Bits. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier? + ``` + + Info: + - ``EQual`` specifies the qualifier as Equal. + - ``UNEQual`` specifies the qualifier as Not Equal to. + - ``LESSthan`` specifies the qualifier as Less Than. + - ``MOREthan`` specifies the qualifier as More Than. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``INrange`` specifies the qualifier as Inside Range. + - ``OUTrange`` specifies the qualifier as Out of Range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEusbEopDatabitsSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe`` command. + + Description: + - This command sets the number of EOP bits, in bytes, to be used when triggering on a eUSB + bus signal. The trigger condition must be set to EOP. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe? + ``` + + Info: + - ```` specifies the number of EOP bits. The default EOP bits is 8. The argument range + is 8 to 100 bits. + """ + + +class SearchSearchItemTriggerABusEusbEopDatabits(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEusbEopDatabitsSize( + device, f"{self._cmd_syntax}:SIZe" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEusbEopDatabitsSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe`` command. + + Description: + - This command sets the number of EOP bits, in bytes, to be used when triggering on a + eUSB bus signal. The trigger condition must be set to EOP. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe? + ``` + + Info: + - ```` specifies the number of EOP bits. The default EOP bits is 8. The argument + range is 8 to 100 bits. + """ + return self._size + + +class SearchSearchItemTriggerABusEusbEop(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.databits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS`` command tree. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._databits = SearchSearchItemTriggerABusEusbEopDatabits( + device, f"{self._cmd_syntax}:DATABITS" + ) + self._qualifier = SearchSearchItemTriggerABusEusbEopQualifier( + device, f"{self._cmd_syntax}:QUAlifier" + ) + + @property + def databits(self) -> SearchSearchItemTriggerABusEusbEopDatabits: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS:SIZe`` command. + """ + return self._databits + + @property + def qualifier(self) -> SearchSearchItemTriggerABusEusbEopQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier`` command. + + Description: + - This command sets the qualifier to be used when triggering on a eUSB bus signal. The + trigger condition must be set to EOP Bits. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier? + ``` + + Info: + - ``EQual`` specifies the qualifier as Equal. + - ``UNEQual`` specifies the qualifier as Not Equal to. + - ``LESSthan`` specifies the qualifier as Less Than. + - ``MOREthan`` specifies the qualifier as More Than. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``INrange`` specifies the qualifier as Inside Range. + - ``OUTrange`` specifies the qualifier as Out of Range. + """ # noqa: E501 + return self._qualifier + + +class SearchSearchItemTriggerABusEusbEndsearch(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch`` command. + + Description: + - This command specifies eUSB Search EOP Bits to be On and Off. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch {OFF|ON} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch? + ``` + + Info: + - ``OFF`` specifies the EOP bits as OFF (for Low Speed and Full Speed). + - ``ON`` specifies the EOP bits as ON (for High Speed). + """ + + +class SearchSearchItemTriggerABusEusbEndpointValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue`` command. + + Description: + - This command sets the endpoint binary value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to TOKEN. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid characters + are 0, 1, and X for binary format; A-F, 0-9 and X for hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbEndpoint(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEusbEndpointValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEusbEndpointValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue`` command. + + Description: + - This command sets the endpoint binary value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to TOKEN. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue? + ``` + + Info: + - ```` specifies the data value in the specified valid format. The valid + characters are 0, 1, and X for binary format; A-F, 0-9 and X for hexadecimal format. + """ + return self._value + + +class SearchSearchItemTriggerABusEusbDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue`` command. + + Description: + - This command sets the binary data value to be used when triggering on a eUSB bus signal. + The trigger condition must be set to DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbDataType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, data0, data1, data2, or + mdata condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe {ANY|DATA0|DATA1|DATA2|MDATA} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe? + ``` + + Info: + - ``ANY`` specifies either a DATA0 or DATA1 data packet type. + - ``DATA0`` specifies a DATA0 data packet type. + - ``DATA1`` specifies a DATA1 data packet type. + - ``DATA2`` specifies a DATA2 data packet type when on HIGH speed. + - ``MDATA`` specifies a MDATA data packet type when on HIGH speed. + """ + + +class SearchSearchItemTriggerABusEusbDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe`` command. + + Description: + - This command sets the length of the data string, in bytes, to be used when triggering on a + eUSB bus signal. The trigger condition must be set to DATA. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe? + ``` + + Info: + - ```` specifies the length of the data string. Default data size value is 1. The + argument range is 1 to 16 bytes. + """ + + +class SearchSearchItemTriggerABusEusbDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier`` command. + + Description: + - This command sets the qualifier to be used when triggering on a eUSB bus signal. The + trigger condition must be set to IDANDDATA OR DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|Inrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier? + ``` + + Info: + - ``EQual`` specifies the qualifier as Equal. + - ``UNEQual`` specifies the qualifier as Not Equal to. + - ``LESSthan`` specifies the qualifier as Less Than. + - ``MOREthan`` specifies the qualifier as More Than. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``Inrange`` specifies the qualifier as Inside Range. + - ``OUTrange`` specifies the qualifier as Out of Range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEusbDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet`` command. + + Description: + - This command sets the byte offset to look for a data pattern at, in bytes, to be used when + triggering on a eUSB bus signal. The trigger condition must be set to DATA. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet? + ``` + + Info: + - ```` specifies the byte offset. Default offset value is -1. The argument range is -1 + to 1024. + """ + + +class SearchSearchItemTriggerABusEusbDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue`` command. + + Description: + - This command sets the high binary data value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusEusbDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._offset = SearchSearchItemTriggerABusEusbDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._qualifier = SearchSearchItemTriggerABusEusbDataQualifier( + device, f"{self._cmd_syntax}:QUAlifier" + ) + self._size = SearchSearchItemTriggerABusEusbDataSize(device, f"{self._cmd_syntax}:SIZe") + self._type = SearchSearchItemTriggerABusEusbDataType(device, f"{self._cmd_syntax}:TYPe") + self._value = SearchSearchItemTriggerABusEusbDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def hivalue(self) -> SearchSearchItemTriggerABusEusbDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue`` command. + + Description: + - This command sets the high binary data value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to DATA. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + return self._hivalue + + @property + def offset(self) -> SearchSearchItemTriggerABusEusbDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet`` command. + + Description: + - This command sets the byte offset to look for a data pattern at, in bytes, to be used + when triggering on a eUSB bus signal. The trigger condition must be set to DATA. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet? + ``` + + Info: + - ```` specifies the byte offset. Default offset value is -1. The argument range is + -1 to 1024. + """ + return self._offset + + @property + def qualifier(self) -> SearchSearchItemTriggerABusEusbDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier`` command. + + Description: + - This command sets the qualifier to be used when triggering on a eUSB bus signal. The + trigger condition must be set to IDANDDATA OR DATA. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|Inrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier? + ``` + + Info: + - ``EQual`` specifies the qualifier as Equal. + - ``UNEQual`` specifies the qualifier as Not Equal to. + - ``LESSthan`` specifies the qualifier as Less Than. + - ``MOREthan`` specifies the qualifier as More Than. + - ``LESSEQual`` specifies the qualifier as Less Than or Equal to. + - ``MOREEQual`` specifies the qualifier as More Than or Equal to. + - ``Inrange`` specifies the qualifier as Inside Range. + - ``OUTrange`` specifies the qualifier as Out of Range. + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> SearchSearchItemTriggerABusEusbDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe`` command. + + Description: + - This command sets the length of the data string, in bytes, to be used when triggering + on a eUSB bus signal. The trigger condition must be set to DATA. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe? + ``` + + Info: + - ```` specifies the length of the data string. Default data size value is 1. The + argument range is 1 to 16 bytes. + """ + return self._size + + @property + def type(self) -> SearchSearchItemTriggerABusEusbDataType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, data0, data1, data2, + or mdata condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe {ANY|DATA0|DATA1|DATA2|MDATA} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe? + ``` + + Info: + - ``ANY`` specifies either a DATA0 or DATA1 data packet type. + - ``DATA0`` specifies a DATA0 data packet type. + - ``DATA1`` specifies a DATA1 data packet type. + - ``DATA2`` specifies a DATA2 data packet type when on HIGH speed. + - ``MDATA`` specifies a MDATA data packet type when on HIGH speed. + """ + return self._type + + @property + def value(self) -> SearchSearchItemTriggerABusEusbDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue`` command. + + Description: + - This command sets the binary data value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to DATA. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + return self._value + + +class SearchSearchItemTriggerABusEusbDatabitsSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe`` command. + + Description: + - This command sets the number of Sync bits, in bytes, to be used when triggering on a eUSB + bus signal. The trigger condition must be set to SYNC. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe? + ``` + + Info: + - ```` specifies the number of the Sync bits. The default Sync bits is 12. The argument + range is 12 to 32 bits. + """ + + +class SearchSearchItemTriggerABusEusbDatabits(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEusbDatabitsSize(device, f"{self._cmd_syntax}:SIZe") + + @property + def size(self) -> SearchSearchItemTriggerABusEusbDatabitsSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe`` command. + + Description: + - This command sets the number of Sync bits, in bytes, to be used when triggering on a + eUSB bus signal. The trigger condition must be set to SYNC. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe? + ``` + + Info: + - ```` specifies the number of the Sync bits. The default Sync bits is 12. The + argument range is 12 to 32 bits. + """ + return self._size + + +class SearchSearchItemTriggerABusEusbCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition`` command. + + Description: + - This command sets or queries the search type for the specified search. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition {SYNC|HANDSHAKEPacket|SPECIALPacket|ERRor|TOKENPacket|DATAPacket|RESET|CONNect|CONTROLMESSage|SUSPEND|DEVICEChirp|HOSTChirp|PORTReset|PORTConfiguration|RESUME|EOP} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition? + ``` + + Info: + - ``SYNC`` specifies the search condition as Sync. + - ``HANDSHAKEPacket`` specifies the search condition as Handshake Packet. + - ``SPECIALPacket`` specifies the search condition as Special Packet. + - ``ERRor`` specifies the search condition as Error. + - ``TOKENPacket`` specifies the search condition as Token (Address) Packet. + - ``DATAPacket`` specifies the search condition as Data Packet. + - ``RESET`` specifies the search condition as Reset. + - ``CONNect`` specifies the search condition as connect. + - ``CONTROLMESSage`` specifies the search condition as Control Message. + - ``SUSPEND`` specifies the search condition as Suspend. + - ``DEVICEChirp`` specifies the search condition as Device chirp. + - ``HOSTChirp`` specifies the search condition as Host Chirp. + - ``PORTReset`` specifies the search condition as Port Reset. + - ``PORTConfiguration`` specifies the search condition as Port Configuration. + - ``RESUME`` specifies the search condition as Resume. + - ``RAP`` specifies the search condition as Register Access Protocol. + - ``EOP`` specifies the search condition as End of Packet. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEusbAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue`` command. + + Description: + - This command sets the binary address value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to TOKEN. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbAddressHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue`` command. + + Description: + - This command sets the high binary address value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters are + 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEusbAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusEusbAddressHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._value = SearchSearchItemTriggerABusEusbAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusEusbAddressHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue`` command. + + Description: + - This command sets the high binary address value to be used when triggering on a eUSB + bus signal. The trigger condition must be set to TOKEN. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + return self._hivalue + + @property + def value(self) -> SearchSearchItemTriggerABusEusbAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue`` command. + + Description: + - This command sets the binary address value to be used when triggering on a eUSB bus + signal. The trigger condition must be set to TOKEN. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue? + ``` + + Info: + - ```` specifies the value in the specified valid format. The valid characters + are 0, 1, and X (for binary, for hexadecimal, and symbolic). + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusEusb(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition`` command. + - ``.databits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS`` command tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa`` command tree. + - ``.endpoint``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint`` command tree. + - ``.endsearch``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch`` command. + - ``.eop``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP`` command tree. + - ``.eopbits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType`` command. + - ``.handshaketype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType`` command. + - ``.rap``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP`` command tree. + - ``.sofframenumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber`` command. + - ``.specialtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType`` command. + - ``.split``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit`` command tree. + - ``.sync``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC`` command tree. + - ``.syncbits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS`` command tree. + - ``.syncsearch``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch`` command. + - ``.tokentype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEusbAddress( + device, f"{self._cmd_syntax}:ADDress" + ) + self._condition = SearchSearchItemTriggerABusEusbCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._databits = SearchSearchItemTriggerABusEusbDatabits( + device, f"{self._cmd_syntax}:DATABITS" + ) + self._data = SearchSearchItemTriggerABusEusbData(device, f"{self._cmd_syntax}:DATa") + self._endpoint = SearchSearchItemTriggerABusEusbEndpoint( + device, f"{self._cmd_syntax}:ENDPoint" + ) + self._endsearch = SearchSearchItemTriggerABusEusbEndsearch( + device, f"{self._cmd_syntax}:ENDSEARch" + ) + self._eop = SearchSearchItemTriggerABusEusbEop(device, f"{self._cmd_syntax}:EOP") + self._eopbits = SearchSearchItemTriggerABusEusbEopbits( + device, f"{self._cmd_syntax}:EOPBITS" + ) + self._errtype = SearchSearchItemTriggerABusEusbErrtype( + device, f"{self._cmd_syntax}:ERRType" + ) + self._handshaketype = SearchSearchItemTriggerABusEusbHandshaketype( + device, f"{self._cmd_syntax}:HANDSHAKEType" + ) + self._rap = SearchSearchItemTriggerABusEusbRap(device, f"{self._cmd_syntax}:RAP") + self._sofframenumber = SearchSearchItemTriggerABusEusbSofframenumber( + device, f"{self._cmd_syntax}:SOFFRAMENUMber" + ) + self._specialtype = SearchSearchItemTriggerABusEusbSpecialtype( + device, f"{self._cmd_syntax}:SPECIALType" + ) + self._split = SearchSearchItemTriggerABusEusbSplit(device, f"{self._cmd_syntax}:SPLit") + self._sync = SearchSearchItemTriggerABusEusbSync(device, f"{self._cmd_syntax}:SYNC") + self._syncbits = SearchSearchItemTriggerABusEusbSyncbits( + device, f"{self._cmd_syntax}:SYNCBITS" + ) + self._syncsearch = SearchSearchItemTriggerABusEusbSyncsearch( + device, f"{self._cmd_syntax}:SYNCSEARch" + ) + self._tokentype = SearchSearchItemTriggerABusEusbTokentype( + device, f"{self._cmd_syntax}:TOKENType" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEusbAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress:VALue`` command. + """ + return self._address + + @property + def condition(self) -> SearchSearchItemTriggerABusEusbCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition`` command. + + Description: + - This command sets or queries the search type for the specified search. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition {SYNC|HANDSHAKEPacket|SPECIALPacket|ERRor|TOKENPacket|DATAPacket|RESET|CONNect|CONTROLMESSage|SUSPEND|DEVICEChirp|HOSTChirp|PORTReset|PORTConfiguration|RESUME|EOP} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition? + ``` + + Info: + - ``SYNC`` specifies the search condition as Sync. + - ``HANDSHAKEPacket`` specifies the search condition as Handshake Packet. + - ``SPECIALPacket`` specifies the search condition as Special Packet. + - ``ERRor`` specifies the search condition as Error. + - ``TOKENPacket`` specifies the search condition as Token (Address) Packet. + - ``DATAPacket`` specifies the search condition as Data Packet. + - ``RESET`` specifies the search condition as Reset. + - ``CONNect`` specifies the search condition as connect. + - ``CONTROLMESSage`` specifies the search condition as Control Message. + - ``SUSPEND`` specifies the search condition as Suspend. + - ``DEVICEChirp`` specifies the search condition as Device chirp. + - ``HOSTChirp`` specifies the search condition as Host Chirp. + - ``PORTReset`` specifies the search condition as Port Reset. + - ``PORTConfiguration`` specifies the search condition as Port Configuration. + - ``RESUME`` specifies the search condition as Resume. + - ``RAP`` specifies the search condition as Register Access Protocol. + - ``EOP`` specifies the search condition as End of Packet. + """ # noqa: E501 + return self._condition + + @property + def databits(self) -> SearchSearchItemTriggerABusEusbDatabits: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS:SIZe`` command. + """ + return self._databits + + @property + def data(self) -> SearchSearchItemTriggerABusEusbData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:QUAlifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:SIZe`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:TYPe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa:VALue`` command. + """ + return self._data + + @property + def endpoint(self) -> SearchSearchItemTriggerABusEusbEndpoint: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint:VALue`` command. + """ + return self._endpoint + + @property + def endsearch(self) -> SearchSearchItemTriggerABusEusbEndsearch: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch`` command. + + Description: + - This command specifies eUSB Search EOP Bits to be On and Off. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch {OFF|ON} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch? + ``` + + Info: + - ``OFF`` specifies the EOP bits as OFF (for Low Speed and Full Speed). + - ``ON`` specifies the EOP bits as ON (for High Speed). + """ + return self._endsearch + + @property + def eop(self) -> SearchSearchItemTriggerABusEusbEop: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.databits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:DATABITS`` command tree. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP:QUAlifier`` command. + """ + return self._eop + + @property + def eopbits(self) -> SearchSearchItemTriggerABusEusbEopbits: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.max``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MAX`` command tree. + - ``.min``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS:MIN`` command tree. + """ + return self._eopbits + + @property + def errtype(self) -> SearchSearchItemTriggerABusEusbErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on a PID, Token CRC5, Data + CRC16, or Bit stuffing condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType {BITSTUFFing|CRC5|CRC16|PID} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType? + ``` + + Info: + - ``BITSTUFFing`` specifies the error type as Bit Stuffing. + - ``CRC5`` specifies the error type as Token CRC5 (Cyclic Redundancy Check 5). + - ``CRC16`` specifies the error type as Data CRC16 (Cyclic Redundancy Check 16). + - ``PID`` specifies the error type as PID Check Bits. + """ + return self._errtype + + @property + def handshaketype(self) -> SearchSearchItemTriggerABusEusbHandshaketype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, ack, nak, stall, or + nyet condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType {ANY|ACK|NAK|STALL|NYET} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType? + ``` + + Info: + - ``ANY`` specifies the handshake type as Any (0010). + - ``ACK`` specifies the handshake type as Acknowledgement (positive) (XX10). + - ``NAK`` specifies the handshake type as Negative Acknowledgment (1010). + - ``STALL`` specifies the error type as PID Check Bits. + - ``NYET`` specifies the handshake type as Stall (endpoint is halted or control pipe + request not supported) (1110). + """ + return self._handshaketype + + @property + def rap(self) -> SearchSearchItemTriggerABusEusbRap: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:ADDress`` command tree. + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:COMMand`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:DATa`` command tree. + - ``.option``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP:OPTion`` command. + """ + return self._rap + + @property + def sofframenumber(self) -> SearchSearchItemTriggerABusEusbSofframenumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber`` command. + + Description: + - This command sets the binary frame number to be used when triggering on a eUSB bus + signal. The trigger condition must be set to TOKEN. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber? + ``` + + Info: + - ```` specifies the binary frame number within the range 000 0000 0000 to 111 + 1111 1111 (000 hex to 7FF hex). + """ + return self._sofframenumber + + @property + def specialtype(self) -> SearchSearchItemTriggerABusEusbSpecialtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, err, split, ping, or + reserved condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType {ANY|PREamble|ERROr|SPLit|PING|RESERVed} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType? + ``` + + Info: + - ``ANY`` specifies the PID value as Any (XX00). + - ``PREamble`` specifies the PID value as PRE (1100). + - ``ERROr`` specifies the PID value as ERR (1100). + - ``SPLit`` specifies the PID value as Split (1000). + - ``PING`` specifies the PID value as PING (0100). + - ``RESERVed`` specifies the PID value as Reserved (0000). + """ # noqa: E501 + return self._specialtype + + @property + def split(self) -> SearchSearchItemTriggerABusEusbSplit: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.et``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:ET`` command tree. + - ``.hub``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:HUB`` command tree. + - ``.port``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:PORT`` command tree. + - ``.sc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SC`` command tree. + - ``.se``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit:SE`` command tree. + """ + return self._split + + @property + def sync(self) -> SearchSearchItemTriggerABusEusbSync: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC:QUAlifier`` command. + """ + return self._sync + + @property + def syncbits(self) -> SearchSearchItemTriggerABusEusbSyncbits: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.max``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MAX`` command tree. + - ``.min``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS:MIN`` command tree. + """ + return self._syncbits + + @property + def syncsearch(self) -> SearchSearchItemTriggerABusEusbSyncsearch: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch`` command. + + Description: + - This command specifies eUSB Search Sync Bits to be On and Off. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch {OFF|ON} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch? + ``` + + Info: + - ``OFF`` specifies the Sync bits as OFF (for Low Speed and Full Speed). + - ``ON`` specifies the Sync bits as ON (for High Speed). + """ + return self._syncsearch + + @property + def tokentype(self) -> SearchSearchItemTriggerABusEusbTokentype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType`` command. + + Description: + - This command specifies the eUSB trigger type to be valid on any, sof, out, in, or + setup condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType {ANY|SOF|OUT|IN|SETUP} + - SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType? + ``` + + Info: + - ``ANY`` specifies the token type as Any (XX01). + - ``SOF`` specifies the token type as Start Of Frame (0101). + - ``OUT`` specifies the token type as OUT (0001). + - ``IN`` specifies the token type as IN (1001). + - ``SETUP`` specifies the token type as SETUP (1101). + """ + return self._tokentype + + +class SearchSearchItemTriggerABusEthernetTcpheaderSourceportValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue`` command. + + Description: + - This command specifies the binary source port value to use when searching on an Ethernet + bus signal. The search condition needs to be set to TCPHeader. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetTcpheaderSourceport(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetTcpheaderSourceportValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetTcpheaderSourceportValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue`` command. + + Description: + - This command specifies the binary source port value to use when searching on an + Ethernet bus signal. The search condition needs to be set to TCPHeader. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetTcpheaderSeqnumValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue`` command. + + Description: + - This command specifies the binary sequence number value to use when searching on an + Ethernet bus signal. The default is all X's (don't care). The search condition needs to be + set to TCPHeader. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetTcpheaderSeqnum(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetTcpheaderSeqnumValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetTcpheaderSeqnumValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue`` command. + + Description: + - This command specifies the binary sequence number value to use when searching on an + Ethernet bus signal. The default is all X's (don't care). The search condition needs + to be set to TCPHeader. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetTcpheaderDestinationportValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue`` command. + + Description: + - This command specifies the binary destination port value to use when searching on the + Ethernet TCP header destination port number. The search condition needs to be set to + TCPHeader. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetTcpheaderDestinationport(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetTcpheaderDestinationportValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetTcpheaderDestinationportValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue`` command. + + Description: + - This command specifies the binary destination port value to use when searching on the + Ethernet TCP header destination port number. The search condition needs to be set to + TCPHeader. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetTcpheaderAcknumValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue`` command. + + Description: + - This command specifies the binary ack number value to use when searching on an Ethernet + bus signal. The default is all X's (don't care). The search condition needs to be set to + TCPHeader. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetTcpheaderAcknum(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetTcpheaderAcknumValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetTcpheaderAcknumValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue`` command. + + Description: + - This command specifies the binary ack number value to use when searching on an + Ethernet bus signal. The default is all X's (don't care). The search condition needs + to be set to TCPHeader. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetTcpheader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.acknum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum`` command + tree. + - ``.destinationport``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport`` command tree. + - ``.seqnum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum`` command + tree. + - ``.sourceport``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._acknum = SearchSearchItemTriggerABusEthernetTcpheaderAcknum( + device, f"{self._cmd_syntax}:ACKnum" + ) + self._destinationport = SearchSearchItemTriggerABusEthernetTcpheaderDestinationport( + device, f"{self._cmd_syntax}:DESTinationport" + ) + self._seqnum = SearchSearchItemTriggerABusEthernetTcpheaderSeqnum( + device, f"{self._cmd_syntax}:SEQnum" + ) + self._sourceport = SearchSearchItemTriggerABusEthernetTcpheaderSourceport( + device, f"{self._cmd_syntax}:SOUrceport" + ) + + @property + def acknum(self) -> SearchSearchItemTriggerABusEthernetTcpheaderAcknum: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum:VALue`` + command. + """ + return self._acknum + + @property + def destinationport(self) -> SearchSearchItemTriggerABusEthernetTcpheaderDestinationport: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport:VALue`` command. + """ + return self._destinationport + + @property + def seqnum(self) -> SearchSearchItemTriggerABusEthernetTcpheaderSeqnum: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum:VALue`` + command. + """ + return self._seqnum + + @property + def sourceport(self) -> SearchSearchItemTriggerABusEthernetTcpheaderSourceport: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport:VALue`` + command. + """ + return self._sourceport + + +class SearchSearchItemTriggerABusEthernetQtagValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue`` command. + + Description: + - This command specifies the binary Q-tag information to use when searching on an Ethernet + bus signal. The search condition needs to be set to QTAG. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetQtag(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetQtagValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetQtagValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue`` command. + + Description: + - This command specifies the binary Q-tag information to use when searching on an + Ethernet bus signal. The search condition needs to be set to QTAG. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetMacLengthValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue`` command. + + Description: + - This command specifies the MAC length value to use when searching on an Ethernet bus + signal. The search condition needs to be set to MACADDRess. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetMacLengthHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue`` command. + + Description: + - This command specifies the binary MAC length high value to use when searching on an + Ethernet bus signal. The search condition needs to be set to MACADDRess. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetMacLength(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusEthernetMacLengthHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._value = SearchSearchItemTriggerABusEthernetMacLengthValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusEthernetMacLengthHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue`` command. + + Description: + - This command specifies the binary MAC length high value to use when searching on an + Ethernet bus signal. The search condition needs to be set to MACADDRess. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._hivalue + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetMacLengthValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue`` command. + + Description: + - This command specifies the MAC length value to use when searching on an Ethernet bus + signal. The search condition needs to be set to MACADDRess. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue? + ``` + + Info: + - ```` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetMacAddressSourceValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue`` command. + + Description: + - This command specifies the binary MAC address source value to use when searching on an + Ethernet bus signal. The search condition needs to be set to MACADDRess. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue? + ``` + + Info: + - ```` is a quoted string of up to 48 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetMacAddressSource(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetMacAddressSourceValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetMacAddressSourceValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue`` command. + + Description: + - This command specifies the binary MAC address source value to use when searching on an + Ethernet bus signal. The search condition needs to be set to MACADDRess. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue? + ``` + + Info: + - ```` is a quoted string of up to 48 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetMacAddressDestinationValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue`` command. + + Description: + - This command specifies the binary MAC address destination value to use when searching on + an Ethernet bus signal. The search condition needs to be set to MACADDRess. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue? + ``` + + Info: + - ```` is a quoted string of up to 48 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetMacAddressDestination(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetMacAddressDestinationValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetMacAddressDestinationValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue`` command. + + Description: + - This command specifies the binary MAC address destination value to use when searching + on an Ethernet bus signal. The search condition needs to be set to MACADDRess. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue? + ``` + + Info: + - ```` is a quoted string of up to 48 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetMacAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.destination``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination`` + command tree. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._destination = SearchSearchItemTriggerABusEthernetMacAddressDestination( + device, f"{self._cmd_syntax}:DESTination" + ) + self._source = SearchSearchItemTriggerABusEthernetMacAddressSource( + device, f"{self._cmd_syntax}:SOUrce" + ) + + @property + def destination(self) -> SearchSearchItemTriggerABusEthernetMacAddressDestination: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination:VALue`` command. + """ + return self._destination + + @property + def source(self) -> SearchSearchItemTriggerABusEthernetMacAddressSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce:VALue`` + command. + """ + return self._source + + +class SearchSearchItemTriggerABusEthernetMac(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess`` command tree. + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEthernetMacAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._length = SearchSearchItemTriggerABusEthernetMacLength( + device, f"{self._cmd_syntax}:LENgth" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEthernetMacAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.destination``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:DESTination`` command tree. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess:SOUrce`` + command tree. + """ + return self._address + + @property + def length(self) -> SearchSearchItemTriggerABusEthernetMacLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:HIVALue`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth:VALue`` command. + """ + return self._length + + +class SearchSearchItemTriggerABusEthernetIpheaderSourceaddrValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` command. + + Description: + - This command specifies the binary source address value to use when searching on an + Ethernet bus signal. The search condition needs to be set to IPHeader. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetIpheaderSourceaddr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetIpheaderSourceaddrValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetIpheaderSourceaddrValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` command. + + Description: + - This command specifies the binary source address value to use when searching on an + Ethernet bus signal. The search condition needs to be set to IPHeader. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetIpheaderProtocolValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue`` command. + + Description: + - This command specifies the binary protocol value to use when searching on the Ethernet bus + signal. The search condition needs to be set to IPHeader. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue? + ``` + + Info: + - ```` is a quoted string of up to 8 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetIpheaderProtocol(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetIpheaderProtocolValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetIpheaderProtocolValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue`` command. + + Description: + - This command specifies the binary protocol value to use when searching on the Ethernet + bus signal. The search condition needs to be set to IPHeader. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue? + ``` + + Info: + - ```` is a quoted string of up to 8 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetIpheaderDestinationaddrValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue`` command. + + Description: + - This command specifies the binary destination address value to use when searching on an + Ethernet bus signal. The search condition needs to be set to IPHeader. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits, + leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetIpheaderDestinationaddr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthernetIpheaderDestinationaddrValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetIpheaderDestinationaddrValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue`` command. + + Description: + - This command specifies the binary destination address value to use when searching on + an Ethernet bus signal. The search condition needs to be set to IPHeader. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue? + ``` + + Info: + - ```` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits, leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetIpheader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.destinationaddr``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr`` command tree. + - ``.protocol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol`` command + tree. + - ``.sourceaddr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._destinationaddr = SearchSearchItemTriggerABusEthernetIpheaderDestinationaddr( + device, f"{self._cmd_syntax}:DESTinationaddr" + ) + self._protocol = SearchSearchItemTriggerABusEthernetIpheaderProtocol( + device, f"{self._cmd_syntax}:PROTOcol" + ) + self._sourceaddr = SearchSearchItemTriggerABusEthernetIpheaderSourceaddr( + device, f"{self._cmd_syntax}:SOUrceaddr" + ) + + @property + def destinationaddr(self) -> SearchSearchItemTriggerABusEthernetIpheaderDestinationaddr: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr:VALue`` command. + """ + return self._destinationaddr + + @property + def protocol(self) -> SearchSearchItemTriggerABusEthernetIpheaderProtocol: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol:VALue`` + command. + """ + return self._protocol + + @property + def sourceaddr(self) -> SearchSearchItemTriggerABusEthernetIpheaderSourceaddr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr:VALue`` + command. + """ + return self._sourceaddr + + +class SearchSearchItemTriggerABusEthernetDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue`` command. + + Description: + - This command specifies the binary value to use when searching on the Ethernet bus signal. + The search condition needs to be set to DATa. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue? + ``` + + Info: + - ```` is a quoted string where the allowable characters are 0, 1, and X. The + allowable number of characters depends on the setting for size (using + ``SEARCH:SEARCHX:TRIGGER:A:BUS:ETHERNET:DATA:SIZE``). The bits specified in the quoted + string replace the least significant bits, leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string, in bytes, to use when searching on + the Ethernet bus signal. The search condition needs to be set to DATa. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe? + ``` + + Info: + - ```` specifies the length of the data string, in bytes. The minimum and default + values are 1, and the maximum value is 16. + """ + + +class SearchSearchItemTriggerABusEthernetDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier`` command. + + Description: + - This command specifies the qualifier to be used when searching on an Ethernet bus signal. + The search condition must be set to DATa. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier? + ``` + + Info: + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to greater than. + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to not equal. + - ``LESSEQual`` sets the qualifier to less than or equal. + - ``MOREEQual`` sets the qualifier to greater than or equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthernetDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet`` command. + + Description: + - This command specifies the data offset value, in bytes, to use when searching on the + Ethernet data field. The search condition needs to be set to DATa. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet? + ``` + + Info: + - ```` is an integer whose minimum and default values are -1 (don't care) and maximum + is 1,499. + """ + + +class SearchSearchItemTriggerABusEthernetDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on an + Ethernet bus signal. The search condition must be set to DATA and the data qualifier to + inside or outside range. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue? + ``` + + Info: + - ```` is the binary data value to be used when searching on an Ethernet bus + signal. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthernetData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusEthernetDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._offset = SearchSearchItemTriggerABusEthernetDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._qualifier = SearchSearchItemTriggerABusEthernetDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._size = SearchSearchItemTriggerABusEthernetDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusEthernetDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusEthernetDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on an + Ethernet bus signal. The search condition must be set to DATA and the data qualifier + to inside or outside range. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue? + ``` + + Info: + - ```` is the binary data value to be used when searching on an Ethernet bus + signal. + """ + return self._hivalue + + @property + def offset(self) -> SearchSearchItemTriggerABusEthernetDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet`` command. + + Description: + - This command specifies the data offset value, in bytes, to use when searching on the + Ethernet data field. The search condition needs to be set to DATa. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet? + ``` + + Info: + - ```` is an integer whose minimum and default values are -1 (don't care) and + maximum is 1,499. + """ + return self._offset + + @property + def qualifier(self) -> SearchSearchItemTriggerABusEthernetDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier`` command. + + Description: + - This command specifies the qualifier to be used when searching on an Ethernet bus + signal. The search condition must be set to DATa. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier? + ``` + + Info: + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to greater than. + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to not equal. + - ``LESSEQual`` sets the qualifier to less than or equal. + - ``MOREEQual`` sets the qualifier to greater than or equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> SearchSearchItemTriggerABusEthernetDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string, in bytes, to use when searching + on the Ethernet bus signal. The search condition needs to be set to DATa. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe? + ``` + + Info: + - ```` specifies the length of the data string, in bytes. The minimum and default + values are 1, and the maximum value is 16. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusEthernetDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue`` command. + + Description: + - This command specifies the binary value to use when searching on the Ethernet bus + signal. The search condition needs to be set to DATa. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue? + ``` + + Info: + - ```` is a quoted string where the allowable characters are 0, 1, and X. The + allowable number of characters depends on the setting for size (using + ``SEARCH:SEARCHX:TRIGGER:A:BUS:ETHERNET:DATA:SIZE``). The bits specified in the quoted + string replace the least significant bits, leaving any unspecified upper bits + unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusEthernetCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition`` command. + + Description: + - This command specifies a field or condition for an Ethernet bus to search on. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition {SFD|MACADDRess|MACLENgth|IPHeader|TCPHeader|DATa|EOP|IDLe|FCSError|QTAG} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition? + ``` + + Info: + - ``SFD`` - Start of frame delimiter. + - ``MACADDRess`` - MAC addresses field. + - ``MACLENgth`` - MAC length/type field. + - ``IPHeader`` - IP header field. + - ``TCPHeader`` - TCP header field. + - ``DATa`` - TCP/IPv4 or MAC protocol client data field. + - ``EOP`` - End of Packet field. + - ``IDLe`` - Idle field. + - ``FCSError`` - Frame Check Sequence Error (CRC) field. + - ``QTAG`` - IEEE 802.1Q (VLAN) control information field. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthernet(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa`` command tree. + - ``.ipheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + - ``.mac``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC`` command tree. + - ``.qtag``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG`` command tree. + - ``.tcpheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusEthernetCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusEthernetData(device, f"{self._cmd_syntax}:DATa") + self._ipheader = SearchSearchItemTriggerABusEthernetIpheader( + device, f"{self._cmd_syntax}:IPHeader" + ) + self._mac = SearchSearchItemTriggerABusEthernetMac(device, f"{self._cmd_syntax}:MAC") + self._qtag = SearchSearchItemTriggerABusEthernetQtag(device, f"{self._cmd_syntax}:QTAG") + self._tcpheader = SearchSearchItemTriggerABusEthernetTcpheader( + device, f"{self._cmd_syntax}:TCPHeader" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusEthernetCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition`` command. + + Description: + - This command specifies a field or condition for an Ethernet bus to search on. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition {SFD|MACADDRess|MACLENgth|IPHeader|TCPHeader|DATa|EOP|IDLe|FCSError|QTAG} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition? + ``` + + Info: + - ``SFD`` - Start of frame delimiter. + - ``MACADDRess`` - MAC addresses field. + - ``MACLENgth`` - MAC length/type field. + - ``IPHeader`` - IP header field. + - ``TCPHeader`` - TCP header field. + - ``DATa`` - TCP/IPv4 or MAC protocol client data field. + - ``EOP`` - End of Packet field. + - ``IDLe`` - Idle field. + - ``FCSError`` - Frame Check Sequence Error (CRC) field. + - ``QTAG`` - IEEE 802.1Q (VLAN) control information field. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusEthernetData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:QUALifier`` + command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa:VALue`` command. + """ + return self._data + + @property + def ipheader(self) -> SearchSearchItemTriggerABusEthernetIpheader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.destinationaddr``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:DESTinationaddr`` command tree. + - ``.protocol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:PROTOcol`` + command tree. + - ``.sourceaddr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader:SOUrceaddr`` + command tree. + """ + return self._ipheader + + @property + def mac(self) -> SearchSearchItemTriggerABusEthernetMac: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:ADDRess`` command + tree. + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC:LENgth`` command tree. + """ + return self._mac + + @property + def qtag(self) -> SearchSearchItemTriggerABusEthernetQtag: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG:VALue`` command. + """ + return self._qtag + + @property + def tcpheader(self) -> SearchSearchItemTriggerABusEthernetTcpheader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acknum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:ACKnum`` command + tree. + - ``.destinationport``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:DESTinationport`` command tree. + - ``.seqnum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SEQnum`` command + tree. + - ``.sourceport``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader:SOUrceport`` + command tree. + """ + return self._tcpheader + + +class SearchSearchItemTriggerABusEthercatWkcValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue`` command. + + Description: + - This command sets the binary Working Counter information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue? + ``` + + Info: + - ```` is the binary Working Counter information value to be used when searching on + an EtherCAT bus signal. The default size and value of Working Counter information is 16 + bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatWkc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatWkcValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatWkcValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue`` command. + + Description: + - This command sets the binary Working Counter information to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue? + ``` + + Info: + - ```` is the binary Working Counter information value to be used when + searching on an EtherCAT bus signal. The default size and value of Working Counter + information is 16 bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatTciValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue`` command. + + Description: + - This command sets the binary Tag control Information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue? + ``` + + Info: + - ```` is the binary TCI value to be used when searching on an EtherCAT bus signal. + The default size and value of TCI is 16 bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatTci(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatTciValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatTciValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue`` command. + + Description: + - This command sets the binary Tag control Information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue? + ``` + + Info: + - ```` is the binary TCI value to be used when searching on an EtherCAT bus + signal. The default size and value of TCI is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatSrcPortValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue`` command. + + Description: + - This command sets the UDP Source port to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue? + ``` + + Info: + - ```` is the binary Source Port value to be used when searching on an EtherCAT bus + signal. The default size and value of Source Port is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatSrcPort(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatSrcPortValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatSrcPortValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue`` command. + + Description: + - This command sets the UDP Source port to be used for EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue? + ``` + + Info: + - ```` is the binary Source Port value to be used when searching on an EtherCAT + bus signal. The default size and value of Source Port is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatSrc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.port``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._port = SearchSearchItemTriggerABusEthercatSrcPort(device, f"{self._cmd_syntax}:PORT") + + @property + def port(self) -> SearchSearchItemTriggerABusEthercatSrcPort: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT:VALue`` command. + """ + return self._port + + +class SearchSearchItemTriggerABusEthercatSourceaddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue`` command. + + Description: + - This command sets the binary MAC source address value to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue? + ``` + + Info: + - ```` is the binary MAC source address value to be used when searching on an + EtherCAT bus signal. The default size and value of MAC Source Address is 48 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatSourceaddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatSourceaddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatSourceaddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue`` command. + + Description: + - This command sets the binary MAC source address value to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue? + ``` + + Info: + - ```` is the binary MAC source address value to be used when searching on an + EtherCAT bus signal. The default size and value of MAC Source Address is 48 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatServiceDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue`` command. + + Description: + - This command specifies the length of the service data string in bytes to be used for + EtherCAT bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue? + ``` + + Info: + - ```` is the binary Service Data value to be used when searching on an EtherCAT + bus signal. The default size and value of Service Data is 8 bits and 'XXXXXXXX' + respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatServiceDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe`` command. + + Description: + - This command specifies the length of the service data string in bytes to be used for + EtherCAT bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe? + ``` + + Info: + - ```` is the Service Data size. The default value is 1. The valid range is 1 to 5. + """ + + +class SearchSearchItemTriggerABusEthercatServiceDataLength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth`` command. + + Description: + - This command sets the binary Service Data Length to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth? + ``` + + Info: + - ```` is the binary Service Data Length to be used when searching on an EtherCAT + bus signal. The default size and value of Service Data Length is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatServiceData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = SearchSearchItemTriggerABusEthercatServiceDataLength( + device, f"{self._cmd_syntax}:LENGth" + ) + self._size = SearchSearchItemTriggerABusEthercatServiceDataSize( + device, f"{self._cmd_syntax}:SIZe" + ) + self._value = SearchSearchItemTriggerABusEthercatServiceDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def length(self) -> SearchSearchItemTriggerABusEthercatServiceDataLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth`` command. + + Description: + - This command sets the binary Service Data Length to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth? + ``` + + Info: + - ```` is the binary Service Data Length to be used when searching on an + EtherCAT bus signal. The default size and value of Service Data Length is 16 bits and + 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._length + + @property + def size(self) -> SearchSearchItemTriggerABusEthercatServiceDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe`` command. + + Description: + - This command specifies the length of the service data string in bytes to be used for + EtherCAT bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe? + ``` + + Info: + - ```` is the Service Data size. The default value is 1. The valid range is 1 to 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatServiceDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue`` command. + + Description: + - This command specifies the length of the service data string in bytes to be used for + EtherCAT bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue? + ``` + + Info: + - ```` is the binary Service Data value to be used when searching on an + EtherCAT bus signal. The default size and value of Service Data is 8 bits and + 'XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatService(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerABusEthercatServiceData( + device, f"{self._cmd_syntax}:DATa" + ) + + @property + def data(self) -> SearchSearchItemTriggerABusEthercatServiceData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:LENGth`` + command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa:VALue`` + command. + """ + return self._data + + +class SearchSearchItemTriggerABusEthercatQualityValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue`` command. + + Description: + - This command sets the binary quality to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue? + ``` + + Info: + - ```` is the binary Quality value to be used when searching on an EtherCAT bus + signal. The default size and value of Quality is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatQuality(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatQualityValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatQualityValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue`` command. + + Description: + - This command sets the binary quality to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue? + ``` + + Info: + - ```` is the binary Quality value to be used when searching on an EtherCAT bus + signal. The default size and value of Quality is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatPubidValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue`` command. + + Description: + - This command sets the binary Publisher ID to be used for EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue? + ``` + + Info: + - ```` is the binary Publisher ID value to be used when searching on an EtherCAT + bus signal. The default size and value of Publisher ID is 48 bits and 'XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatPubid(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatPubidValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatPubidValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue`` command. + + Description: + - This command sets the binary Publisher ID to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue? + ``` + + Info: + - ```` is the binary Publisher ID value to be used when searching on an + EtherCAT bus signal. The default size and value of Publisher ID is 48 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatProtocoltype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe`` command. + + Description: + - This command sets or queries the EtherCAT Protocol Type in EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe {PDU|NETWORKVARiables|MAILbox} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe? + ``` + + Info: + - ``PDU`` specifies the Protocol Type as PDU. This is the default value. + - ``NETWORKVARiables`` specifies the Protocol Type as NETWORKVARiables. + - ``MAILbox`` specifies the Protocol Type as MAILbox. + """ + + +class SearchSearchItemTriggerABusEthercatPositionValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue`` command. + + Description: + - This command sets the binary address position information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue? + ``` + + Info: + - ```` is the binary Address Position value to be used when searching on an + EtherCAT bus signal. The default size and value Address Position is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatPosition(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatPositionValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatPositionValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue`` command. + + Description: + - This command sets the binary address position information to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue? + ``` + + Info: + - ```` is the binary Address Position value to be used when searching on an + EtherCAT bus signal. The default size and value Address Position is 16 bits and + 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatOffsetValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue`` command. + + Description: + - This command sets the binary address offset information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue? + ``` + + Info: + - ```` is the binary Address Offset data value to be used when searching on an + EtherCAT bus signal. The default size and value Address Offset is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatOffset(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatOffsetValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatOffsetValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue`` command. + + Description: + - This command sets the binary address offset information to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue? + ``` + + Info: + - ```` is the binary Address Offset data value to be used when searching on an + EtherCAT bus signal. The default size and value Address Offset is 16 bits and + 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatNetworkVariableHeader(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer`` command. + + Description: + - This command sets or queries the Network Variable Header fields in EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer {INDex|HASH|NVLEN|Q} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer? + ``` + + Info: + - ``INDex`` specifies the Network Variable Header field as INDex. This is the default value. + - ``HASH`` specifies the Network Variable Header field as HASH. + - ``NVLEN`` specifies the Network Variable Header field as NVLEN. + - ``Q`` specifies the Network Variable Header field as Q. + """ + + +class SearchSearchItemTriggerABusEthercatNetworkVariable(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable`` command. + + Description: + - This command sets or queries the Network Variable fields in EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable {PUBHEADer|NVHEADer|NVDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable? + ``` + + Info: + - ``PUBHEADer`` specifies the Network Variable as PUBHEADer. This is the default value. + - ``NVHEADer`` specifies the Network Variable as NVHEADer. + - ``NVDATa`` specifies the Network Variable as NVDATa. + + Properties: + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._header = SearchSearchItemTriggerABusEthercatNetworkVariableHeader( + device, f"{self._cmd_syntax}:HEADer" + ) + + @property + def header(self) -> SearchSearchItemTriggerABusEthercatNetworkVariableHeader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer`` command. + + Description: + - This command sets or queries the Network Variable Header fields in EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer {INDex|HASH|NVLEN|Q} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer? + ``` + + Info: + - ``INDex`` specifies the Network Variable Header field as INDex. This is the default + value. + - ``HASH`` specifies the Network Variable Header field as HASH. + - ``NVLEN`` specifies the Network Variable Header field as NVLEN. + - ``Q`` specifies the Network Variable Header field as Q. + """ + return self._header + + +class SearchSearchItemTriggerABusEthercatNetwork(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.variable``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._variable = SearchSearchItemTriggerABusEthercatNetworkVariable( + device, f"{self._cmd_syntax}:VARiable" + ) + + @property + def variable(self) -> SearchSearchItemTriggerABusEthercatNetworkVariable: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable`` command. + + Description: + - This command sets or queries the Network Variable fields in EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable {PUBHEADer|NVHEADer|NVDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable? + ``` + + Info: + - ``PUBHEADer`` specifies the Network Variable as PUBHEADer. This is the default value. + - ``NVHEADer`` specifies the Network Variable as NVHEADer. + - ``NVDATa`` specifies the Network Variable as NVDATa. + + Sub-properties: + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable:HEADer`` + command. + """ + return self._variable + + +class SearchSearchItemTriggerABusEthercatNetworkvariableDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue`` command. + + Description: + - This command specifies the binary network variable data string used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue? + ``` + + Info: + - ```` is the binary network variable data value to be used when searching on an + EtherCAT bus signal. The default Network Variable Data value is 'XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatNetworkvariableDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe`` command. + + Description: + - This command specifies the length of the network variable data string in bytes to be used + for EtherCAT bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe? + ``` + + Info: + - ```` is the Network Variable Data size. The default value is 1. The valid range is 1 + to 5. + """ + + +class SearchSearchItemTriggerABusEthercatNetworkvariableData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEthercatNetworkvariableDataSize( + device, f"{self._cmd_syntax}:SIZe" + ) + self._value = SearchSearchItemTriggerABusEthercatNetworkvariableDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEthercatNetworkvariableDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe`` command. + + Description: + - This command specifies the length of the network variable data string in bytes to be + used for EtherCAT bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe? + ``` + + Info: + - ```` is the Network Variable Data size. The default value is 1. The valid range + is 1 to 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatNetworkvariableDataValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue`` command. + + Description: + - This command specifies the binary network variable data string used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue? + ``` + + Info: + - ```` is the binary network variable data value to be used when searching on + an EtherCAT bus signal. The default Network Variable Data value is 'XXXXXXXX'. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatNetworkvariable(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerABusEthercatNetworkvariableData( + device, f"{self._cmd_syntax}:DATa" + ) + + @property + def data(self) -> SearchSearchItemTriggerABusEthercatNetworkvariableData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:SIZe`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa:VALue`` + command. + """ + return self._data + + +class SearchSearchItemTriggerABusEthercatMailboxHeader(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer`` command. + + Description: + - This command sets or queries the Mailbox Header fields in EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer {LENGth|ADDRess|CHANnel|PRIority|TYPe|CNT} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer? + ``` + + Info: + - ``LENGth`` specifies the Mailbox Header as Length. This is the default value. + - ``ADDRess`` specifies the Mailbox Header as Address. + - ``CHANnel`` specifies the Mailbox Header as Channel. + - ``PRIority`` specifies the Mailbox Header as Priority. + - ``TYPe`` specifies the Mailbox Header as Type. + - ``CNT`` specifies the Mailbox Header as Count. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthercatMailboxDetail(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail`` command. + + Description: + - This command sets or queries the Error Reply Service Data Details in EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail {ONE|TWO|THRee|FOUR|FIVe|SIX|SEVEn|EIGHt|NINe} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail? + ``` + + Info: + - ``ONE`` specifies the Detail field as ONE. This is the default value. + - ``TWO`` specifies the Detail field as TWO. + - ``THRee`` specifies the Detail field as THRee. + - ``FOUR`` specifies the Detail field as FOUR. + - ``FIVe`` specifies the Detail field as FIVe. + - ``SIX`` specifies the Detail field as SIX. + - ``SEVEn`` specifies the Detail field as SEVEn. + - ``EIGHt`` specifies the Detail field as EIGHt. + - ``NINe`` specifies the Detail field as NINe. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthercatMailboxCntValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue`` command. + + Description: + - This command sets the binary counter of the mailbox services to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue? + ``` + + Info: + - ```` is the binary Counter value to be used when searching on an EtherCAT bus + signal. The default size and value of Counter is 3 bits and 'XXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatMailboxCnt(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatMailboxCntValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatMailboxCntValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue`` command. + + Description: + - This command sets the binary counter of the mailbox services to be used for EtherCAT + bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue? + ``` + + Info: + - ```` is the binary Counter value to be used when searching on an EtherCAT bus + signal. The default size and value of Counter is 3 bits and 'XXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatMailboxAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue`` command. + + Description: + - This command sets the binary Mailbox Address to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue? + ``` + + Info: + - ```` is the binary Mailbox Address to be used when searching on an EtherCAT bus + signal. The default size and value of Address is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatMailboxAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatMailboxAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatMailboxAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue`` command. + + Description: + - This command sets the binary Mailbox Address to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue? + ``` + + Info: + - ```` is the binary Mailbox Address to be used when searching on an EtherCAT + bus signal. The default size and value of Address is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatMailbox(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox`` command. + + Description: + - This command sets or queries the Mailbox fields in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox {MAILBOXHEADer|SERVICEDATa|ERRSERVICEDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox? + ``` + + Info: + - ``MAILBOXHEADer`` specifies the Mailbox fields as mailbox header. This is the default + value. + - ``SERVICEDATa`` specifies the Mailbox fields as service data. + - ``ERRSERVICEDATa`` specifies the Mailbox fields as error reply service data. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess`` command + tree. + - ``.cnt``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT`` command tree. + - ``.detail``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail`` command. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEthercatMailboxAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._cnt = SearchSearchItemTriggerABusEthercatMailboxCnt(device, f"{self._cmd_syntax}:CNT") + self._detail = SearchSearchItemTriggerABusEthercatMailboxDetail( + device, f"{self._cmd_syntax}:DETail" + ) + self._header = SearchSearchItemTriggerABusEthercatMailboxHeader( + device, f"{self._cmd_syntax}:HEADer" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEthercatMailboxAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess:VALue`` + command. + """ + return self._address + + @property + def cnt(self) -> SearchSearchItemTriggerABusEthercatMailboxCnt: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT:VALue`` command. + """ + return self._cnt + + @property + def detail(self) -> SearchSearchItemTriggerABusEthercatMailboxDetail: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail`` command. + + Description: + - This command sets or queries the Error Reply Service Data Details in EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail {ONE|TWO|THRee|FOUR|FIVe|SIX|SEVEn|EIGHt|NINe} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail? + ``` + + Info: + - ``ONE`` specifies the Detail field as ONE. This is the default value. + - ``TWO`` specifies the Detail field as TWO. + - ``THRee`` specifies the Detail field as THRee. + - ``FOUR`` specifies the Detail field as FOUR. + - ``FIVe`` specifies the Detail field as FIVe. + - ``SIX`` specifies the Detail field as SIX. + - ``SEVEn`` specifies the Detail field as SEVEn. + - ``EIGHt`` specifies the Detail field as EIGHt. + - ``NINe`` specifies the Detail field as NINe. + """ # noqa: E501 + return self._detail + + @property + def header(self) -> SearchSearchItemTriggerABusEthercatMailboxHeader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer`` command. + + Description: + - This command sets or queries the Mailbox Header fields in EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer {LENGth|ADDRess|CHANnel|PRIority|TYPe|CNT} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer? + ``` + + Info: + - ``LENGth`` specifies the Mailbox Header as Length. This is the default value. + - ``ADDRess`` specifies the Mailbox Header as Address. + - ``CHANnel`` specifies the Mailbox Header as Channel. + - ``PRIority`` specifies the Mailbox Header as Priority. + - ``TYPe`` specifies the Mailbox Header as Type. + - ``CNT`` specifies the Mailbox Header as Count. + """ # noqa: E501 + return self._header + + +class SearchSearchItemTriggerABusEthercatMailboxtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe`` command. + + Description: + - This command sets or queries the Mailbox Type fields in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe {ZERo|ONE|TWO|THRee|FOUR|FIVe|RESERved|FIFTeen} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe? + ``` + + Info: + - ``ZERo`` specifies the Mailbox Type as ZERo. This is the default value. + - ``ONE`` specifies the Mailbox Type as ONE. + - ``TWO`` specifies the Mailbox Type as TWO. + - ``THRee`` specifies the Mailbox Type as THRee. + - ``FOUR`` specifies the Mailbox Type as FOUR. + - ``FIVe`` specifies the Mailbox Type as FIVe. + - ``RESERved`` specifies the Mailbox Type as RESERved. + - ``FIFTeen`` specifies the Mailbox Type as FIFTeen. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthercatLogicaladdressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue`` command. + + Description: + - This command sets the binary logical address information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue? + ``` + + Info: + - ```` is the binary Logical Address to be used when searching on an EtherCAT bus + signal. The default size and value Logical Address is 32 bits and 'XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatLogicaladdress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatLogicaladdressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatLogicaladdressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue`` command. + + Description: + - This command sets the binary logical address information to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue? + ``` + + Info: + - ```` is the binary Logical Address to be used when searching on an EtherCAT + bus signal. The default size and value Logical Address is 32 bits and 'XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatLenValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue`` command. + + Description: + - This command sets the binary Length to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue? + ``` + + Info: + - ```` is the binary Length to be used when searching on an EtherCAT bus signal. + The default size and value of Length is 16 bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatLen(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatLenValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatLenValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue`` command. + + Description: + - This command sets the binary Length to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue? + ``` + + Info: + - ```` is the binary Length to be used when searching on an EtherCAT bus + signal. The default size and value of Length is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatIrqValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue`` command. + + Description: + - This command sets the binary interrupt request information to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue? + ``` + + Info: + - ```` is the binary interrupt request information to be used when searching on an + EtherCAT bus signal. The default size and value interrupt request information is 16 bits + and 'XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatIrq(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatIrqValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatIrqValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue`` command. + + Description: + - This command sets the binary interrupt request information to be used for EtherCAT + bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue? + ``` + + Info: + - ```` is the binary interrupt request information to be used when searching on + an EtherCAT bus signal. The default size and value interrupt request information is 16 + bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatIpsourceAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue`` command. + + Description: + - This command sets the Source IP Address to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue? + ``` + + Info: + - ```` is the binary Source IP Address to be used when searching on an EtherCAT bus + signal. The default size and value of Source Address is 32 bits and 'XXXXXXXX XXXXXXXX + XXXXXXXX XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatIpsourceAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatIpsourceAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatIpsourceAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue`` command. + + Description: + - This command sets the Source IP Address to be used for EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue? + ``` + + Info: + - ```` is the binary Source IP Address to be used when searching on an EtherCAT + bus signal. The default size and value of Source Address is 32 bits and 'XXXXXXXX + XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatIpsource(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEthercatIpsourceAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEthercatIpsourceAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess:VALue`` + command. + """ + return self._address + + +class SearchSearchItemTriggerABusEthercatIpdestinationAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue`` command. + + Description: + - This command sets the Destination IP Address to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue? + ``` + + Info: + - ```` is the binary Destination IP Address to be used when searching on an + EtherCAT bus signal. The default size and value of Destination Address is 32 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatIpdestinationAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatIpdestinationAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatIpdestinationAddressValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue`` command. + + Description: + - This command sets the Destination IP Address to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue? + ``` + + Info: + - ```` is the binary Destination IP Address to be used when searching on an + EtherCAT bus signal. The default size and value of Destination Address is 32 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatIpdestination(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEthercatIpdestinationAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEthercatIpdestinationAddress: + """``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess:VALue`` command. + """ + return self._address + + +class SearchSearchItemTriggerABusEthercatIndexValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue`` command. + + Description: + - This command sets the binary Index to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue? + ``` + + Info: + - ```` is the binary Index to be used when searching on an EtherCAT bus signal. The + default size and value of Index is 16 bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatIndex(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatIndexValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatIndexValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue`` command. + + Description: + - This command sets the binary Index to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue? + ``` + + Info: + - ```` is the binary Index to be used when searching on an EtherCAT bus signal. + The default size and value of Index is 16 bits and 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatIdxValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue`` command. + + Description: + - This command sets the binary Indexing information to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue? + ``` + + Info: + - ```` is the binary Index value to be used when searching on an EtherCAT bus + signal. The default size and value of Index is 8 bits and 'XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatIdx(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatIdxValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatIdxValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue`` command. + + Description: + - This command sets the binary Indexing information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue? + ``` + + Info: + - ```` is the binary Index value to be used when searching on an EtherCAT bus + signal. The default size and value of Index is 8 bits and 'XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatIdentificationValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue`` command. + + Description: + - This command sets the IP Identification to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue? + ``` + + Info: + - ```` is the binary IP Identification to be used when searching on an EtherCAT bus + signal. The default size and value of Identification is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatIdentification(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatIdentificationValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatIdentificationValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue`` command. + + Description: + - This command sets the IP Identification to be used for EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue? + ``` + + Info: + - ```` is the binary IP Identification to be used when searching on an EtherCAT + bus signal. The default size and value of Identification is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatHeaderLength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth`` command. + + Description: + - This command sets or queries the binary header length to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth? + ``` + + Info: + - ```` is the binary header length to be used when searching on an EtherCAT bus + signal. The default size and value of Length is 11 bits and 'XXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatHeader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = SearchSearchItemTriggerABusEthercatHeaderLength( + device, f"{self._cmd_syntax}:LENGth" + ) + + @property + def length(self) -> SearchSearchItemTriggerABusEthercatHeaderLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth`` command. + + Description: + - This command sets or queries the binary header length to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth? + ``` + + Info: + - ```` is the binary header length to be used when searching on an EtherCAT bus + signal. The default size and value of Length is 11 bits and 'XXX XXXXXXXX' + respectively. + """ + return self._length + + +class SearchSearchItemTriggerABusEthercatHashValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue`` command. + + Description: + - This command sets the binary HASH to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue? + ``` + + Info: + - ```` is the binary Hash value to be used when searching on an EtherCAT bus + signal. The default size and value of Hash is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatHash(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatHashValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatHashValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue`` command. + + Description: + - This command sets the binary HASH to be used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue? + ``` + + Info: + - ```` is the binary Hash value to be used when searching on an EtherCAT bus + signal. The default size and value of Hash is 16 bits and 'XXXXXXXX XXXXXXXX' + respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatFrametype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe`` command. + + Description: + - This command sets or queries the Frame Type in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe {BASic|UDPIP} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe? + ``` + + Info: + - ``BASic`` specifies the Frame Type as BASic. This is the default value. + - ``UDPIP`` specifies the Frame Type as UDPIP. + """ + + +class SearchSearchItemTriggerABusEthercatErrorReplyServiceData(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa`` command. + + Description: + - This command sets or queries the error reply service data fields in EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa {TYPe|DETail} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa? + ``` + + Info: + - ``TYPe`` specifies the Error Reply Service Data to type. This is the default value. + - ``DETail`` specifies the Error Reply Service Data to detail. + """ + + +class SearchSearchItemTriggerABusEthercatErrorReplyService(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._data = SearchSearchItemTriggerABusEthercatErrorReplyServiceData( + device, f"{self._cmd_syntax}:DATa" + ) + + @property + def data(self) -> SearchSearchItemTriggerABusEthercatErrorReplyServiceData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa`` command. + + Description: + - This command sets or queries the error reply service data fields in EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa {TYPe|DETail} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa? + ``` + + Info: + - ``TYPe`` specifies the Error Reply Service Data to type. This is the default value. + - ``DETail`` specifies the Error Reply Service Data to detail. + """ + return self._data + + +class SearchSearchItemTriggerABusEthercatErrorReply(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.service``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._service = SearchSearchItemTriggerABusEthercatErrorReplyService( + device, f"{self._cmd_syntax}:SERVice" + ) + + @property + def service(self) -> SearchSearchItemTriggerABusEthercatErrorReplyService: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice:DATa`` + command. + """ + return self._service + + +class SearchSearchItemTriggerABusEthercatError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.reply``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reply = SearchSearchItemTriggerABusEthercatErrorReply( + device, f"{self._cmd_syntax}:REPLy" + ) + + @property + def reply(self) -> SearchSearchItemTriggerABusEthercatErrorReply: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.service``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy:SERVice`` + command tree. + """ + return self._reply + + +class SearchSearchItemTriggerABusEthercatDeviceaddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess`` command. + + Description: + - This command sets or queries the Device Address in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess {POSition|OFFSet} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess? + ``` + + Info: + - ``POSition`` specifies the Device Address to position. This is the default value. + - ``OFFSet`` specifies the Device Address to offset. + """ + + +class SearchSearchItemTriggerABusEthercatDestinationaddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue`` command. + + Description: + - This command sets the binary MAC destination address value to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue? + ``` + + Info: + - ```` is the binary MAC destination address value to be used when searching on an + EtherCAT bus signal. The default size and value of MAC Destination Address is 48 bits and + 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatDestinationaddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatDestinationaddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatDestinationaddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue`` command. + + Description: + - This command sets the binary MAC destination address value to be used for EtherCAT + bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue? + ``` + + Info: + - ```` is the binary MAC destination address value to be used when searching on + an EtherCAT bus signal. The default size and value of MAC Destination Address is 48 + bits and 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue? + ``` + + Info: + - ```` is the binary Cycle Number to be used when searching on an EtherCAT bus + signal. The default data size and value is 8 bits and 'XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe? + ``` + + Info: + - ```` is the binary data value to be used when searching on an Ethernet bus signal. + The default size is 1. The valid range is 1 to 5. + """ + + +class SearchSearchItemTriggerABusEthercatData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEthercatDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusEthercatDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusEthercatDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for EtherCAT + bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe? + ``` + + Info: + - ```` is the binary data value to be used when searching on an Ethernet bus + signal. The default size is 1. The valid range is 1 to 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue? + ``` + + Info: + - ```` is the binary Cycle Number to be used when searching on an EtherCAT bus + signal. The default data size and value is 8 bits and 'XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatDatagramheaderLength(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth`` command. + + Description: + - This command sets the binary Datagram length information to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth? + ``` + + Info: + - ```` is the binary Datagram length information to be used when searching on an + EtherCAT bus signal. The default size and value Datagram length information is 11 bits and + 'XXXXXXXX XXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatDatagramheader(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer`` command. + + Description: + - This command sets or queries the Datagram Header fields in EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer {CMD|IDX|ADDRess|LEN|CIRCulating|IRQ} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer? + ``` + + Info: + - ``CMD`` specifies the Datagram Header field as CMD. This is the default value. + - ``IDX`` specifies the Datagram Header field as IDX. + - ``ADDRess`` specifies the Datagram Header field as ADDRess. + - ``LEN`` specifies the Datagram Header field as LEN. + - ``CIRCulating`` specifies the Datagram Header field as CIRCulating. + - ``IRQ`` specifies the Datagram Header field as IRQ. + + Properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth`` + command. + """ # noqa: E501 + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._length = SearchSearchItemTriggerABusEthercatDatagramheaderLength( + device, f"{self._cmd_syntax}:LENGth" + ) + + @property + def length(self) -> SearchSearchItemTriggerABusEthercatDatagramheaderLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth`` command. + + Description: + - This command sets the binary Datagram length information to be used for EtherCAT bus. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth? + ``` + + Info: + - ```` is the binary Datagram length information to be used when searching on + an EtherCAT bus signal. The default size and value Datagram length information is 11 + bits and 'XXXXXXXX XXX' respectively. + """ + return self._length + + +class SearchSearchItemTriggerABusEthercatDatagram(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM`` command. + + Description: + - This command sets or queries the Datagram fields in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM {HEADer|DATa|WKC} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM? + ``` + + Info: + - ``HEADer`` specifies the Datagram field and sets it to Header. This is the default value. + - ``DATa`` specifies the Datagram field and sets it to Data. + - ``WKC`` specifies the Datagram field and sets it to WKC. + """ + + +class SearchSearchItemTriggerABusEthercatCycValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue`` command. + + Description: + - This command sets the binary Cycle Number to be used for EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue? + ``` + + Info: + - ```` is the binary Cycle Number to be used when searching on an EtherCAT bus + signal. The default size and value of Network Variable Count is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatCyc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatCycValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatCycValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue`` command. + + Description: + - This command sets the binary Cycle Number to be used for EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue? + ``` + + Info: + - ```` is the binary Cycle Number to be used when searching on an EtherCAT bus + signal. The default size and value of Network Variable Count is 16 bits and 'XXXXXXXX + XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a EtherCAT bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition {SOF|PROTocol|IPHEADer|UDPIPHEADer|MACADDRess|TCI|ECATHEADERLENGth|DATagram|NETWORKVARiable|MAILBOX|FCSERRor|EOF} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition? + ``` + + Info: + - ``SOF`` specifies the field within a EtherCAT frame to search on as SOF. This is the + default value. + - ``PROTocol`` specifies the field within a EtherCAT frame to search on as PROTocol. + - ``IPHEADer`` specifies the field within a EtherCAT frame to search on as IPHEADer. + - ``UDPIPHEADer`` specifies the field within a EtherCAT frame to search on as UDPIPHEADer. + - ``MACADDRess`` specifies the field within a EtherCAT frame to search on as MACADDRess. + - ``TCI`` specifies the field within a EtherCAT frame to search on as TCI. + - ``ECATHEADERLENGth`` specifies the field within a EtherCAT frame to search on as + ECATHEADERLENGth. + - ``DATagram`` specifies the field within a EtherCAT frame to search on as DATagram. + - ``NETWORKVARiable`` specifies the field within a EtherCAT frame to search on as + NETWORKVARiable. + - ``MAILBOX`` specifies the field within a EtherCAT frame to search on as MAILBOX. + - ``FCSERRor`` specifies the field within a EtherCAT frame to search on as FCSERRor. + - ``EOF`` specifies the field within a EtherCAT frame to search on as EOF. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthercatCommandtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe`` command. + + Description: + - This command sets or queries the Command Type in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe {NOP|APRD|APWR|APRW|FPRD|FPWR|FPRW|BRD|BWR|BRW|LRD|LWR|LRW|ARMW|FRMW|REServed} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe? + ``` + + Info: + - ``NOP`` specifies the Command Type and sets it to NOP. This is the default value. + - ``APRD`` specifies the Command Type and sets it to APRD. + - ``APWR`` specifies the Command Type and sets it to APWR. + - ``APRW`` specifies the Command Type and sets it to APRW. + - ``FPRD`` specifies the Command Type and sets it to FPRD. + - ``FPWR`` specifies the Command Type and sets it to FPWR. + - ``FPRW`` specifies the Command Type and sets it to FPRW. + - ``BRD`` specifies the Command Type and sets it to BRD. + - ``BWR`` specifies the Command Type and sets it to BWR. + - ``BRW`` specifies the Command Type and sets it to BRW. + - ``LRD`` specifies the Command Type and sets it to LRD. + - ``LWR`` specifies the Command Type and sets it to LWR. + - ``LRW`` specifies the Command Type and sets it to LRW. + - ``ARMW`` specifies the Command Type and sets it to ARMW. + - ``FRMW`` specifies the Command Type and sets it to FRMW. + - ``REServed`` specifies the Command Type and sets it to REServed. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEthercatCntnvValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue`` command. + + Description: + - This command sets the binary Network Variable Count to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue? + ``` + + Info: + - ```` is the binary Network Variable Count to be used when searching on an + EtherCAT bus signal. The default size and value of Network Variable Count is 16 bits and + 'XXXXXXXX XXXXXXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEthercatCntnv(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEthercatCntnvValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEthercatCntnvValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue`` command. + + Description: + - This command sets the binary Network Variable Count to be used for EtherCAT bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue? + ``` + + Info: + - ```` is the binary Network Variable Count to be used when searching on an + EtherCAT bus signal. The default size and value of Network Variable Count is 16 bits + and 'XXXXXXXX XXXXXXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusEthercatAddressmode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe`` command. + + Description: + - This command sets or queries the Address Mode in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe {DEVice|LOGical} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe? + ``` + + Info: + - ``DEVice`` sets the Address Mode to Device. This is the default value. + - ``LOGical`` sets the Address Mode to Logical. + """ + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class SearchSearchItemTriggerABusEthercat(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.addressmode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe`` command. + - ``.cntnv``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV`` command tree. + - ``.commandtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe`` command. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition`` command. + - ``.cyc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC`` command tree. + - ``.datagram``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM`` command. + - ``.datagramheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer`` + command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa`` command tree. + - ``.destinationaddress``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess`` command tree. + - ``.deviceaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess`` command. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor`` command tree. + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe`` command. + - ``.hash``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH`` command tree. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer`` command tree. + - ``.identification``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification`` + command tree. + - ``.idx``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX`` command tree. + - ``.index``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex`` command tree. + - ``.ipdestination``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination`` command + tree. + - ``.ipsource``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce`` command tree. + - ``.irq``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ`` command tree. + - ``.len``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN`` command tree. + - ``.logicaladdress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess`` + command tree. + - ``.mailboxtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe`` command. + - ``.mailbox``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox`` command. + - ``.networkvariable``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable`` + command tree. + - ``.network``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork`` command tree. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet`` command tree. + - ``.position``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition`` command tree. + - ``.protocoltype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe`` command. + - ``.pubid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID`` command tree. + - ``.quality``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity`` command tree. + - ``.service``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice`` command tree. + - ``.sourceaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess`` command + tree. + - ``.src``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC`` command tree. + - ``.tci``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI`` command tree. + - ``.wkc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._addressmode = SearchSearchItemTriggerABusEthercatAddressmode( + device, f"{self._cmd_syntax}:ADDRESSMODe" + ) + self._cntnv = SearchSearchItemTriggerABusEthercatCntnv(device, f"{self._cmd_syntax}:CNTNV") + self._commandtype = SearchSearchItemTriggerABusEthercatCommandtype( + device, f"{self._cmd_syntax}:COMMANDTYPe" + ) + self._condition = SearchSearchItemTriggerABusEthercatCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._cyc = SearchSearchItemTriggerABusEthercatCyc(device, f"{self._cmd_syntax}:CYC") + self._datagram = SearchSearchItemTriggerABusEthercatDatagram( + device, f"{self._cmd_syntax}:DATAGRAM" + ) + self._datagramheader = SearchSearchItemTriggerABusEthercatDatagramheader( + device, f"{self._cmd_syntax}:DATAGRAMHEADer" + ) + self._data = SearchSearchItemTriggerABusEthercatData(device, f"{self._cmd_syntax}:DATa") + self._destinationaddress = SearchSearchItemTriggerABusEthercatDestinationaddress( + device, f"{self._cmd_syntax}:DESTINATIONADDRess" + ) + self._deviceaddress = SearchSearchItemTriggerABusEthercatDeviceaddress( + device, f"{self._cmd_syntax}:DEVICEADDRess" + ) + self._error = SearchSearchItemTriggerABusEthercatError(device, f"{self._cmd_syntax}:ERRor") + self._frametype = SearchSearchItemTriggerABusEthercatFrametype( + device, f"{self._cmd_syntax}:FRAMETYPe" + ) + self._hash = SearchSearchItemTriggerABusEthercatHash(device, f"{self._cmd_syntax}:HASH") + self._header = SearchSearchItemTriggerABusEthercatHeader( + device, f"{self._cmd_syntax}:HEADer" + ) + self._identification = SearchSearchItemTriggerABusEthercatIdentification( + device, f"{self._cmd_syntax}:IDENtification" + ) + self._idx = SearchSearchItemTriggerABusEthercatIdx(device, f"{self._cmd_syntax}:IDX") + self._index = SearchSearchItemTriggerABusEthercatIndex(device, f"{self._cmd_syntax}:INDex") + self._ipdestination = SearchSearchItemTriggerABusEthercatIpdestination( + device, f"{self._cmd_syntax}:IPDESTination" + ) + self._ipsource = SearchSearchItemTriggerABusEthercatIpsource( + device, f"{self._cmd_syntax}:IPSOURce" + ) + self._irq = SearchSearchItemTriggerABusEthercatIrq(device, f"{self._cmd_syntax}:IRQ") + self._len = SearchSearchItemTriggerABusEthercatLen(device, f"{self._cmd_syntax}:LEN") + self._logicaladdress = SearchSearchItemTriggerABusEthercatLogicaladdress( + device, f"{self._cmd_syntax}:LOGICALADDRess" + ) + self._mailboxtype = SearchSearchItemTriggerABusEthercatMailboxtype( + device, f"{self._cmd_syntax}:MAILBOXTYPe" + ) + self._mailbox = SearchSearchItemTriggerABusEthercatMailbox( + device, f"{self._cmd_syntax}:MAILbox" + ) + self._networkvariable = SearchSearchItemTriggerABusEthercatNetworkvariable( + device, f"{self._cmd_syntax}:NETWORKVARiable" + ) + self._network = SearchSearchItemTriggerABusEthercatNetwork( + device, f"{self._cmd_syntax}:NETWork" + ) + self._offset = SearchSearchItemTriggerABusEthercatOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._position = SearchSearchItemTriggerABusEthercatPosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._protocoltype = SearchSearchItemTriggerABusEthercatProtocoltype( + device, f"{self._cmd_syntax}:PROTOCOLTYPe" + ) + self._pubid = SearchSearchItemTriggerABusEthercatPubid(device, f"{self._cmd_syntax}:PUBID") + self._quality = SearchSearchItemTriggerABusEthercatQuality( + device, f"{self._cmd_syntax}:QUALity" + ) + self._service = SearchSearchItemTriggerABusEthercatService( + device, f"{self._cmd_syntax}:SERVice" + ) + self._sourceaddress = SearchSearchItemTriggerABusEthercatSourceaddress( + device, f"{self._cmd_syntax}:SOURCEADDRess" + ) + self._src = SearchSearchItemTriggerABusEthercatSrc(device, f"{self._cmd_syntax}:SRC") + self._tci = SearchSearchItemTriggerABusEthercatTci(device, f"{self._cmd_syntax}:TCI") + self._wkc = SearchSearchItemTriggerABusEthercatWkc(device, f"{self._cmd_syntax}:WKC") + + @property + def addressmode(self) -> SearchSearchItemTriggerABusEthercatAddressmode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe`` command. + + Description: + - This command sets or queries the Address Mode in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe {DEVice|LOGical} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe? + ``` + + Info: + - ``DEVice`` sets the Address Mode to Device. This is the default value. + - ``LOGical`` sets the Address Mode to Logical. + """ + return self._addressmode + + @property + def cntnv(self) -> SearchSearchItemTriggerABusEthercatCntnv: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV:VALue`` command. + """ + return self._cntnv + + @property + def commandtype(self) -> SearchSearchItemTriggerABusEthercatCommandtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe`` command. + + Description: + - This command sets or queries the Command Type in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe {NOP|APRD|APWR|APRW|FPRD|FPWR|FPRW|BRD|BWR|BRW|LRD|LWR|LRW|ARMW|FRMW|REServed} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe? + ``` + + Info: + - ``NOP`` specifies the Command Type and sets it to NOP. This is the default value. + - ``APRD`` specifies the Command Type and sets it to APRD. + - ``APWR`` specifies the Command Type and sets it to APWR. + - ``APRW`` specifies the Command Type and sets it to APRW. + - ``FPRD`` specifies the Command Type and sets it to FPRD. + - ``FPWR`` specifies the Command Type and sets it to FPWR. + - ``FPRW`` specifies the Command Type and sets it to FPRW. + - ``BRD`` specifies the Command Type and sets it to BRD. + - ``BWR`` specifies the Command Type and sets it to BWR. + - ``BRW`` specifies the Command Type and sets it to BRW. + - ``LRD`` specifies the Command Type and sets it to LRD. + - ``LWR`` specifies the Command Type and sets it to LWR. + - ``LRW`` specifies the Command Type and sets it to LRW. + - ``ARMW`` specifies the Command Type and sets it to ARMW. + - ``FRMW`` specifies the Command Type and sets it to FRMW. + - ``REServed`` specifies the Command Type and sets it to REServed. + """ # noqa: E501 + return self._commandtype + + @property + def condition(self) -> SearchSearchItemTriggerABusEthercatCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition {SOF|PROTocol|IPHEADer|UDPIPHEADer|MACADDRess|TCI|ECATHEADERLENGth|DATagram|NETWORKVARiable|MAILBOX|FCSERRor|EOF} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition? + ``` + + Info: + - ``SOF`` specifies the field within a EtherCAT frame to search on as SOF. This is the + default value. + - ``PROTocol`` specifies the field within a EtherCAT frame to search on as PROTocol. + - ``IPHEADer`` specifies the field within a EtherCAT frame to search on as IPHEADer. + - ``UDPIPHEADer`` specifies the field within a EtherCAT frame to search on as + UDPIPHEADer. + - ``MACADDRess`` specifies the field within a EtherCAT frame to search on as MACADDRess. + - ``TCI`` specifies the field within a EtherCAT frame to search on as TCI. + - ``ECATHEADERLENGth`` specifies the field within a EtherCAT frame to search on as + ECATHEADERLENGth. + - ``DATagram`` specifies the field within a EtherCAT frame to search on as DATagram. + - ``NETWORKVARiable`` specifies the field within a EtherCAT frame to search on as + NETWORKVARiable. + - ``MAILBOX`` specifies the field within a EtherCAT frame to search on as MAILBOX. + - ``FCSERRor`` specifies the field within a EtherCAT frame to search on as FCSERRor. + - ``EOF`` specifies the field within a EtherCAT frame to search on as EOF. + """ # noqa: E501 + return self._condition + + @property + def cyc(self) -> SearchSearchItemTriggerABusEthercatCyc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC:VALue`` command. + """ + return self._cyc + + @property + def datagram(self) -> SearchSearchItemTriggerABusEthercatDatagram: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM`` command. + + Description: + - This command sets or queries the Datagram fields in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM {HEADer|DATa|WKC} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM? + ``` + + Info: + - ``HEADer`` specifies the Datagram field and sets it to Header. This is the default + value. + - ``DATa`` specifies the Datagram field and sets it to Data. + - ``WKC`` specifies the Datagram field and sets it to WKC. + """ + return self._datagram + + @property + def datagramheader(self) -> SearchSearchItemTriggerABusEthercatDatagramheader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer`` command. + + Description: + - This command sets or queries the Datagram Header fields in EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer {CMD|IDX|ADDRess|LEN|CIRCulating|IRQ} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer? + ``` + + Info: + - ``CMD`` specifies the Datagram Header field as CMD. This is the default value. + - ``IDX`` specifies the Datagram Header field as IDX. + - ``ADDRess`` specifies the Datagram Header field as ADDRess. + - ``LEN`` specifies the Datagram Header field as LEN. + - ``CIRCulating`` specifies the Datagram Header field as CIRCulating. + - ``IRQ`` specifies the Datagram Header field as IRQ. + + Sub-properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer:LENGth`` + command. + """ # noqa: E501 + return self._datagramheader + + @property + def data(self) -> SearchSearchItemTriggerABusEthercatData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa:VALue`` command. + """ + return self._data + + @property + def destinationaddress(self) -> SearchSearchItemTriggerABusEthercatDestinationaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess:VALue`` + command. + """ + return self._destinationaddress + + @property + def deviceaddress(self) -> SearchSearchItemTriggerABusEthercatDeviceaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess`` command. + + Description: + - This command sets or queries the Device Address in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess {POSition|OFFSet} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess? + ``` + + Info: + - ``POSition`` specifies the Device Address to position. This is the default value. + - ``OFFSet`` specifies the Device Address to offset. + """ + return self._deviceaddress + + @property + def error(self) -> SearchSearchItemTriggerABusEthercatError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.reply``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor:REPLy`` command tree. + """ + return self._error + + @property + def frametype(self) -> SearchSearchItemTriggerABusEthercatFrametype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe`` command. + + Description: + - This command sets or queries the Frame Type in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe {BASic|UDPIP} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe? + ``` + + Info: + - ``BASic`` specifies the Frame Type as BASic. This is the default value. + - ``UDPIP`` specifies the Frame Type as UDPIP. + """ + return self._frametype + + @property + def hash(self) -> SearchSearchItemTriggerABusEthercatHash: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH:VALue`` command. + """ + return self._hash + + @property + def header(self) -> SearchSearchItemTriggerABusEthercatHeader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer:LENGth`` command. + """ + return self._header + + @property + def identification(self) -> SearchSearchItemTriggerABusEthercatIdentification: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification:VALue`` + command. + """ + return self._identification + + @property + def idx(self) -> SearchSearchItemTriggerABusEthercatIdx: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX:VALue`` command. + """ + return self._idx + + @property + def index(self) -> SearchSearchItemTriggerABusEthercatIndex: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex:VALue`` command. + """ + return self._index + + @property + def ipdestination(self) -> SearchSearchItemTriggerABusEthercatIpdestination: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination:ADDRess`` + command tree. + """ + return self._ipdestination + + @property + def ipsource(self) -> SearchSearchItemTriggerABusEthercatIpsource: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce:ADDRess`` command + tree. + """ + return self._ipsource + + @property + def irq(self) -> SearchSearchItemTriggerABusEthercatIrq: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ:VALue`` command. + """ + return self._irq + + @property + def len(self) -> SearchSearchItemTriggerABusEthercatLen: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN:VALue`` command. + """ + return self._len + + @property + def logicaladdress(self) -> SearchSearchItemTriggerABusEthercatLogicaladdress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess:VALue`` + command. + """ + return self._logicaladdress + + @property + def mailboxtype(self) -> SearchSearchItemTriggerABusEthercatMailboxtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe`` command. + + Description: + - This command sets or queries the Mailbox Type fields in EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe {ZERo|ONE|TWO|THRee|FOUR|FIVe|RESERved|FIFTeen} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe? + ``` + + Info: + - ``ZERo`` specifies the Mailbox Type as ZERo. This is the default value. + - ``ONE`` specifies the Mailbox Type as ONE. + - ``TWO`` specifies the Mailbox Type as TWO. + - ``THRee`` specifies the Mailbox Type as THRee. + - ``FOUR`` specifies the Mailbox Type as FOUR. + - ``FIVe`` specifies the Mailbox Type as FIVe. + - ``RESERved`` specifies the Mailbox Type as RESERved. + - ``FIFTeen`` specifies the Mailbox Type as FIFTeen. + """ # noqa: E501 + return self._mailboxtype + + @property + def mailbox(self) -> SearchSearchItemTriggerABusEthercatMailbox: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox`` command. + + Description: + - This command sets or queries the Mailbox fields in EtherCAT bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox {MAILBOXHEADer|SERVICEDATa|ERRSERVICEDATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox? + ``` + + Info: + - ``MAILBOXHEADer`` specifies the Mailbox fields as mailbox header. This is the default + value. + - ``SERVICEDATa`` specifies the Mailbox fields as service data. + - ``ERRSERVICEDATa`` specifies the Mailbox fields as error reply service data. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:ADDRess`` command + tree. + - ``.cnt``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:CNT`` command tree. + - ``.detail``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:DETail`` command. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox:HEADer`` command. + """ # noqa: E501 + return self._mailbox + + @property + def networkvariable(self) -> SearchSearchItemTriggerABusEthercatNetworkvariable: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable:DATa`` + command tree. + """ + return self._networkvariable + + @property + def network(self) -> SearchSearchItemTriggerABusEthercatNetwork: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.variable``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork:VARiable`` + command. + """ + return self._network + + @property + def offset(self) -> SearchSearchItemTriggerABusEthercatOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet:VALue`` command. + """ + return self._offset + + @property + def position(self) -> SearchSearchItemTriggerABusEthercatPosition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition:VALue`` command. + """ + return self._position + + @property + def protocoltype(self) -> SearchSearchItemTriggerABusEthercatProtocoltype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe`` command. + + Description: + - This command sets or queries the EtherCAT Protocol Type in EtherCAT bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe {PDU|NETWORKVARiables|MAILbox} + - SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe? + ``` + + Info: + - ``PDU`` specifies the Protocol Type as PDU. This is the default value. + - ``NETWORKVARiables`` specifies the Protocol Type as NETWORKVARiables. + - ``MAILbox`` specifies the Protocol Type as MAILbox. + """ + return self._protocoltype + + @property + def pubid(self) -> SearchSearchItemTriggerABusEthercatPubid: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID:VALue`` command. + """ + return self._pubid + + @property + def quality(self) -> SearchSearchItemTriggerABusEthercatQuality: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity:VALue`` command. + """ + return self._quality + + @property + def service(self) -> SearchSearchItemTriggerABusEthercatService: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice:DATa`` command tree. + """ + return self._service + + @property + def sourceaddress(self) -> SearchSearchItemTriggerABusEthercatSourceaddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess:VALue`` + command. + """ + return self._sourceaddress + + @property + def src(self) -> SearchSearchItemTriggerABusEthercatSrc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.port``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC:PORT`` command tree. + """ + return self._src + + @property + def tci(self) -> SearchSearchItemTriggerABusEthercatTci: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI:VALue`` command. + """ + return self._tci + + @property + def wkc(self) -> SearchSearchItemTriggerABusEthercatWkc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC:VALue`` command. + """ + return self._wkc + + +class SearchSearchItemTriggerABusEspiVirtualwireStatusValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Status. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiVirtualwireStatus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiVirtualwireStatusValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiVirtualwireStatusValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Status. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiVirtualwireResponseValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Response. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiVirtualwireResponse(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiVirtualwireResponseValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiVirtualwireResponseValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Response. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiVirtualwireIndexValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Index. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiVirtualwireIndex(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiVirtualwireIndexValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiVirtualwireIndexValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Index. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiVirtualwireDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Data. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiVirtualwireData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiVirtualwireDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiVirtualwireDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire Data. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiVirtualwireCountValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire count. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiVirtualwireCount(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiVirtualwireCountValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiVirtualwireCountValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Virtual wire count. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiVirtualwire(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.count``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt`` command tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa`` command tree. + - ``.index``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex`` command tree. + - ``.response``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse`` command + tree. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._count = SearchSearchItemTriggerABusEspiVirtualwireCount( + device, f"{self._cmd_syntax}:COUNt" + ) + self._data = SearchSearchItemTriggerABusEspiVirtualwireData( + device, f"{self._cmd_syntax}:DATa" + ) + self._index = SearchSearchItemTriggerABusEspiVirtualwireIndex( + device, f"{self._cmd_syntax}:INDex" + ) + self._response = SearchSearchItemTriggerABusEspiVirtualwireResponse( + device, f"{self._cmd_syntax}:RESPonse" + ) + self._status = SearchSearchItemTriggerABusEspiVirtualwireStatus( + device, f"{self._cmd_syntax}:STATus" + ) + + @property + def count(self) -> SearchSearchItemTriggerABusEspiVirtualwireCount: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt:VALue`` + command. + """ + return self._count + + @property + def data(self) -> SearchSearchItemTriggerABusEspiVirtualwireData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa:VALue`` + command. + """ + return self._data + + @property + def index(self) -> SearchSearchItemTriggerABusEspiVirtualwireIndex: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex:VALue`` + command. + """ + return self._index + + @property + def response(self) -> SearchSearchItemTriggerABusEspiVirtualwireResponse: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse:VALue`` + command. + """ + return self._response + + @property + def status(self) -> SearchSearchItemTriggerABusEspiVirtualwireStatus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus:VALue`` + command. + """ + return self._status + + +class SearchSearchItemTriggerABusEspiTagValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Tag. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiTag(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiTagValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusEspiTagValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Tag. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiSmbusSlaveAddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is SMBus Slave Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiSmbusSlave(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEspiSmbusSlaveAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEspiSmbusSlaveAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is SMBus Slave Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._address + + +class SearchSearchItemTriggerABusEspiSmbusDestinationAddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is SMBus Source/Destination Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiSmbusDestination(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEspiSmbusDestinationAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEspiSmbusDestinationAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is SMBus Source/Destination Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._address + + +class SearchSearchItemTriggerABusEspiSmbus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.destination``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination`` command + tree. + - ``.slave``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._destination = SearchSearchItemTriggerABusEspiSmbusDestination( + device, f"{self._cmd_syntax}:DESTination" + ) + self._slave = SearchSearchItemTriggerABusEspiSmbusSlave(device, f"{self._cmd_syntax}:SLAVe") + + @property + def destination(self) -> SearchSearchItemTriggerABusEspiSmbusDestination: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination:ADDRess`` + command. + """ + return self._destination + + @property + def slave(self) -> SearchSearchItemTriggerABusEspiSmbusSlave: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe:ADDRess`` command. + """ + return self._slave + + +class SearchSearchItemTriggerABusEspiRespcycleType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe`` command. + + Description: + - This command sets or queries the response cycle type on command in ESPI bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe {MEMRDWR32|MEMRDWR64|MESSage|MSGWITHDATa|SUCCESSNODATa|SUCCESSDATa|UNSUCCESSNODATa|LTR|FLASHREAD|FLASHWRITe|FLASHERASe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe? + ``` + + Info: + - ``MEMRDWR32`` specifies Memory Read/Write 32 as the cycle type to search on. + - ``MEMRDWR64`` specifies Memory Read/Write 64 as the cycle type to search on. + - ``MESSage`` specifies message as the cycle type to search on. + - ``MSGWITHDATa`` specifies message with Data as the cycle type to search on. + - ``SUCCESSNODATa`` specifies success without data as the cycle type to search on. + - ``SUCCESSDATa`` specifies success with data as the cycle type to search on. + - ``UNSUCCESSNODATa`` specifies unsuccess without data as the cycle type to search on. + - ``LTR`` specifies LTR as the cycle type to search on. + - ``FLASHREAD`` specifies flash read as the cycle type to search on. + - ``FLASHWRITe`` specifies flash write as the cycle type to search on. + - ``FLASHERASe`` specifies flash erase as the cycle type to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEspiRespcycle(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusEspiRespcycleType( + device, f"{self._cmd_syntax}:TYPe" + ) + + @property + def type(self) -> SearchSearchItemTriggerABusEspiRespcycleType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe`` command. + + Description: + - This command sets or queries the response cycle type on command in ESPI bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe {MEMRDWR32|MEMRDWR64|MESSage|MSGWITHDATa|SUCCESSNODATa|SUCCESSDATa|UNSUCCESSNODATa|LTR|FLASHREAD|FLASHWRITe|FLASHERASe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe? + ``` + + Info: + - ``MEMRDWR32`` specifies Memory Read/Write 32 as the cycle type to search on. + - ``MEMRDWR64`` specifies Memory Read/Write 64 as the cycle type to search on. + - ``MESSage`` specifies message as the cycle type to search on. + - ``MSGWITHDATa`` specifies message with Data as the cycle type to search on. + - ``SUCCESSNODATa`` specifies success without data as the cycle type to search on. + - ``SUCCESSDATa`` specifies success with data as the cycle type to search on. + - ``UNSUCCESSNODATa`` specifies unsuccess without data as the cycle type to search on. + - ``LTR`` specifies LTR as the cycle type to search on. + - ``FLASHREAD`` specifies flash read as the cycle type to search on. + - ``FLASHWRITe`` specifies flash write as the cycle type to search on. + - ``FLASHERASe`` specifies flash erase as the cycle type to search on. + """ # noqa: E501 + return self._type + + +class SearchSearchItemTriggerABusEspiPhase(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe`` command. + + Description: + - This command sets or queries the phase in ESPI bus. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe {COMMand|RESPONSE|RESPONSEHEADer|RESPONSENOHEADer} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe? + ``` + + Info: + - ``COMMand`` specifies command as the field/packet to search on. + - ``RESPONSE`` specifies response as the field/packet to search on. + - ``RESPONSEHEADer`` specifies the response header as the field/packet to search on. + - ``RESPONSENOHEADer`` specifies the response without header as the field/packet to search + on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEspiLengthValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Length. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiLength(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiLengthValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiLengthValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Length. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type on command or response in ESPI bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe {CRC|DEFer|FATal|NONFATal|NORESPonse|CMDOPCODe|CYCLETYPe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe? + ``` + + Info: + - ``CRC`` specifies CRC as the error type to search on. + - ``DEFer`` specifies DEFer as the error type to search on. + - ``FATal`` specifies FATal as the error type to search on. + - ``NONFATal`` specifies NONFATal as the error type to search on. + - ``NORESPonse`` specifies NORESPonse as the error type to search on. + - ``CMDOPCODe`` specifies CMDOPCODe as the error type to search on. + - ``CYCLETYPe`` specifies CYCLETYPe as the error type to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEspiError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusEspiErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusEspiErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type on command or response in ESPI bus. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe {CRC|DEFer|FATal|NONFATal|NORESPonse|CMDOPCODe|CYCLETYPe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe? + ``` + + Info: + - ``CRC`` specifies CRC as the error type to search on. + - ``DEFer`` specifies DEFer as the error type to search on. + - ``FATal`` specifies FATal as the error type to search on. + - ``NONFATal`` specifies NONFATal as the error type to search on. + - ``NORESPonse`` specifies NORESPonse as the error type to search on. + - ``CMDOPCODe`` specifies CMDOPCODe as the error type to search on. + - ``CYCLETYPe`` specifies CYCLETYPe as the error type to search on. + """ # noqa: E501 + return self._type + + +class SearchSearchItemTriggerABusEspiDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for ESPI + triggering if the trigger condition is DATA. The default data size is 1 byte and ranges + between 1 and 5. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. The default data size is 1 and the valid range is 1 to + 5. + """ + + +class SearchSearchItemTriggerABusEspiData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusEspiDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusEspiDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusEspiDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for ESPI + triggering if the trigger condition is DATA. The default data size is 1 byte and + ranges between 1 and 5. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. The default data size is 1 and the valid range is 1 + to 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusEspiDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusEspiCycletype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe`` command. + + Description: + - This command sets or queries the cycle type on command in ESPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe {MEMRD32|MEMRD64|MEMWR32|MEMWR64|MESSage|MSGWITHDATa|SUCCESSNODATa|SUCCESSDATa|UNSUCCESSNODATa|OOBSMBUS|MCTP|FLASHREAD|FLASHWRITe|FLASHERASe|FLSUCCESSNODATa|FLSUCCESSDATa|FLUNSUCCESSNODATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe? + ``` + + Info: + - ``MEMRD32`` specifies Memory Read 32 as the cycle type to search on. + - ``MEMRD64`` specifies Memory Read 64 as the cycle type to search on. + - ``MEMWR32`` specifies Memory Read Write 32 as the cycle type to search on. + - ``MEMWR64`` specifies Memory Read Write 64 as the cycle type to search on. + - ``MESSage`` specifies MESSage as the cycle type to search on. + - ``MSGWITHDATa`` specifies message with Data as the cycle type to search on. + - ``SUCCESSNODATa`` specifies success without data as the cycle type to search on. + - ``SUCCESSDATa`` specifies success with data as the cycle type to search on. + - ``UNSUCCESSNODATa`` specifies unsuccess without data as the cycle type to search on. + - ``OOBSMBUS`` specifies OOB SMBus as the cycle type to search on. + - ``MCTP`` specifies MCTP as the cycle type to search on. + - ``FLASHREAD`` specifies FLASHREAD as the cycle type to search on. + - ``FLASHWRITe`` specifies FLASHWRITe as the cycle type to search on. + - ``FLASHERASe`` specifies FLASHERASe as the cycle type to search on. + - ``FLSUCCESSNODATa`` specifies flash success without data as the cycle type to search on. + - ``FLSUCCESSDATa`` specifies flash Success with data as the cycle type to search on. + - ``FLUNSUCCESSNODATa`` specifies flash unsuccess without data as the cycle type to search + on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEspiCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a ESPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition {STARt|CHINDependent|PERICHANnel|OOBCHANnel|VWCHANnel|FACHANnel|DATa|STATus|ERRors|WAIT|END} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition? + ``` + + Info: + - ``STARt`` specifies STARt as the event for ESPI frame to search on. + - ``CHINDependent`` specifies CHINDependent channel for ESPI protocol to search on. + - ``PERICHANnel`` specifies peripheral channel for ESPI protocol to search on. + - ``OOBCHANnel`` specifies OOBCHANnel channel for ESPI protocol to search on. + - ``VWCHANnel`` specifies virtual wire channel for ESPI protocol to search on. + - ``FACHANnel`` specifies flash channel for ESPI protocol to search on. + - ``DATa`` specifies DATa as the field within a ESPI frame to search on. + - ``STATus`` specifies STATus as the field within a ESPI frame to search on. + - ``ERRors`` specifies ERRors as the type of error ESPI frame to search on. + - ``WAIT`` specifies WAIT as the field within a ESPI frame to search on. + - ``END`` specifies END as the event for a ESPI frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEspiCommandOpcode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode`` command. + + Description: + - This command sets or queries the command opcode in ESPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode {GETSTATus|GETCONFig|SETCONFig|GETNP|GETPC|PUTNP|PUTPC|PUTIORDSHORt|PUTIOWRSHORt|PUTMEMRD32SHORt|PUTMEMWR32SHORt|PUTOOB|GETOOB|PUTFLASHC|GETFLASHNP|PUTVWIRe|GETVWIRe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode? + ``` + + Info: + - ``GETSTATus`` specifies get status as the command opcode in ESPI bus to search on. + - ``GETCONFig`` specifies get configuration as the command opcode in ESPI bus to search on. + - ``SETCONFig`` specifies set configuration as the command opcode in ESPI bus to search on. + - ``GETNP`` specifies GETNP as the command opcode in ESPI bus to search on. + - ``GETPC`` specifies GETPC as the command opcode in ESPI bus to search on. + - ``PUTNP`` specifies PUTNP as the command opcode in ESPI bus to search on. + - ``PUTPC`` specifies PUTPC as the command opcode in ESPI bus to search on. + - ``PUTIORDSHORt`` specifies put IO read short as the command opcode in ESPI bus to search + on. + - ``PUTIOWRSHORt`` specifies put IO write short as the command opcode in ESPI bus to search + on. + - ``PUTMEMRD32SHORt`` specifies put memory read 32 short as the command opcode in ESPI bus + to search on. + - ``PUTMEMWR32SHORt`` specifies put memory write 32 short as the command opcode in ESPI bus + to search on. + - ``PUTOOB`` specifies PUTOOB as the command opcode in ESPI bus to search on. + - ``GETOOB`` specifies GETOOB as the command opcode in ESPI bus to search on. + - ``PUTFLASHC`` specifies PUTFLASHC as the command opcode in ESPI bus to search on. + - ``GETFLASHNP`` specifies GETFLASHNP as the command opcode in ESPI bus to search on. + - ``PUTVWIRe`` specifies put virtual wire as the command opcode in ESPI bus to search on. + - ``GETVWIRe`` specifies get virtual wire as the command opcode in ESPI bus to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusEspiCommand(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.opcode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._opcode = SearchSearchItemTriggerABusEspiCommandOpcode( + device, f"{self._cmd_syntax}:OPCode" + ) + + @property + def opcode(self) -> SearchSearchItemTriggerABusEspiCommandOpcode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode`` command. + + Description: + - This command sets or queries the command opcode in ESPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode {GETSTATus|GETCONFig|SETCONFig|GETNP|GETPC|PUTNP|PUTPC|PUTIORDSHORt|PUTIOWRSHORt|PUTMEMRD32SHORt|PUTMEMWR32SHORt|PUTOOB|GETOOB|PUTFLASHC|GETFLASHNP|PUTVWIRe|GETVWIRe} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode? + ``` + + Info: + - ``GETSTATus`` specifies get status as the command opcode in ESPI bus to search on. + - ``GETCONFig`` specifies get configuration as the command opcode in ESPI bus to search + on. + - ``SETCONFig`` specifies set configuration as the command opcode in ESPI bus to search + on. + - ``GETNP`` specifies GETNP as the command opcode in ESPI bus to search on. + - ``GETPC`` specifies GETPC as the command opcode in ESPI bus to search on. + - ``PUTNP`` specifies PUTNP as the command opcode in ESPI bus to search on. + - ``PUTPC`` specifies PUTPC as the command opcode in ESPI bus to search on. + - ``PUTIORDSHORt`` specifies put IO read short as the command opcode in ESPI bus to + search on. + - ``PUTIOWRSHORt`` specifies put IO write short as the command opcode in ESPI bus to + search on. + - ``PUTMEMRD32SHORt`` specifies put memory read 32 short as the command opcode in ESPI + bus to search on. + - ``PUTMEMWR32SHORt`` specifies put memory write 32 short as the command opcode in ESPI + bus to search on. + - ``PUTOOB`` specifies PUTOOB as the command opcode in ESPI bus to search on. + - ``GETOOB`` specifies GETOOB as the command opcode in ESPI bus to search on. + - ``PUTFLASHC`` specifies PUTFLASHC as the command opcode in ESPI bus to search on. + - ``GETFLASHNP`` specifies GETFLASHNP as the command opcode in ESPI bus to search on. + - ``PUTVWIRe`` specifies put virtual wire as the command opcode in ESPI bus to search + on. + - ``GETVWIRe`` specifies get virtual wire as the command opcode in ESPI bus to search + on. + """ # noqa: E501 + return self._opcode + + +class SearchSearchItemTriggerABusEspiAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusEspiAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusEspiAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusEspiAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue`` command. + + Description: + - This command specifies the binary data string used for ESPI triggering if the trigger + condition is Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusEspi(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess`` command tree. + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition`` command. + - ``.cycletype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor`` command tree. + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth`` command tree. + - ``.phase``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe`` command. + - ``.respcycle``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE`` command tree. + - ``.smbus``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS`` command tree. + - ``.tag``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG`` command tree. + - ``.virtualwire``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusEspiAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._command = SearchSearchItemTriggerABusEspiCommand( + device, f"{self._cmd_syntax}:COMMAND" + ) + self._condition = SearchSearchItemTriggerABusEspiCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._cycletype = SearchSearchItemTriggerABusEspiCycletype( + device, f"{self._cmd_syntax}:CYCLETYPe" + ) + self._data = SearchSearchItemTriggerABusEspiData(device, f"{self._cmd_syntax}:DATa") + self._error = SearchSearchItemTriggerABusEspiError(device, f"{self._cmd_syntax}:ERRor") + self._length = SearchSearchItemTriggerABusEspiLength(device, f"{self._cmd_syntax}:LENGth") + self._phase = SearchSearchItemTriggerABusEspiPhase(device, f"{self._cmd_syntax}:PHASe") + self._respcycle = SearchSearchItemTriggerABusEspiRespcycle( + device, f"{self._cmd_syntax}:RESPCYCLE" + ) + self._smbus = SearchSearchItemTriggerABusEspiSmbus(device, f"{self._cmd_syntax}:SMBUS") + self._tag = SearchSearchItemTriggerABusEspiTag(device, f"{self._cmd_syntax}:TAG") + self._virtualwire = SearchSearchItemTriggerABusEspiVirtualwire( + device, f"{self._cmd_syntax}:VIRTUALWIRe" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusEspiAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess:VALue`` command. + """ + return self._address + + @property + def command(self) -> SearchSearchItemTriggerABusEspiCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.opcode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND:OPCode`` command. + """ + return self._command + + @property + def condition(self) -> SearchSearchItemTriggerABusEspiCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a ESPI bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition {STARt|CHINDependent|PERICHANnel|OOBCHANnel|VWCHANnel|FACHANnel|DATa|STATus|ERRors|WAIT|END} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition? + ``` + + Info: + - ``STARt`` specifies STARt as the event for ESPI frame to search on. + - ``CHINDependent`` specifies CHINDependent channel for ESPI protocol to search on. + - ``PERICHANnel`` specifies peripheral channel for ESPI protocol to search on. + - ``OOBCHANnel`` specifies OOBCHANnel channel for ESPI protocol to search on. + - ``VWCHANnel`` specifies virtual wire channel for ESPI protocol to search on. + - ``FACHANnel`` specifies flash channel for ESPI protocol to search on. + - ``DATa`` specifies DATa as the field within a ESPI frame to search on. + - ``STATus`` specifies STATus as the field within a ESPI frame to search on. + - ``ERRors`` specifies ERRors as the type of error ESPI frame to search on. + - ``WAIT`` specifies WAIT as the field within a ESPI frame to search on. + - ``END`` specifies END as the event for a ESPI frame to search on. + """ # noqa: E501 + return self._condition + + @property + def cycletype(self) -> SearchSearchItemTriggerABusEspiCycletype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe`` command. + + Description: + - This command sets or queries the cycle type on command in ESPI bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe {MEMRD32|MEMRD64|MEMWR32|MEMWR64|MESSage|MSGWITHDATa|SUCCESSNODATa|SUCCESSDATa|UNSUCCESSNODATa|OOBSMBUS|MCTP|FLASHREAD|FLASHWRITe|FLASHERASe|FLSUCCESSNODATa|FLSUCCESSDATa|FLUNSUCCESSNODATa} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe? + ``` + + Info: + - ``MEMRD32`` specifies Memory Read 32 as the cycle type to search on. + - ``MEMRD64`` specifies Memory Read 64 as the cycle type to search on. + - ``MEMWR32`` specifies Memory Read Write 32 as the cycle type to search on. + - ``MEMWR64`` specifies Memory Read Write 64 as the cycle type to search on. + - ``MESSage`` specifies MESSage as the cycle type to search on. + - ``MSGWITHDATa`` specifies message with Data as the cycle type to search on. + - ``SUCCESSNODATa`` specifies success without data as the cycle type to search on. + - ``SUCCESSDATa`` specifies success with data as the cycle type to search on. + - ``UNSUCCESSNODATa`` specifies unsuccess without data as the cycle type to search on. + - ``OOBSMBUS`` specifies OOB SMBus as the cycle type to search on. + - ``MCTP`` specifies MCTP as the cycle type to search on. + - ``FLASHREAD`` specifies FLASHREAD as the cycle type to search on. + - ``FLASHWRITe`` specifies FLASHWRITe as the cycle type to search on. + - ``FLASHERASe`` specifies FLASHERASe as the cycle type to search on. + - ``FLSUCCESSNODATa`` specifies flash success without data as the cycle type to search + on. + - ``FLSUCCESSDATa`` specifies flash Success with data as the cycle type to search on. + - ``FLUNSUCCESSNODATa`` specifies flash unsuccess without data as the cycle type to + search on. + """ # noqa: E501 + return self._cycletype + + @property + def data(self) -> SearchSearchItemTriggerABusEspiData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa:VALue`` command. + """ + return self._data + + @property + def error(self) -> SearchSearchItemTriggerABusEspiError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor:TYPe`` command. + """ + return self._error + + @property + def length(self) -> SearchSearchItemTriggerABusEspiLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth:VALue`` command. + """ + return self._length + + @property + def phase(self) -> SearchSearchItemTriggerABusEspiPhase: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe`` command. + + Description: + - This command sets or queries the phase in ESPI bus. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe {COMMand|RESPONSE|RESPONSEHEADer|RESPONSENOHEADer} + - SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe? + ``` + + Info: + - ``COMMand`` specifies command as the field/packet to search on. + - ``RESPONSE`` specifies response as the field/packet to search on. + - ``RESPONSEHEADer`` specifies the response header as the field/packet to search on. + - ``RESPONSENOHEADer`` specifies the response without header as the field/packet to + search on. + """ # noqa: E501 + return self._phase + + @property + def respcycle(self) -> SearchSearchItemTriggerABusEspiRespcycle: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE:TYPe`` command. + """ + return self._respcycle + + @property + def smbus(self) -> SearchSearchItemTriggerABusEspiSmbus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.destination``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:DESTination`` + command tree. + - ``.slave``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS:SLAVe`` command tree. + """ + return self._smbus + + @property + def tag(self) -> SearchSearchItemTriggerABusEspiTag: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG:VALue`` command. + """ + return self._tag + + @property + def virtualwire(self) -> SearchSearchItemTriggerABusEspiVirtualwire: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.count``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:COUNt`` command + tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:DATa`` command tree. + - ``.index``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:INDex`` command + tree. + - ``.response``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:RESPonse`` + command tree. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe:STATus`` command + tree. + """ + return self._virtualwire + + +class SearchSearchItemTriggerABusDphyYuvY(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y`` command. + + Description: + - This command specifies the Y data string used for DPHY triggering if the trigger condition + is on YUV packet. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y? + ``` + + Info: + - ```` is the identifier value. The default YUV packets Y value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyYuvV(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V`` command. + + Description: + - This command specifies the V data string used for DPHY triggering if the trigger condition + is on YUV packet. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V? + ``` + + Info: + - ```` is the identifier value. The default YUV packets V value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyYuvU(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U`` command. + + Description: + - This command specifies the U data string used for DPHY triggering if the trigger condition + is on YUV packet. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U? + ``` + + Info: + - ```` is the identifier value. The default YUV packets U value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyYuv(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.u``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U`` command. + - ``.v``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._u = SearchSearchItemTriggerABusDphyYuvU(device, f"{self._cmd_syntax}:U") + self._v = SearchSearchItemTriggerABusDphyYuvV(device, f"{self._cmd_syntax}:V") + self._y = SearchSearchItemTriggerABusDphyYuvY(device, f"{self._cmd_syntax}:Y") + + @property + def u(self) -> SearchSearchItemTriggerABusDphyYuvU: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U`` command. + + Description: + - This command specifies the U data string used for DPHY triggering if the trigger + condition is on YUV packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U? + ``` + + Info: + - ```` is the identifier value. The default YUV packets U value is XXXXXXXXXX. + """ + return self._u + + @property + def v(self) -> SearchSearchItemTriggerABusDphyYuvV: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V`` command. + + Description: + - This command specifies the V data string used for DPHY triggering if the trigger + condition is on YUV packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V? + ``` + + Info: + - ```` is the identifier value. The default YUV packets V value is XXXXXXXXXX. + """ + return self._v + + @property + def y(self) -> SearchSearchItemTriggerABusDphyYuvY: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y`` command. + + Description: + - This command specifies the Y data string used for DPHY triggering if the trigger + condition is on YUV packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y? + ``` + + Info: + - ```` is the identifier value. The default YUV packets Y value is XXXXXXXXXX. + """ + return self._y + + +class SearchSearchItemTriggerABusDphyYcbcrY(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y`` command. + + Description: + - This command specifies the Y data string used for DPHY triggering if the trigger condition + is on YCbCr packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets Y value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyYcbcrCr(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR`` command. + + Description: + - This command specifies the Cr data string used for DPHY triggering if the trigger + condition is on YCbCr packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CR value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyYcbcrCb(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB`` command. + + Description: + - This command specifies the Cb data string used for DPHY triggering if the trigger + condition is on YCbCr packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CB value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyYcbcr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.cb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB`` command. + - ``.cr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cb = SearchSearchItemTriggerABusDphyYcbcrCb(device, f"{self._cmd_syntax}:CB") + self._cr = SearchSearchItemTriggerABusDphyYcbcrCr(device, f"{self._cmd_syntax}:CR") + self._y = SearchSearchItemTriggerABusDphyYcbcrY(device, f"{self._cmd_syntax}:Y") + + @property + def cb(self) -> SearchSearchItemTriggerABusDphyYcbcrCb: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB`` command. + + Description: + - This command specifies the Cb data string used for DPHY triggering if the trigger + condition is on YCbCr packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CB value is + XXXXXXXXXX. + """ + return self._cb + + @property + def cr(self) -> SearchSearchItemTriggerABusDphyYcbcrCr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR`` command. + + Description: + - This command specifies the Cr data string used for DPHY triggering if the trigger + condition is on YCbCr packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CR value is + XXXXXXXXXX. + """ + return self._cr + + @property + def y(self) -> SearchSearchItemTriggerABusDphyYcbcrY: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y`` command. + + Description: + - This command specifies the Y data string used for DPHY triggering if the trigger + condition is on YCbCr packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets Y value is + XXXXXXXXXX. + """ + return self._y + + +class SearchSearchItemTriggerABusDphyWordcountValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue`` command. + + Description: + - This command specifies the word count data string used for DPHY triggering if the trigger + condition is set on any pixel packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue? + ``` + + Info: + - ```` is the identifier value. The default word count value is XXXXXXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyWordcount(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusDphyWordcountValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusDphyWordcountValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue`` command. + + Description: + - This command specifies the word count data string used for DPHY triggering if the + trigger condition is set on any pixel packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue? + ``` + + Info: + - ```` is the identifier value. The default word count value is + XXXXXXXXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusDphyRedValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue`` command. + + Description: + - This command specifies the red data string used for DPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue? + ``` + + Info: + - ```` is the identifier value. The default red value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyRed(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusDphyRedValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusDphyRedValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue`` command. + + Description: + - This command specifies the red data string used for DPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue? + ``` + + Info: + - ```` is the identifier value. The default red value is XXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusDphyPixelSearchoption(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion`` command. + + Description: + - This command sets or queries the search pattern type for DPHY bus. The default search + pattern type value is PIXELVALue. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion {PIXELVALue|PIXELNUMBer} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion? + ``` + + Info: + - ``PIXELVALue`` specifies PIXELVALue as the field within a DPHY frame to search on. + - ``PIXELNUMBer`` specifies PIXELNUMBer as the field within a DPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusDphyPixelNumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer`` command. + + Description: + - This command specifies the pixel number to be used for DPHY triggering if the trigger + condition is on pixel number pattern. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer? + ``` + + Info: + - ```` specifies the pixel number. The default pixel number value is 0. + """ + + +class SearchSearchItemTriggerABusDphyPixel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.number``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer`` command. + - ``.searchoption``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._number = SearchSearchItemTriggerABusDphyPixelNumber( + device, f"{self._cmd_syntax}:NUMBer" + ) + self._searchoption = SearchSearchItemTriggerABusDphyPixelSearchoption( + device, f"{self._cmd_syntax}:SEARCHOPTion" + ) + + @property + def number(self) -> SearchSearchItemTriggerABusDphyPixelNumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer`` command. + + Description: + - This command specifies the pixel number to be used for DPHY triggering if the trigger + condition is on pixel number pattern. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer? + ``` + + Info: + - ```` specifies the pixel number. The default pixel number value is 0. + """ + return self._number + + @property + def searchoption(self) -> SearchSearchItemTriggerABusDphyPixelSearchoption: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion`` command. + + Description: + - This command sets or queries the search pattern type for DPHY bus. The default search + pattern type value is PIXELVALue. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion {PIXELVALue|PIXELNUMBer} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion? + ``` + + Info: + - ``PIXELVALue`` specifies PIXELVALue as the field within a DPHY frame to search on. + - ``PIXELNUMBer`` specifies PIXELNUMBer as the field within a DPHY frame to search on. + """ + return self._searchoption + + +class SearchSearchItemTriggerABusDphyPacketsType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe`` command. + + Description: + - This command sets or queries the packet type for DPHY bus. The default packet type + condition is SHORt. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe {SHORt|LONG} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe? + ``` + + Info: + - ``SHORt`` specifies SHORt as the field within a DPHY frame to search on. SHORt is the + default packet type condition. + - ``LONG`` specifies LONG as the field within a DPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusDphyPacketsList(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST`` command. + + Description: + - This command sets or queries the packet list for DPHY bus. The default packet list + condition is VSYNCSTART. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST {VSYNCSTART|VSYNCEND|HSYNCSTART|HSYNCEND|EOTP|COLOROFF|COLORON|SHUTDOWN|TURNON|GSW|GR|COMPRESSION|SCRAMBLING|EXECUTEQUEue|DCSSW|DCSR|GLONGWRITE|DSINULL|DSIBLANk|MAXRETSIZE|DCSGLONGWRITE|PICPARameter|COMPRESSEDPSTReam|PPS101010|PPS121212|PPS565|PPS666|LPS666|PPS888|YCBCR24|LPYCBCR24|YCBCR16|YCBCR12|ACKNowledge|ERRORREPort|GSRR|GLONGREAD|DCSLONGREAD|DCSSRR|FRAMESTARt|FRAMEEND|LINESTARt|LINEEND|GSP|CSINULL|CSIBLANk|EMBEDDED|USEREIGHTB|RGB565|RGB555|RGB444|RGB666|RAW6|RAW7|RAW8|RAW10|RAW12|RAW14|RAW16|RAW20|RGB888|YUV420L8|YUV8BIT|YUV422B10|YUV420B10} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST? + ``` + + Info: + - ``VSYNCSTART`` specifies VSYNCSTART as the packet within DPHY frame to search on. + - ``VSYNCEND`` specifies VSYNCEND as the packet within DPHY frame to search on. + - ``HSYNCSTART`` specifies HSYNCSTART as the packet within DPHY frame to search on. + - ``HSYNCEND`` specifies HSYNCEND as the packet within DPHY frame to search on. + - ``EOTP`` specifies EOTP as the packet within DPHY frame to search on. + - ``COLOROFF`` specifies COLOROFF as the packet within DPHY frame to search on. + - ``COLORON`` specifies COLORON as the packet within DPHY frame to search on. + - ``SHUTDOWN`` specifies SHUTDOWN as the packet within DPHY frame to search on. + - ``TURNON`` specifies TURNON as the packet within DPHY frame to search on. + - ``GSW`` specifies GSW as the packet within DPHY frame to search on. + - ``GR`` specifies GR as the packet within DPHY frame to search on. + - ``COMPRESSION`` specifies COMPRESSION as the packet within DPHY frame to search on. + - ``SCRAMBLING`` specifies SCRAMBLING as the packet within DPHY frame to search on. + - ``EXECUTEQUEue`` specifies EXECUTEQUEue as the packet within DPHY frame to search on. + - ``DCSSW`` specifies DCSSW as the packet within DPHY frame to search on. + - ``DCSR`` specifies DCSR as the packet within DPHY frame to search on. + - ``GLONGWRITE`` specifies GLONGWRITE as the packet within DPHY frame to search on. + - ``DSINULL`` specifies DSINULL as the packet within DPHY frame to search on. + - ``DSIBLANk`` specifies DSIBLANk as the packet within DPHY frame to search on. + - ``MAXRETSIZE`` specifies MAXRETSIZE as the packet within DPHY frame to search on. + - ``DCSGLONGWRITE`` specifies DCSGLONGWRITE as the packet within DPHY frame to search on. + - ``PICPARameter`` specifies PICPARameter as the packet within DPHY frame to search on. + - ``COMPRESSEDPSTReam`` specifies COMPRESSEDPSTReam as the packet within DPHY frame to + search on. + - ``PPS101010`` specifies PPS101010 as the packet within DPHY frame to search on. + - ``PPS121212`` specifies PPS121212 as the packet within DPHY frame to search on. + - ``PPS565`` specifies PPS565 as the packet within DPHY frame to search on. + - ``PPS666`` specifies PPS666 as the packet within DPHY frame to search on. + - ``LPS666`` specifies LPS666 as the packet within DPHY frame to search on. + - ``PPS888`` specifies LPS666 as the packet within DPHY frame to search on. + - ``YCBCR24`` specifies YCBCR24 as the packet within DPHY frame to search on. + - ``LPYCBCR24`` specifies LPYCBCR24 as the packet within DPHY frame to search on. + - ``YCBCR16`` specifies YCBCR16 as the packet within DPHY frame to search on. + - ``YCBCR12`` specifies YCBCR12 as the packet within DPHY frame to search on. + - ``ACKNowledge`` specifies ACKNowledge as the packet within DPHY frame to search on. + - ``ERRORREPort`` specifies ERRORREPort as the packet within DPHY frame to search on. + - ``GSRR`` specifies GSRR as the packet within DPHY frame to search on. + - ``GLONGREAD`` specifies GLONGREAD as the packet within DPHY frame to search on. + - ``DCSLONGREAD`` specifies DCSLONGREAD as the packet within DPHY frame to search on. + - ``DCSSRR`` specifies DCSSRR as the packet within DPHY frame to search on. + - ``FRAMESTARt`` specifies FRAMESTARt as the packet within DPHY frame to search on. + - ``FRAMEEND`` specifies FRAMEEND as the packet within DPHY frame to search on. + - ``LINESTARt`` specifies LINESTARt as the packet within DPHY frame to search on. + - ``LINEEND`` specifies LINEEND as the packet within DPHY frame to search on. + - ``GSP`` specifies GSP as the packet within DPHY frame to search on. + - ``CSINULL`` specifies CSINULL as the packet within DPHY frame to search on. + - ``CSIBLANk`` specifies CSIBLANk as the packet within DPHY frame to search on. + - ``EMBEDDED`` specifies EMBEDDED as the packet within DPHY frame to search on. + - ``USEREIGHTB`` specifies USEREIGHTB as the packet within DPHY frame to search on. + - ``RGB565`` specifies RGB565 as the packet within DPHY frame to search on. + - ``RGB555`` specifies RGB555 as the packet within DPHY frame to search on. + - ``RGB444`` specifies RGB444 as the packet within DPHY frame to search on. + - ``RGB666`` specifies RGB666 as the packet within DPHY frame to search on. + - ``RAW6`` specifies RAW6 as the packet within DPHY frame to search on. + - ``RAW7`` specifies RAW7 as the packet within DPHY frame to search on. + - ``RAW8`` specifies RAW8 as the packet within DPHY frame to search on. + - ``RAW10`` specifies RAW10 as the packet within DPHY frame to search on. + - ``RAW12`` specifies RAW12 as the packet within DPHY frame to search on. + - ``RAW14`` specifies RAW14 as the packet within DPHY frame to search on. + - ``RAW16`` specifies RAW16 as the packet within DPHY frame to search on. + - ``RAW20`` specifies RAW20 as the packet within DPHY frame to search on. + - ``RGB888`` specifies RGB888 as the packet within DPHY frame to search on. + - ``YUV420L8`` specifies YUV420L8 as the packet within DPHY frame to search on. + - ``YUV8BIT`` specifies YUV8BIT as the packet within DPHY frame to search on. + - ``YUV422B10`` specifies YUV422B10 as the packet within DPHY frame to search on. + - ``YUV420B10`` specifies YUV420B10 as the packet within DPHY frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusDphyPackets(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.list``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._list = SearchSearchItemTriggerABusDphyPacketsList(device, f"{self._cmd_syntax}:LIST") + self._type = SearchSearchItemTriggerABusDphyPacketsType(device, f"{self._cmd_syntax}:TYPe") + + @property + def list(self) -> SearchSearchItemTriggerABusDphyPacketsList: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST`` command. + + Description: + - This command sets or queries the packet list for DPHY bus. The default packet list + condition is VSYNCSTART. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST {VSYNCSTART|VSYNCEND|HSYNCSTART|HSYNCEND|EOTP|COLOROFF|COLORON|SHUTDOWN|TURNON|GSW|GR|COMPRESSION|SCRAMBLING|EXECUTEQUEue|DCSSW|DCSR|GLONGWRITE|DSINULL|DSIBLANk|MAXRETSIZE|DCSGLONGWRITE|PICPARameter|COMPRESSEDPSTReam|PPS101010|PPS121212|PPS565|PPS666|LPS666|PPS888|YCBCR24|LPYCBCR24|YCBCR16|YCBCR12|ACKNowledge|ERRORREPort|GSRR|GLONGREAD|DCSLONGREAD|DCSSRR|FRAMESTARt|FRAMEEND|LINESTARt|LINEEND|GSP|CSINULL|CSIBLANk|EMBEDDED|USEREIGHTB|RGB565|RGB555|RGB444|RGB666|RAW6|RAW7|RAW8|RAW10|RAW12|RAW14|RAW16|RAW20|RGB888|YUV420L8|YUV8BIT|YUV422B10|YUV420B10} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST? + ``` + + Info: + - ``VSYNCSTART`` specifies VSYNCSTART as the packet within DPHY frame to search on. + - ``VSYNCEND`` specifies VSYNCEND as the packet within DPHY frame to search on. + - ``HSYNCSTART`` specifies HSYNCSTART as the packet within DPHY frame to search on. + - ``HSYNCEND`` specifies HSYNCEND as the packet within DPHY frame to search on. + - ``EOTP`` specifies EOTP as the packet within DPHY frame to search on. + - ``COLOROFF`` specifies COLOROFF as the packet within DPHY frame to search on. + - ``COLORON`` specifies COLORON as the packet within DPHY frame to search on. + - ``SHUTDOWN`` specifies SHUTDOWN as the packet within DPHY frame to search on. + - ``TURNON`` specifies TURNON as the packet within DPHY frame to search on. + - ``GSW`` specifies GSW as the packet within DPHY frame to search on. + - ``GR`` specifies GR as the packet within DPHY frame to search on. + - ``COMPRESSION`` specifies COMPRESSION as the packet within DPHY frame to search on. + - ``SCRAMBLING`` specifies SCRAMBLING as the packet within DPHY frame to search on. + - ``EXECUTEQUEue`` specifies EXECUTEQUEue as the packet within DPHY frame to search on. + - ``DCSSW`` specifies DCSSW as the packet within DPHY frame to search on. + - ``DCSR`` specifies DCSR as the packet within DPHY frame to search on. + - ``GLONGWRITE`` specifies GLONGWRITE as the packet within DPHY frame to search on. + - ``DSINULL`` specifies DSINULL as the packet within DPHY frame to search on. + - ``DSIBLANk`` specifies DSIBLANk as the packet within DPHY frame to search on. + - ``MAXRETSIZE`` specifies MAXRETSIZE as the packet within DPHY frame to search on. + - ``DCSGLONGWRITE`` specifies DCSGLONGWRITE as the packet within DPHY frame to search + on. + - ``PICPARameter`` specifies PICPARameter as the packet within DPHY frame to search on. + - ``COMPRESSEDPSTReam`` specifies COMPRESSEDPSTReam as the packet within DPHY frame to + search on. + - ``PPS101010`` specifies PPS101010 as the packet within DPHY frame to search on. + - ``PPS121212`` specifies PPS121212 as the packet within DPHY frame to search on. + - ``PPS565`` specifies PPS565 as the packet within DPHY frame to search on. + - ``PPS666`` specifies PPS666 as the packet within DPHY frame to search on. + - ``LPS666`` specifies LPS666 as the packet within DPHY frame to search on. + - ``PPS888`` specifies LPS666 as the packet within DPHY frame to search on. + - ``YCBCR24`` specifies YCBCR24 as the packet within DPHY frame to search on. + - ``LPYCBCR24`` specifies LPYCBCR24 as the packet within DPHY frame to search on. + - ``YCBCR16`` specifies YCBCR16 as the packet within DPHY frame to search on. + - ``YCBCR12`` specifies YCBCR12 as the packet within DPHY frame to search on. + - ``ACKNowledge`` specifies ACKNowledge as the packet within DPHY frame to search on. + - ``ERRORREPort`` specifies ERRORREPort as the packet within DPHY frame to search on. + - ``GSRR`` specifies GSRR as the packet within DPHY frame to search on. + - ``GLONGREAD`` specifies GLONGREAD as the packet within DPHY frame to search on. + - ``DCSLONGREAD`` specifies DCSLONGREAD as the packet within DPHY frame to search on. + - ``DCSSRR`` specifies DCSSRR as the packet within DPHY frame to search on. + - ``FRAMESTARt`` specifies FRAMESTARt as the packet within DPHY frame to search on. + - ``FRAMEEND`` specifies FRAMEEND as the packet within DPHY frame to search on. + - ``LINESTARt`` specifies LINESTARt as the packet within DPHY frame to search on. + - ``LINEEND`` specifies LINEEND as the packet within DPHY frame to search on. + - ``GSP`` specifies GSP as the packet within DPHY frame to search on. + - ``CSINULL`` specifies CSINULL as the packet within DPHY frame to search on. + - ``CSIBLANk`` specifies CSIBLANk as the packet within DPHY frame to search on. + - ``EMBEDDED`` specifies EMBEDDED as the packet within DPHY frame to search on. + - ``USEREIGHTB`` specifies USEREIGHTB as the packet within DPHY frame to search on. + - ``RGB565`` specifies RGB565 as the packet within DPHY frame to search on. + - ``RGB555`` specifies RGB555 as the packet within DPHY frame to search on. + - ``RGB444`` specifies RGB444 as the packet within DPHY frame to search on. + - ``RGB666`` specifies RGB666 as the packet within DPHY frame to search on. + - ``RAW6`` specifies RAW6 as the packet within DPHY frame to search on. + - ``RAW7`` specifies RAW7 as the packet within DPHY frame to search on. + - ``RAW8`` specifies RAW8 as the packet within DPHY frame to search on. + - ``RAW10`` specifies RAW10 as the packet within DPHY frame to search on. + - ``RAW12`` specifies RAW12 as the packet within DPHY frame to search on. + - ``RAW14`` specifies RAW14 as the packet within DPHY frame to search on. + - ``RAW16`` specifies RAW16 as the packet within DPHY frame to search on. + - ``RAW20`` specifies RAW20 as the packet within DPHY frame to search on. + - ``RGB888`` specifies RGB888 as the packet within DPHY frame to search on. + - ``YUV420L8`` specifies YUV420L8 as the packet within DPHY frame to search on. + - ``YUV8BIT`` specifies YUV8BIT as the packet within DPHY frame to search on. + - ``YUV422B10`` specifies YUV422B10 as the packet within DPHY frame to search on. + - ``YUV420B10`` specifies YUV420B10 as the packet within DPHY frame to search on. + """ # noqa: E501 + return self._list + + @property + def type(self) -> SearchSearchItemTriggerABusDphyPacketsType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe`` command. + + Description: + - This command sets or queries the packet type for DPHY bus. The default packet type + condition is SHORt. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe {SHORt|LONG} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe? + ``` + + Info: + - ``SHORt`` specifies SHORt as the field within a DPHY frame to search on. SHORt is the + default packet type condition. + - ``LONG`` specifies LONG as the field within a DPHY frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusDphyModeType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe`` command. + + Description: + - This command sets or queries the mode type for DPHY bus. The default mode type condition + is HS. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe {HS|LP} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe? + ``` + + Info: + - ``HS`` specifies HS as the mode within a DPHY frame to search on. HS is default mode type + condition. + - ``LP`` specifies LP as the mode within a DPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusDphyMode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusDphyModeType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusDphyModeType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe`` command. + + Description: + - This command sets or queries the mode type for DPHY bus. The default mode type + condition is HS. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe {HS|LP} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe? + ``` + + Info: + - ``HS`` specifies HS as the mode within a DPHY frame to search on. HS is default mode + type condition. + - ``LP`` specifies LP as the mode within a DPHY frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusDphyGreenValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue`` command. + + Description: + - This command specifies the green data string used for DPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue? + ``` + + Info: + - ```` is the identifier value. The default green value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyGreen(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusDphyGreenValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusDphyGreenValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue`` command. + + Description: + - This command specifies the green data string used for DPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue? + ``` + + Info: + - ```` is the identifier value. The default green value is XXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusDphyEscapemodeCommand(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand`` command. + + Description: + - This command sets or queries the escape mode command type for DPHY bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand {LPDT|ULPS|RESETTRIGger|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand? + ``` + + Info: + - ``LPDT`` specifies LPDT as the field within a DPHY frame to search on. + - ``ULPS`` specifies ULPS as the field within a DPHY frame to search on. + - ``RESETTRIGger`` specifies RESETTRIGger as the field within a DPHY frame to search on. + - ``ANY`` specifies ANY as the field within a DPHY frame to search on. ANY is the default + value. + """ + + +class SearchSearchItemTriggerABusDphyEscapemode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._command = SearchSearchItemTriggerABusDphyEscapemodeCommand( + device, f"{self._cmd_syntax}:COMMand" + ) + + @property + def command(self) -> SearchSearchItemTriggerABusDphyEscapemodeCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand`` command. + + Description: + - This command sets or queries the escape mode command type for DPHY bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand {LPDT|ULPS|RESETTRIGger|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand? + ``` + + Info: + - ``LPDT`` specifies LPDT as the field within a DPHY frame to search on. + - ``ULPS`` specifies ULPS as the field within a DPHY frame to search on. + - ``RESETTRIGger`` specifies RESETTRIGger as the field within a DPHY frame to search on. + - ``ANY`` specifies ANY as the field within a DPHY frame to search on. ANY is the + default value. + """ + return self._command + + +class SearchSearchItemTriggerABusDphyErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type for DPHY bus. The default error type condition + is ANY. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe {ANY|ECC|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe? + ``` + + Info: + - ``ANY`` specifies ANY as the field within a DPHY frame to search on. + - ``ECC`` specifies ECC as the field within a DPHY frame to search on. + - ``CRC`` specifies CRC as the field within a DPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusDphyError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusDphyErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusDphyErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type for DPHY bus. The default error type + condition is ANY. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe {ANY|ECC|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe? + ``` + + Info: + - ``ANY`` specifies ANY as the field within a DPHY frame to search on. + - ``ECC`` specifies ECC as the field within a DPHY frame to search on. + - ``CRC`` specifies CRC as the field within a DPHY frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusDphyDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for DPHY triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an DPHY + trigger if the trigger condition is DATA. The default data size is 1 byte and ranges + between 1 and 5. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. + """ + + +class SearchSearchItemTriggerABusDphyData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusDphyDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusDphyDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusDphyDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an DPHY + trigger if the trigger condition is DATA. The default data size is 1 byte and ranges + between 1 and 5. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusDphyDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for DPHY triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusDphyCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for an DPHY bus. The default trigger on + condition is SOT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition {SOT|EOT|DATa|EOTPDATa|OPTIONALPARam|SCRambling|COMPression|PACKets|BUSTURNAROUnd|ESCAPEMODe|STop|ERRors|MODe} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition? + ``` + + Info: + - ``SOT`` specifies SOT as the field within a DPHY frame to search on. + - ``EOT`` specifies EOT as the field within a DPHY frame to search on. + - ``DATa`` specifies DATa as the field within a DPHY frame to search on. + - ``EOTPDATa`` specifies EOTPDATa as the field within a DPHY frame to search on. + - ``OPTIONALPARam`` specifies OPTIONALPARam as the field within a DPHY frame to search on. + - ``SCRambling`` specifies SCRambling as the field within a DPHY frame to search on. + - ``COMPression`` specifies COMPression as the field within a DPHY frame to search on. + - ``PACKets`` specifies PACKets as the field within a DPHY frame to search on. + - ``BUSTURNAROUnd`` specifies BUSTURNAROUnd as the field within a DPHY frame to search on. + - ``ESCAPEMODe`` specifies ESCAPEMODe as the field within a DPHY frame to search on. + - ``STop`` specifies STop as the field within a DPHY frame to search on. + - ``ERRors`` specifies ERRors as the field within a DPHY frame to search on. + - ``MODe`` specifies MODe as the field within a DPHY frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusDphyBlueValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue`` command. + + Description: + - This command specifies the blue data string used for DPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue? + ``` + + Info: + - ```` is the identifier value. The default blue value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusDphyBlue(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusDphyBlueValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusDphyBlueValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue`` command. + + Description: + - This command specifies the blue data string used for DPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue? + ``` + + Info: + - ```` is the identifier value. The default blue value is XXXXXXXXXX. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusDphy(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.blue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor`` command tree. + - ``.escapemode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe`` command tree. + - ``.green``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen`` command tree. + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe`` command tree. + - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets`` command tree. + - ``.pixel``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel`` command tree. + - ``.red``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED`` command tree. + - ``.wordcount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt`` command tree. + - ``.ycbcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR`` command tree. + - ``.yuv``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blue = SearchSearchItemTriggerABusDphyBlue(device, f"{self._cmd_syntax}:BLUe") + self._condition = SearchSearchItemTriggerABusDphyCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusDphyData(device, f"{self._cmd_syntax}:DATa") + self._error = SearchSearchItemTriggerABusDphyError(device, f"{self._cmd_syntax}:ERRor") + self._escapemode = SearchSearchItemTriggerABusDphyEscapemode( + device, f"{self._cmd_syntax}:ESCAPEMODe" + ) + self._green = SearchSearchItemTriggerABusDphyGreen(device, f"{self._cmd_syntax}:GREen") + self._mode = SearchSearchItemTriggerABusDphyMode(device, f"{self._cmd_syntax}:MODe") + self._packets = SearchSearchItemTriggerABusDphyPackets( + device, f"{self._cmd_syntax}:PACKets" + ) + self._pixel = SearchSearchItemTriggerABusDphyPixel(device, f"{self._cmd_syntax}:PIXel") + self._red = SearchSearchItemTriggerABusDphyRed(device, f"{self._cmd_syntax}:RED") + self._wordcount = SearchSearchItemTriggerABusDphyWordcount( + device, f"{self._cmd_syntax}:WORDCOUNt" + ) + self._ycbcr = SearchSearchItemTriggerABusDphyYcbcr(device, f"{self._cmd_syntax}:YCBCR") + self._yuv = SearchSearchItemTriggerABusDphyYuv(device, f"{self._cmd_syntax}:YUV") + + @property + def blue(self) -> SearchSearchItemTriggerABusDphyBlue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe:VALue`` command. + """ + return self._blue + + @property + def condition(self) -> SearchSearchItemTriggerABusDphyCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for an DPHY bus. The default + trigger on condition is SOT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition {SOT|EOT|DATa|EOTPDATa|OPTIONALPARam|SCRambling|COMPression|PACKets|BUSTURNAROUnd|ESCAPEMODe|STop|ERRors|MODe} + - SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition? + ``` + + Info: + - ``SOT`` specifies SOT as the field within a DPHY frame to search on. + - ``EOT`` specifies EOT as the field within a DPHY frame to search on. + - ``DATa`` specifies DATa as the field within a DPHY frame to search on. + - ``EOTPDATa`` specifies EOTPDATa as the field within a DPHY frame to search on. + - ``OPTIONALPARam`` specifies OPTIONALPARam as the field within a DPHY frame to search + on. + - ``SCRambling`` specifies SCRambling as the field within a DPHY frame to search on. + - ``COMPression`` specifies COMPression as the field within a DPHY frame to search on. + - ``PACKets`` specifies PACKets as the field within a DPHY frame to search on. + - ``BUSTURNAROUnd`` specifies BUSTURNAROUnd as the field within a DPHY frame to search + on. + - ``ESCAPEMODe`` specifies ESCAPEMODe as the field within a DPHY frame to search on. + - ``STop`` specifies STop as the field within a DPHY frame to search on. + - ``ERRors`` specifies ERRors as the field within a DPHY frame to search on. + - ``MODe`` specifies MODe as the field within a DPHY frame to search on. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusDphyData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa:VALue`` command. + """ + return self._data + + @property + def error(self) -> SearchSearchItemTriggerABusDphyError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor:TYPe`` command. + """ + return self._error + + @property + def escapemode(self) -> SearchSearchItemTriggerABusDphyEscapemode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe:COMMand`` command. + """ + return self._escapemode + + @property + def green(self) -> SearchSearchItemTriggerABusDphyGreen: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen:VALue`` command. + """ + return self._green + + @property + def mode(self) -> SearchSearchItemTriggerABusDphyMode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe:TYPe`` command. + """ + return self._mode + + @property + def packets(self) -> SearchSearchItemTriggerABusDphyPackets: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.list``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:LIST`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets:TYPe`` command. + """ + return self._packets + + @property + def pixel(self) -> SearchSearchItemTriggerABusDphyPixel: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.number``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:NUMBer`` command. + - ``.searchoption``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel:SEARCHOPTion`` + command. + """ + return self._pixel + + @property + def red(self) -> SearchSearchItemTriggerABusDphyRed: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED:VALue`` command. + """ + return self._red + + @property + def wordcount(self) -> SearchSearchItemTriggerABusDphyWordcount: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt:VALue`` command. + """ + return self._wordcount + + @property + def ycbcr(self) -> SearchSearchItemTriggerABusDphyYcbcr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.cb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CB`` command. + - ``.cr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:CR`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR:Y`` command. + """ + return self._ycbcr + + @property + def yuv(self) -> SearchSearchItemTriggerABusDphyYuv: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.u``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:U`` command. + - ``.v``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:V`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV:Y`` command. + """ + return self._yuv + + +class SearchSearchItemTriggerABusCxpiNetmnWakeupind(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND`` command. + + Description: + - This command sets or queries the Wakeup Status in CXPI bus. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND {ON|OFF|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND? + ``` + + Info: + - ``ON`` specifies the Wakeup Status as on. The default status is on. + - ``OFF`` specifies the Wakeup Status as off. + - ``EITHer`` specifies the Wakeup Status as either. + """ + + +class SearchSearchItemTriggerABusCxpiNetmnSleepind(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND`` command. + + Description: + - This command sets or queries the Sleep Status in CXPI bus. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND {ON|OFF|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND? + ``` + + Info: + - ``ON`` specifies the Sleep Status as on. The default status is on. + - ``OFF`` specifies the Sleep Status as off. + - ``EITHer`` specifies the Sleep Status as either. + """ + + +class SearchSearchItemTriggerABusCxpiNetmn(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.sleepind``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND`` command. + - ``.wakeupind``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sleepind = SearchSearchItemTriggerABusCxpiNetmnSleepind( + device, f"{self._cmd_syntax}:SLEEPIND" + ) + self._wakeupind = SearchSearchItemTriggerABusCxpiNetmnWakeupind( + device, f"{self._cmd_syntax}:WAKEUPIND" + ) + + @property + def sleepind(self) -> SearchSearchItemTriggerABusCxpiNetmnSleepind: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND`` command. + + Description: + - This command sets or queries the Sleep Status in CXPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND {ON|OFF|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND? + ``` + + Info: + - ``ON`` specifies the Sleep Status as on. The default status is on. + - ``OFF`` specifies the Sleep Status as off. + - ``EITHer`` specifies the Sleep Status as either. + """ + return self._sleepind + + @property + def wakeupind(self) -> SearchSearchItemTriggerABusCxpiNetmnWakeupind: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND`` command. + + Description: + - This command sets or queries the Wakeup Status in CXPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND {ON|OFF|EITHer} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND? + ``` + + Info: + - ``ON`` specifies the Wakeup Status as on. The default status is on. + - ``OFF`` specifies the Wakeup Status as off. + - ``EITHer`` specifies the Wakeup Status as either. + """ + return self._wakeupind + + +class SearchSearchItemTriggerABusCxpiFrameType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe`` command. + + Description: + - This command sets or queries the frame type in CXPI bus. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe {NORMal|SLEep|LONG|POLLINGNORMal|POLLINGLONG} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe? + ``` + + Info: + - ``NORMal`` specifies NORMal as the packet type CXPI frame to search on. The default frame + type is normal. + - ``SLEep`` specifies SLEep as the packet type CXPI frame to search on. + - ``LONG`` specifies LONG as the packet type CXPI frame to search on. + - ``POLLINGNORMal`` specifies POLLINGNORMal as the packet type CXPI frame to search on. + - ``POLLINGLONG`` specifies POLLINGLONG as the packet type CXPI frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusCxpiFrame(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusCxpiFrameType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusCxpiFrameType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe`` command. + + Description: + - This command sets or queries the frame type in CXPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe {NORMal|SLEep|LONG|POLLINGNORMal|POLLINGLONG} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe? + ``` + + Info: + - ``NORMal`` specifies NORMal as the packet type CXPI frame to search on. The default + frame type is normal. + - ``SLEep`` specifies SLEep as the packet type CXPI frame to search on. + - ``LONG`` specifies LONG as the packet type CXPI frame to search on. + - ``POLLINGNORMal`` specifies POLLINGNORMal as the packet type CXPI frame to search on. + - ``POLLINGLONG`` specifies POLLINGLONG as the packet type CXPI frame to search on. + """ # noqa: E501 + return self._type + + +class SearchSearchItemTriggerABusCxpiFrameidValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue`` command. + + Description: + - This command specifies the binary frameId string used for CXPI triggering if the trigger + condition is FRAMEID. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value of frame ID is 7 bits + and 'XXX XXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCxpiFrameid(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCxpiFrameidValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusCxpiFrameidValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue`` command. + + Description: + - This command specifies the binary frameId string used for CXPI triggering if the + trigger condition is FRAMEID. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value of frame ID is 7 + bits and 'XXX XXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusCxpiExtdlcValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue`` command. + + Description: + - This command specifies the binary DLC string used for CXPI triggering if the trigger + condition is Ext DLC. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value of Ext DLC is 8 bits and + 'XXXX XXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCxpiExtdlc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCxpiExtdlcValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusCxpiExtdlcValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue`` command. + + Description: + - This command specifies the binary DLC string used for CXPI triggering if the trigger + condition is Ext DLC. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value of Ext DLC is 8 bits + and 'XXXX XXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusCxpiErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe`` command. + + Description: + - This command sets or queries the Error Type in CXPI bus. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe {CRC|PARity|FRAMe|IBS|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe? + ``` + + Info: + - ``CRC`` specifies CRC as the field within a CXPI frame to search on. + - ``PARity`` specifies PARity as the field within a CXPI frame to search on. The default + Error Type is Parity. + - ``FRAMe`` specifies FRAMe as the field within a CXPI frame to search on. + - ``IBS`` specifies IBS as the field within a CXPI frame to search on. + - ``ANY`` specifies ANY as any type of error within a CXPI frame to search on. + """ + + +class SearchSearchItemTriggerABusCxpiError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusCxpiErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusCxpiErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe`` command. + + Description: + - This command sets or queries the Error Type in CXPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe {CRC|PARity|FRAMe|IBS|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe? + ``` + + Info: + - ``CRC`` specifies CRC as the field within a CXPI frame to search on. + - ``PARity`` specifies PARity as the field within a CXPI frame to search on. The default + Error Type is Parity. + - ``FRAMe`` specifies FRAMe as the field within a CXPI frame to search on. + - ``IBS`` specifies IBS as the field within a CXPI frame to search on. + - ``ANY`` specifies ANY as any type of error within a CXPI frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusCxpiDlcValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue`` command. + + Description: + - This command specifies the binary DLC string used for CXPI triggering if the trigger + condition is DLC. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value of DLC is 4 bits and + 'XXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCxpiDlc(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCxpiDlcValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusCxpiDlcValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue`` command. + + Description: + - This command specifies the binary DLC string used for CXPI triggering if the trigger + condition is DLC. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value of DLC is 4 bits and + 'XXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusCxpiDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for CXPI triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value for DATA is 8 bits and + 'XXXX XXXX' respectively. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCxpiDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for CXPI + triggering if the trigger condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. The default data size is 1 and the calid range is 1 to + 5. + """ + + +class SearchSearchItemTriggerABusCxpiData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusCxpiDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusCxpiDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusCxpiDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for CXPI + triggering if the trigger condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. The default data size is 1 and the calid range is 1 + to 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusCxpiDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for CXPI triggering if the trigger + condition is DATA. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default size and value for DATA is 8 bits + and 'XXXX XXXX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusCxpiCounterValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue`` command. + + Description: + - This command specifies the binary counter string used for CXPI triggering if the trigger + condition is COUNTER. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue? + ``` + + Info: + - ```` specifies the binary counter string. The default size and value Counter is 2 + bits and 'XX' respectively. + """ + + +class SearchSearchItemTriggerABusCxpiCounter(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCxpiCounterValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusCxpiCounterValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue`` command. + + Description: + - This command specifies the binary counter string used for CXPI triggering if the + trigger condition is COUNTER. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue? + ``` + + Info: + - ```` specifies the binary counter string. The default size and value Counter + is 2 bits and 'XX' respectively. + """ + return self._value + + +class SearchSearchItemTriggerABusCxpiCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a CXPI bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition {STARt|FRAMes|FRAMEID|PTYPe|DLC|EXTDLC|NETMN|COUNter|DATa|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition? + ``` + + Info: + - ``STARt`` specifies STARt as the event for a CXPI frame to search on. This is the default + value. + - ``FRAMes`` specifies FRAMes as the frame types for CXPI packets to search on. + - ``FRAMEID`` specifies FRAMEID as the field within a CXPI frame to search on. + - ``PTYPe`` specifies PTYPe as the field within a CXPI frame to search on. + - ``DLC`` specifies DLC as the field within a CXPI frame to search on. + - ``EXTDLC`` specifies EXTDLC as the field within a CXPI frame to search on. + - ``NETMN`` specifies NETMN as the field within a CXPI frame to search on. + - ``COUNter`` specifies COUNter as the field within a CXPI frame to search on. + - ``DATa`` specifies DATa as the field within a CXPI frame to search on. + - ``ERRors`` specifies ERRors as type of error within a CXPI frame to search on. + """ # noqa: E501 + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusCxpi(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition`` command. + - ``.counter``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter`` command tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa`` command tree. + - ``.dlc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR`` command tree. + - ``.extdlc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC`` command tree. + - ``.frameid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID`` command tree. + - ``.frame``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe`` command tree. + - ``.netmn``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusCxpiCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._counter = SearchSearchItemTriggerABusCxpiCounter( + device, f"{self._cmd_syntax}:COUNter" + ) + self._data = SearchSearchItemTriggerABusCxpiData(device, f"{self._cmd_syntax}:DATa") + self._dlc = SearchSearchItemTriggerABusCxpiDlc(device, f"{self._cmd_syntax}:DLC") + self._error = SearchSearchItemTriggerABusCxpiError(device, f"{self._cmd_syntax}:ERROR") + self._extdlc = SearchSearchItemTriggerABusCxpiExtdlc(device, f"{self._cmd_syntax}:EXTDLC") + self._frameid = SearchSearchItemTriggerABusCxpiFrameid( + device, f"{self._cmd_syntax}:FRAMEID" + ) + self._frame = SearchSearchItemTriggerABusCxpiFrame(device, f"{self._cmd_syntax}:FRAMe") + self._netmn = SearchSearchItemTriggerABusCxpiNetmn(device, f"{self._cmd_syntax}:NETMN") + + @property + def condition(self) -> SearchSearchItemTriggerABusCxpiCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for a CXPI bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition {STARt|FRAMes|FRAMEID|PTYPe|DLC|EXTDLC|NETMN|COUNter|DATa|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition? + ``` + + Info: + - ``STARt`` specifies STARt as the event for a CXPI frame to search on. This is the + default value. + - ``FRAMes`` specifies FRAMes as the frame types for CXPI packets to search on. + - ``FRAMEID`` specifies FRAMEID as the field within a CXPI frame to search on. + - ``PTYPe`` specifies PTYPe as the field within a CXPI frame to search on. + - ``DLC`` specifies DLC as the field within a CXPI frame to search on. + - ``EXTDLC`` specifies EXTDLC as the field within a CXPI frame to search on. + - ``NETMN`` specifies NETMN as the field within a CXPI frame to search on. + - ``COUNter`` specifies COUNter as the field within a CXPI frame to search on. + - ``DATa`` specifies DATa as the field within a CXPI frame to search on. + - ``ERRors`` specifies ERRors as type of error within a CXPI frame to search on. + """ # noqa: E501 + return self._condition + + @property + def counter(self) -> SearchSearchItemTriggerABusCxpiCounter: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter:VALue`` command. + """ + return self._counter + + @property + def data(self) -> SearchSearchItemTriggerABusCxpiData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa:VALue`` command. + """ + return self._data + + @property + def dlc(self) -> SearchSearchItemTriggerABusCxpiDlc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC:VALue`` command. + """ + return self._dlc + + @property + def error(self) -> SearchSearchItemTriggerABusCxpiError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR:TYPe`` command. + """ + return self._error + + @property + def extdlc(self) -> SearchSearchItemTriggerABusCxpiExtdlc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC:VALue`` command. + """ + return self._extdlc + + @property + def frameid(self) -> SearchSearchItemTriggerABusCxpiFrameid: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID:VALue`` command. + """ + return self._frameid + + @property + def frame(self) -> SearchSearchItemTriggerABusCxpiFrame: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe:TYPe`` command. + """ + return self._frame + + @property + def netmn(self) -> SearchSearchItemTriggerABusCxpiNetmn: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.sleepind``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:SLEEPIND`` command. + - ``.wakeupind``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN:WAKEUPIND`` command. + """ + return self._netmn + + +class SearchSearchItemTriggerABusCphyYuvY(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y`` command. + + Description: + - This command specifies the Y data string used for CPHY triggering if the trigger condition + is on YUV packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y? + ``` + + Info: + - ```` is the identifier value. The default YUV packets Y value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyYuvV(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V`` command. + + Description: + - This command specifies the V data string used for CPHY triggering if the trigger condition + is on YUV packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V? + ``` + + Info: + - ```` is the identifier value. The default YUV packets V value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyYuvU(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U`` command. + + Description: + - This command specifies the U data string used for CPHY triggering if the trigger condition + is on YUV packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U? + ``` + + Info: + - ```` is the identifier value. The default YUV packets U value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyYuv(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.u``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U`` command. + - ``.v``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._u = SearchSearchItemTriggerABusCphyYuvU(device, f"{self._cmd_syntax}:U") + self._v = SearchSearchItemTriggerABusCphyYuvV(device, f"{self._cmd_syntax}:V") + self._y = SearchSearchItemTriggerABusCphyYuvY(device, f"{self._cmd_syntax}:Y") + + @property + def u(self) -> SearchSearchItemTriggerABusCphyYuvU: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U`` command. + + Description: + - This command specifies the U data string used for CPHY triggering if the trigger + condition is on YUV packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U? + ``` + + Info: + - ```` is the identifier value. The default YUV packets U value is XXXXXXXXXX. + """ + return self._u + + @property + def v(self) -> SearchSearchItemTriggerABusCphyYuvV: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V`` command. + + Description: + - This command specifies the V data string used for CPHY triggering if the trigger + condition is on YUV packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V? + ``` + + Info: + - ```` is the identifier value. The default YUV packets V value is XXXXXXXXXX. + """ + return self._v + + @property + def y(self) -> SearchSearchItemTriggerABusCphyYuvY: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y`` command. + + Description: + - This command specifies the Y data string used for CPHY triggering if the trigger + condition is on YUV packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y? + ``` + + Info: + - ```` is the identifier value. The default YUV packets Y value is XXXXXXXXXX. + """ + return self._y + + +class SearchSearchItemTriggerABusCphyYcbcrY(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y`` command. + + Description: + - This command specifies the Y data string used for CPHY triggering if the trigger condition + is on YCbCr packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets Y value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyYcbcrCr(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR`` command. + + Description: + - This command specifies the Cr data string used for CPHY triggering if the trigger + condition is on YCbCr packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CR value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyYcbcrCb(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB`` command. + + Description: + - This command specifies the Cb data string used for CPHY triggering if the trigger + condition is on YCbCr packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CB value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyYcbcr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.cb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB`` command. + - ``.cr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cb = SearchSearchItemTriggerABusCphyYcbcrCb(device, f"{self._cmd_syntax}:CB") + self._cr = SearchSearchItemTriggerABusCphyYcbcrCr(device, f"{self._cmd_syntax}:CR") + self._y = SearchSearchItemTriggerABusCphyYcbcrY(device, f"{self._cmd_syntax}:Y") + + @property + def cb(self) -> SearchSearchItemTriggerABusCphyYcbcrCb: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB`` command. + + Description: + - This command specifies the Cb data string used for CPHY triggering if the trigger + condition is on YCbCr packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CB value is + XXXXXXXXXX. + """ + return self._cb + + @property + def cr(self) -> SearchSearchItemTriggerABusCphyYcbcrCr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR`` command. + + Description: + - This command specifies the Cr data string used for CPHY triggering if the trigger + condition is on YCbCr packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets CR value is + XXXXXXXXXX. + """ + return self._cr + + @property + def y(self) -> SearchSearchItemTriggerABusCphyYcbcrY: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y`` command. + + Description: + - This command specifies the Y data string used for CPHY triggering if the trigger + condition is on YCbCr packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y? + ``` + + Info: + - ```` is the identifier value. The default YCBCR packets Y value is + XXXXXXXXXX. + """ + return self._y + + +class SearchSearchItemTriggerABusCphyWordcountValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue`` command. + + Description: + - This command specifies the word count data string used for CPHY triggering if the trigger + condition is on any rgb/ycbcr/yuv packet. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue? + ``` + + Info: + - ```` specifies the word count data string. The default data value is + XXXXXXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyWordcount(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCphyWordcountValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusCphyWordcountValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue`` command. + + Description: + - This command specifies the word count data string used for CPHY triggering if the + trigger condition is on any rgb/ycbcr/yuv packet. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue? + ``` + + Info: + - ```` specifies the word count data string. The default data value is + XXXXXXXXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusCphyWordValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue`` command. + + Description: + - This command specifies the binary data string used for CPHY triggering if the trigger + condition is Word. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue? + ``` + + Info: + - ```` specifies the binary data string. The default data value is + XXXXXXXXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyWordSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe`` command. + + Description: + - This command specifies the length of the word string in bytes to be used for an CPHY + trigger if the trigger condition is WORD. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe? + ``` + + Info: + - ```` specifies the length of the data string. The default word size is 1 byte and + otherwise ranges between 1 and 5. + """ + + +class SearchSearchItemTriggerABusCphyWord(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusCphyWordSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusCphyWordValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusCphyWordSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe`` command. + + Description: + - This command specifies the length of the word string in bytes to be used for an CPHY + trigger if the trigger condition is WORD. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe? + ``` + + Info: + - ```` specifies the length of the data string. The default word size is 1 byte and + otherwise ranges between 1 and 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusCphyWordValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue`` command. + + Description: + - This command specifies the binary data string used for CPHY triggering if the trigger + condition is Word. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue? + ``` + + Info: + - ```` specifies the binary data string. The default data value is + XXXXXXXXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusCphySymbolValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue`` command. + + Description: + - This command specifies the binary data string used for CPHY triggering if the trigger + condition is SYMBol. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue? + ``` + + Info: + - ```` specifies the binary data string. The default data value is XXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphySymbolSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an CPHY + trigger if the trigger condition is SYMBol. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe? + ``` + + Info: + - ```` specifies the length of the data string. The default symbol size is 7 symbols + and otherwise ranges between 1 and 14. + """ + + +class SearchSearchItemTriggerABusCphySymbol(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusCphySymbolSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusCphySymbolValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def size(self) -> SearchSearchItemTriggerABusCphySymbolSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an CPHY + trigger if the trigger condition is SYMBol. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe? + ``` + + Info: + - ```` specifies the length of the data string. The default symbol size is 7 + symbols and otherwise ranges between 1 and 14. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusCphySymbolValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue`` command. + + Description: + - This command specifies the binary data string used for CPHY triggering if the trigger + condition is SYMBol. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue? + ``` + + Info: + - ```` specifies the binary data string. The default data value is XXX. + """ + return self._value + + +class SearchSearchItemTriggerABusCphyRedValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue`` command. + + Description: + - This command specifies the red data string used for CPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue? + ``` + + Info: + - ```` is the identifier value. The default red value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyRed(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCphyRedValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusCphyRedValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue`` command. + + Description: + - This command specifies the red data string used for CPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue? + ``` + + Info: + - ```` is the identifier value. The default red value is XXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusCphyPixelSearchoption(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion`` command. + + Description: + - This command sets or queries the search pattern type for CPHY bus. The default search + pattern type value is PIXELVALue. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion {PIXELVALue|PIXELNUMBer} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion? + ``` + + Info: + - ``PIXELVALue`` specifies PIXELVALue as the field within a CPHY frame to search on. + - ``PIXELNUMBer`` specifies PIXELNUMBer as the field within a CPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusCphyPixelNumber(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer`` command. + + Description: + - This command specifies the pixel number to be used for CPHY triggering if the trigger + condition is on pixel number pattern. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer? + ``` + + Info: + - ```` specifies the pixel number. The default pixel number value is 0. + """ + + +class SearchSearchItemTriggerABusCphyPixel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.number``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer`` command. + - ``.searchoption``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._number = SearchSearchItemTriggerABusCphyPixelNumber( + device, f"{self._cmd_syntax}:NUMBer" + ) + self._searchoption = SearchSearchItemTriggerABusCphyPixelSearchoption( + device, f"{self._cmd_syntax}:SEARCHOPTion" + ) + + @property + def number(self) -> SearchSearchItemTriggerABusCphyPixelNumber: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer`` command. + + Description: + - This command specifies the pixel number to be used for CPHY triggering if the trigger + condition is on pixel number pattern. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer? + ``` + + Info: + - ```` specifies the pixel number. The default pixel number value is 0. + """ + return self._number + + @property + def searchoption(self) -> SearchSearchItemTriggerABusCphyPixelSearchoption: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion`` command. + + Description: + - This command sets or queries the search pattern type for CPHY bus. The default search + pattern type value is PIXELVALue. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion {PIXELVALue|PIXELNUMBer} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion? + ``` + + Info: + - ``PIXELVALue`` specifies PIXELVALue as the field within a CPHY frame to search on. + - ``PIXELNUMBer`` specifies PIXELNUMBer as the field within a CPHY frame to search on. + """ + return self._searchoption + + +class SearchSearchItemTriggerABusCphyPacketsType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe`` command. + + Description: + - This command sets or queries the packet type for CPHY bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe {SHORt|LONG} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe? + ``` + + Info: + - ``SHORt`` specifies SHORt as the field within a CPHY frame to search on. SHORt is the + default packet type condition. + - ``LONG`` specifies LONG as the field within a CPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusCphyPacketsList(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST`` command. + + Description: + - This command sets or queries the packet list for CPHY bus. The default packet list + condition is VSYNCSTART. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST {VSYNCSTART|VSYNCEND|HSYNCSTART|HSYNCEND|EOTP|COLOROFF|COLORON|SHUTDOWN|TURNON|GSW|GR|COMPRESSION|SCRAMBLING|EXECUTEQUEue|DCSSW|DCSR|GLONGWRITE|DSINULL|DSIBLANk|MAXRETSIZE|DCSGLONGWRITE|PICPARameter|COMPRESSEDPSTReam|PPS101010|PPS121212|PPS565|PPS666|LPS666|PPS888|YCBCR24|LPYCBCR24|YCBCR16|YCBCR12|ACKNowledge|ERRORREPort|GSRR|GLONGREAD|DCSLONGREAD|DCSSRR|FRAMESTARt|FRAMEEND|LINESTARt|LINEEND|GSP|CSINULL|CSIBLANk|EMBEDDED|USEREIGHTB|RGB565|RGB555|RGB444|RGB666|RAW6|RAW7|RAW8|RAW10|RAW12|RAW14|RAW16|RAW20|RGB888|YUV420L8|YUV8BIT|YUV422B10|YUV420B10} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST? + ``` + + Info: + - ``VSYNCSTART`` specifies VSYNCSTART as the packet within CPHY frame to search on. + - ``VSYNCEND`` specifies VSYNCEND as the packet within CPHY frame to search on. + - ``HSYNCSTART`` specifies HSYNCSTART as the packet within CPHY frame to search on. + - ``HSYNCEND`` specifies HSYNCEND as the packet within CPHY frame to search on. + - ``EOTP`` specifies EOTP as the packet within CPHY frame to search on. + - ``COLOROFF`` specifies COLOROFF as the packet within CPHY frame to search on. + - ``COLORON`` specifies COLORON as the packet within CPHY frame to search on. + - ``SHUTDOWN`` specifies SHUTDOWN as the packet within CPHY frame to search on. + - ``TURNON`` specifies TURNON as the packet within CPHY frame to search on. + - ``GSW`` specifies GSW as the packet within CPHY frame to search on. + - ``GR`` specifies GR as the packet within CPHY frame to search on. + - ``COMPRESSION`` specifies COMPRESSION as the packet within CPHY frame to search on. + - ``SCRAMBLING`` specifies SCRAMBLING as the packet within CPHY frame to search on. + - ``EXECUTEQUEue`` specifies EXECUTEQUEue as the packet within CPHY frame to search on. + - ``DCSSW`` specifies DCSSW as the packet within CPHY frame to search on. + - ``DCSR`` specifies DCSR as the packet within CPHY frame to search on. + - ``GLONGWRITE`` specifies GLONGWRITE as the packet within CPHY frame to search on. + - ``DSINULL`` specifies DSINULL as the packet within CPHY frame to search on. + - ``DSIBLANk`` specifies DSIBLANk as the packet within CPHY frame to search on. + - ``MAXRETSIZE`` specifies MAXRETSIZE as the packet within CPHY frame to search on. + - ``DCSGLONGWRITE`` specifies DCSGLONGWRITE as the packet within CPHY frame to search on. + - ``PICPARameter`` specifies PICPARameter as the packet within CPHY frame to search on. + - ``COMPRESSEDPSTReam`` specifies COMPRESSEDPSTReam as the packet within CPHY frame to + search on. + - ``PPS101010`` specifies PPS101010 as the packet within CPHY frame to search on. + - ``PPS121212`` specifies PPS121212 as the packet within CPHY frame to search on. + - ``PPS565`` specifies PPS565 as the packet within CPHY frame to search on. + - ``PPS666`` specifies PPS666 as the packet within CPHY frame to search on. + - ``LPS666`` specifies LPS666 as the packet within CPHY frame to search on. + - ``PPS888`` specifies LPS666 as the packet within CPHY frame to search on. + - ``YCBCR24`` specifies YCBCR24 as the packet within CPHY frame to search on. + - ``LPYCBCR24`` specifies LPYCBCR24 as the packet within CPHY frame to search on. + - ``YCBCR16`` specifies YCBCR16 as the packet within CPHY frame to search on. + - ``YCBCR12`` specifies YCBCR12 as the packet within CPHY frame to search on. + - ``ACKNowledge`` specifies ACKNowledge as the packet within CPHY frame to search on. + - ``ERRORREPort`` specifies ERRORREPort as the packet within CPHY frame to search on. + - ``GSRR`` specifies GSRR as the packet within CPHY frame to search on. + - ``GLONGREAD`` specifies GLONGREAD as the packet within CPHY frame to search on. + - ``DCSLONGREAD`` specifies DCSLONGREAD as the packet within CPHY frame to search on. + - ``DCSSRR`` specifies DCSSRR as the packet within CPHY frame to search on. + - ``FRAMESTARt`` specifies FRAMESTARt as the packet within CPHY frame to search on. + - ``FRAMEEND`` specifies FRAMEEND as the packet within CPHY frame to search on. + - ``LINESTARt`` specifies LINESTARt as the packet within CPHY frame to search on. + - ``LINEEND`` specifies LINEEND as the packet within CPHY frame to search on. + - ``GSP`` specifies GSP as the packet within CPHY frame to search on. + - ``CSINULL`` specifies CSINULL as the packet within CPHY frame to search on. + - ``CSIBLANk`` specifies CSIBLANk as the packet within CPHY frame to search on. + - ``EMBEDDED`` specifies EMBEDDED as the packet within CPHY frame to search on. + - ``USEREIGHTB`` specifies USEREIGHTB as the packet within CPHY frame to search on. + - ``RGB565`` specifies RGB565 as the packet within CPHY frame to search on. + - ``RGB555`` specifies RGB555 as the packet within CPHY frame to search on. + - ``RGB444`` specifies RGB444 as the packet within CPHY frame to search on. + - ``RGB666`` specifies RGB666 as the packet within CPHY frame to search on. + - ``RAW6`` specifies RAW6 as the packet within CPHY frame to search on. + - ``RAW7`` specifies RAW7 as the packet within CPHY frame to search on. + - ``RAW8`` specifies RAW8 as the packet within CPHY frame to search on. + - ``RAW10`` specifies RAW10 as the packet within CPHY frame to search on. + - ``RAW12`` specifies RAW12 as the packet within CPHY frame to search on. + - ``RAW14`` specifies RAW14 as the packet within CPHY frame to search on. + - ``RAW16`` specifies RAW16 as the packet within CPHY frame to search on. + - ``RAW20`` specifies RAW20 as the packet within CPHY frame to search on. + - ``RGB888`` specifies RGB888 as the packet within CPHY frame to search on. + - ``YUV420L8`` specifies YUV420L8 as the packet within CPHY frame to search on. + - ``YUV8BIT`` specifies YUV8BIT as the packet within CPHY frame to search on. + - ``YUV422B10`` specifies YUV422B10 as the packet within CPHY frame to search on. + - ``YUV420B10`` specifies YUV420B10 as the packet within CPHY frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusCphyPackets(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.list``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._list = SearchSearchItemTriggerABusCphyPacketsList(device, f"{self._cmd_syntax}:LIST") + self._type = SearchSearchItemTriggerABusCphyPacketsType(device, f"{self._cmd_syntax}:TYPe") + + @property + def list(self) -> SearchSearchItemTriggerABusCphyPacketsList: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST`` command. + + Description: + - This command sets or queries the packet list for CPHY bus. The default packet list + condition is VSYNCSTART. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST {VSYNCSTART|VSYNCEND|HSYNCSTART|HSYNCEND|EOTP|COLOROFF|COLORON|SHUTDOWN|TURNON|GSW|GR|COMPRESSION|SCRAMBLING|EXECUTEQUEue|DCSSW|DCSR|GLONGWRITE|DSINULL|DSIBLANk|MAXRETSIZE|DCSGLONGWRITE|PICPARameter|COMPRESSEDPSTReam|PPS101010|PPS121212|PPS565|PPS666|LPS666|PPS888|YCBCR24|LPYCBCR24|YCBCR16|YCBCR12|ACKNowledge|ERRORREPort|GSRR|GLONGREAD|DCSLONGREAD|DCSSRR|FRAMESTARt|FRAMEEND|LINESTARt|LINEEND|GSP|CSINULL|CSIBLANk|EMBEDDED|USEREIGHTB|RGB565|RGB555|RGB444|RGB666|RAW6|RAW7|RAW8|RAW10|RAW12|RAW14|RAW16|RAW20|RGB888|YUV420L8|YUV8BIT|YUV422B10|YUV420B10} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST? + ``` + + Info: + - ``VSYNCSTART`` specifies VSYNCSTART as the packet within CPHY frame to search on. + - ``VSYNCEND`` specifies VSYNCEND as the packet within CPHY frame to search on. + - ``HSYNCSTART`` specifies HSYNCSTART as the packet within CPHY frame to search on. + - ``HSYNCEND`` specifies HSYNCEND as the packet within CPHY frame to search on. + - ``EOTP`` specifies EOTP as the packet within CPHY frame to search on. + - ``COLOROFF`` specifies COLOROFF as the packet within CPHY frame to search on. + - ``COLORON`` specifies COLORON as the packet within CPHY frame to search on. + - ``SHUTDOWN`` specifies SHUTDOWN as the packet within CPHY frame to search on. + - ``TURNON`` specifies TURNON as the packet within CPHY frame to search on. + - ``GSW`` specifies GSW as the packet within CPHY frame to search on. + - ``GR`` specifies GR as the packet within CPHY frame to search on. + - ``COMPRESSION`` specifies COMPRESSION as the packet within CPHY frame to search on. + - ``SCRAMBLING`` specifies SCRAMBLING as the packet within CPHY frame to search on. + - ``EXECUTEQUEue`` specifies EXECUTEQUEue as the packet within CPHY frame to search on. + - ``DCSSW`` specifies DCSSW as the packet within CPHY frame to search on. + - ``DCSR`` specifies DCSR as the packet within CPHY frame to search on. + - ``GLONGWRITE`` specifies GLONGWRITE as the packet within CPHY frame to search on. + - ``DSINULL`` specifies DSINULL as the packet within CPHY frame to search on. + - ``DSIBLANk`` specifies DSIBLANk as the packet within CPHY frame to search on. + - ``MAXRETSIZE`` specifies MAXRETSIZE as the packet within CPHY frame to search on. + - ``DCSGLONGWRITE`` specifies DCSGLONGWRITE as the packet within CPHY frame to search + on. + - ``PICPARameter`` specifies PICPARameter as the packet within CPHY frame to search on. + - ``COMPRESSEDPSTReam`` specifies COMPRESSEDPSTReam as the packet within CPHY frame to + search on. + - ``PPS101010`` specifies PPS101010 as the packet within CPHY frame to search on. + - ``PPS121212`` specifies PPS121212 as the packet within CPHY frame to search on. + - ``PPS565`` specifies PPS565 as the packet within CPHY frame to search on. + - ``PPS666`` specifies PPS666 as the packet within CPHY frame to search on. + - ``LPS666`` specifies LPS666 as the packet within CPHY frame to search on. + - ``PPS888`` specifies LPS666 as the packet within CPHY frame to search on. + - ``YCBCR24`` specifies YCBCR24 as the packet within CPHY frame to search on. + - ``LPYCBCR24`` specifies LPYCBCR24 as the packet within CPHY frame to search on. + - ``YCBCR16`` specifies YCBCR16 as the packet within CPHY frame to search on. + - ``YCBCR12`` specifies YCBCR12 as the packet within CPHY frame to search on. + - ``ACKNowledge`` specifies ACKNowledge as the packet within CPHY frame to search on. + - ``ERRORREPort`` specifies ERRORREPort as the packet within CPHY frame to search on. + - ``GSRR`` specifies GSRR as the packet within CPHY frame to search on. + - ``GLONGREAD`` specifies GLONGREAD as the packet within CPHY frame to search on. + - ``DCSLONGREAD`` specifies DCSLONGREAD as the packet within CPHY frame to search on. + - ``DCSSRR`` specifies DCSSRR as the packet within CPHY frame to search on. + - ``FRAMESTARt`` specifies FRAMESTARt as the packet within CPHY frame to search on. + - ``FRAMEEND`` specifies FRAMEEND as the packet within CPHY frame to search on. + - ``LINESTARt`` specifies LINESTARt as the packet within CPHY frame to search on. + - ``LINEEND`` specifies LINEEND as the packet within CPHY frame to search on. + - ``GSP`` specifies GSP as the packet within CPHY frame to search on. + - ``CSINULL`` specifies CSINULL as the packet within CPHY frame to search on. + - ``CSIBLANk`` specifies CSIBLANk as the packet within CPHY frame to search on. + - ``EMBEDDED`` specifies EMBEDDED as the packet within CPHY frame to search on. + - ``USEREIGHTB`` specifies USEREIGHTB as the packet within CPHY frame to search on. + - ``RGB565`` specifies RGB565 as the packet within CPHY frame to search on. + - ``RGB555`` specifies RGB555 as the packet within CPHY frame to search on. + - ``RGB444`` specifies RGB444 as the packet within CPHY frame to search on. + - ``RGB666`` specifies RGB666 as the packet within CPHY frame to search on. + - ``RAW6`` specifies RAW6 as the packet within CPHY frame to search on. + - ``RAW7`` specifies RAW7 as the packet within CPHY frame to search on. + - ``RAW8`` specifies RAW8 as the packet within CPHY frame to search on. + - ``RAW10`` specifies RAW10 as the packet within CPHY frame to search on. + - ``RAW12`` specifies RAW12 as the packet within CPHY frame to search on. + - ``RAW14`` specifies RAW14 as the packet within CPHY frame to search on. + - ``RAW16`` specifies RAW16 as the packet within CPHY frame to search on. + - ``RAW20`` specifies RAW20 as the packet within CPHY frame to search on. + - ``RGB888`` specifies RGB888 as the packet within CPHY frame to search on. + - ``YUV420L8`` specifies YUV420L8 as the packet within CPHY frame to search on. + - ``YUV8BIT`` specifies YUV8BIT as the packet within CPHY frame to search on. + - ``YUV422B10`` specifies YUV422B10 as the packet within CPHY frame to search on. + - ``YUV420B10`` specifies YUV420B10 as the packet within CPHY frame to search on. + """ # noqa: E501 + return self._list + + @property + def type(self) -> SearchSearchItemTriggerABusCphyPacketsType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe`` command. + + Description: + - This command sets or queries the packet type for CPHY bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe {SHORt|LONG} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe? + ``` + + Info: + - ``SHORt`` specifies SHORt as the field within a CPHY frame to search on. SHORt is the + default packet type condition. + - ``LONG`` specifies LONG as the field within a CPHY frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusCphyModeType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe`` command. + + Description: + - This command sets or queries the mode type for CPHY bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe {HS|LP} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe? + ``` + + Info: + - ``HS`` specifies HS as the mode within a CPHY frame to search on. HS is default mode type + condition. + - ``LP`` specifies LP as the mode within a CPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusCphyMode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusCphyModeType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusCphyModeType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe`` command. + + Description: + - This command sets or queries the mode type for CPHY bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe {HS|LP} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe? + ``` + + Info: + - ``HS`` specifies HS as the mode within a CPHY frame to search on. HS is default mode + type condition. + - ``LP`` specifies LP as the mode within a CPHY frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusCphyGreenValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue`` command. + + Description: + - This command specifies the green data string used for CPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue? + ``` + + Info: + - ```` is the identifier value. The default green value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyGreen(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCphyGreenValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusCphyGreenValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue`` command. + + Description: + - This command specifies the green data string used for CPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue? + ``` + + Info: + - ```` is the identifier value. The default green value is XXXXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusCphyEscapemodeCommand(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand`` command. + + Description: + - This command sets or queries the escape mode command type for CPHY bus.. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand {LPDT|ULPS|RESETTRIGger|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand? + ``` + + Info: + - ``LPDT`` specifies LPDT as the field within a CPHY frame to search on. + - ``ULPS`` specifies ULPS as the field within a CPHY frame to search on. + - ``RESETTRIGger`` specifies RESETTRIGger as the field within a CPHY frame to search on. + - ``ANY`` specifies ANY as the field within a CPHY frame to search on. ANY is the default + value. + """ + + +class SearchSearchItemTriggerABusCphyEscapemode(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._command = SearchSearchItemTriggerABusCphyEscapemodeCommand( + device, f"{self._cmd_syntax}:COMMand" + ) + + @property + def command(self) -> SearchSearchItemTriggerABusCphyEscapemodeCommand: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand`` command. + + Description: + - This command sets or queries the escape mode command type for CPHY bus.. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand {LPDT|ULPS|RESETTRIGger|ANY} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand? + ``` + + Info: + - ``LPDT`` specifies LPDT as the field within a CPHY frame to search on. + - ``ULPS`` specifies ULPS as the field within a CPHY frame to search on. + - ``RESETTRIGger`` specifies RESETTRIGger as the field within a CPHY frame to search on. + - ``ANY`` specifies ANY as the field within a CPHY frame to search on. ANY is the + default value. + """ + return self._command + + +class SearchSearchItemTriggerABusCphyErrorType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type for CPHY bus. The default error type condition + is ANY. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe {ANY|ECC|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe? + ``` + + Info: + - ``ANY`` specifies ANY as the field within a CPHY frame to search on. + - ``ECC`` specifies ECC as the field within a CPHY frame to search on. + - ``CRC`` specifies CRC as the field within a CPHY frame to search on. + """ + + +class SearchSearchItemTriggerABusCphyError(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusCphyErrorType(device, f"{self._cmd_syntax}:TYPe") + + @property + def type(self) -> SearchSearchItemTriggerABusCphyErrorType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe`` command. + + Description: + - This command sets or queries the error type for CPHY bus. The default error type + condition is ANY. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe {ANY|ECC|CRC} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe? + ``` + + Info: + - ``ANY`` specifies ANY as the field within a CPHY frame to search on. + - ``ECC`` specifies ECC as the field within a CPHY frame to search on. + - ``CRC`` specifies CRC as the field within a CPHY frame to search on. + """ + return self._type + + +class SearchSearchItemTriggerABusCphyDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for CPHY triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an CPHY + trigger if the trigger condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. The default data size is 1 byte and otherwise ranges + between 1 and 5. + """ + + +class SearchSearchItemTriggerABusCphyData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._size = SearchSearchItemTriggerABusCphyDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusCphyDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def size(self) -> SearchSearchItemTriggerABusCphyDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe`` command. + + Description: + - This command specifies the length of the data string in bytes to be used for an CPHY + trigger if the trigger condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. The default data size is 1 byte and otherwise + ranges between 1 and 5. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusCphyDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue`` command. + + Description: + - This command specifies the binary data string used for CPHY triggering if the trigger + condition is DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue? + ``` + + Info: + - ```` is the identifier value. The default value is XXXXXXXX. + """ + return self._value + + +class SearchSearchItemTriggerABusCphyCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for an CPHY bus. The default trigger on + condition is SOT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition {SOT|EOT|DATa|EOTPDATa|OPTIONALPARam|SCRambling|COMPression|PACKets|BUSTURNAROUnd|ESCAPEMODe|STop|ERRors|MODe|WORD|SYMBol} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition? + ``` + + Info: + - ``SOT`` specifies SOT as the field within a CPHY frame to search on. + - ``EOT`` specifies EOT as the field within a CPHY frame to search on. + - ``DATa`` specifies DATa as the field within a CPHY frame to search on. + - ``EOTPDATa`` specifies EOTPDATa as the field within a CPHY frame to search on. + - ``OPTIONALPARam`` specifies OPTIONALPARam as the field within a CPHY frame to search on. + - ``SCRambling`` specifies SCRambling as the field within a CPHY frame to search on. + - ``COMPression`` specifies COMPression as the field within a CPHY frame to search on. + - ``PACKets`` specifies PACKets as the field within a CPHY frame to search on. + - ``BUSTURNAROUnd`` specifies BUSTURNAROUnd as the field within a CPHY frame to search on. + - ``ESCAPEMODe`` specifies ESCAPEMODe as the field within a CPHY frame to search on. + - ``STop`` specifies STop as the field within a CPHY frame to search on. + - ``ERRors`` specifies ERRors as the field within a CPHY frame to search on. + - ``MODe`` specifies MODe as the field within a CPHY frame to search on. + - ``WORD`` specifies WORD as the field within a CPHY frame to search on. + - ``SYMBol`` specifies SYMBol as the field within a CPHY frame to search on. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusCphyBlueValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue`` command. + + Description: + - This command specifies the blue data string used for CPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue? + ``` + + Info: + - ```` is the identifier value. The default blue value is XXXXXXXXXX. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCphyBlue(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusCphyBlueValue(device, f"{self._cmd_syntax}:VALue") + + @property + def value(self) -> SearchSearchItemTriggerABusCphyBlueValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue`` command. + + Description: + - This command specifies the blue data string used for CPHY triggering if the trigger + condition is on RGB packet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue? + ``` + + Info: + - ```` is the identifier value. The default blue value is XXXXXXXXXX. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusCphy(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.blue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor`` command tree. + - ``.escapemode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe`` command tree. + - ``.green``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen`` command tree. + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe`` command tree. + - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets`` command tree. + - ``.pixel``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel`` command tree. + - ``.red``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED`` command tree. + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol`` command tree. + - ``.word``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD`` command tree. + - ``.wordcount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt`` command tree. + - ``.ycbcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR`` command tree. + - ``.yuv``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blue = SearchSearchItemTriggerABusCphyBlue(device, f"{self._cmd_syntax}:BLUe") + self._condition = SearchSearchItemTriggerABusCphyCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusCphyData(device, f"{self._cmd_syntax}:DATa") + self._error = SearchSearchItemTriggerABusCphyError(device, f"{self._cmd_syntax}:ERRor") + self._escapemode = SearchSearchItemTriggerABusCphyEscapemode( + device, f"{self._cmd_syntax}:ESCAPEMODe" + ) + self._green = SearchSearchItemTriggerABusCphyGreen(device, f"{self._cmd_syntax}:GREen") + self._mode = SearchSearchItemTriggerABusCphyMode(device, f"{self._cmd_syntax}:MODe") + self._packets = SearchSearchItemTriggerABusCphyPackets( + device, f"{self._cmd_syntax}:PACKets" + ) + self._pixel = SearchSearchItemTriggerABusCphyPixel(device, f"{self._cmd_syntax}:PIXel") + self._red = SearchSearchItemTriggerABusCphyRed(device, f"{self._cmd_syntax}:RED") + self._symbol = SearchSearchItemTriggerABusCphySymbol(device, f"{self._cmd_syntax}:SYMBol") + self._word = SearchSearchItemTriggerABusCphyWord(device, f"{self._cmd_syntax}:WORD") + self._wordcount = SearchSearchItemTriggerABusCphyWordcount( + device, f"{self._cmd_syntax}:WORDCOUNt" + ) + self._ycbcr = SearchSearchItemTriggerABusCphyYcbcr(device, f"{self._cmd_syntax}:YCBCR") + self._yuv = SearchSearchItemTriggerABusCphyYuv(device, f"{self._cmd_syntax}:YUV") + + @property + def blue(self) -> SearchSearchItemTriggerABusCphyBlue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe:VALue`` command. + """ + return self._blue + + @property + def condition(self) -> SearchSearchItemTriggerABusCphyCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for an CPHY bus. The default + trigger on condition is SOT. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition {SOT|EOT|DATa|EOTPDATa|OPTIONALPARam|SCRambling|COMPression|PACKets|BUSTURNAROUnd|ESCAPEMODe|STop|ERRors|MODe|WORD|SYMBol} + - SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition? + ``` + + Info: + - ``SOT`` specifies SOT as the field within a CPHY frame to search on. + - ``EOT`` specifies EOT as the field within a CPHY frame to search on. + - ``DATa`` specifies DATa as the field within a CPHY frame to search on. + - ``EOTPDATa`` specifies EOTPDATa as the field within a CPHY frame to search on. + - ``OPTIONALPARam`` specifies OPTIONALPARam as the field within a CPHY frame to search + on. + - ``SCRambling`` specifies SCRambling as the field within a CPHY frame to search on. + - ``COMPression`` specifies COMPression as the field within a CPHY frame to search on. + - ``PACKets`` specifies PACKets as the field within a CPHY frame to search on. + - ``BUSTURNAROUnd`` specifies BUSTURNAROUnd as the field within a CPHY frame to search + on. + - ``ESCAPEMODe`` specifies ESCAPEMODe as the field within a CPHY frame to search on. + - ``STop`` specifies STop as the field within a CPHY frame to search on. + - ``ERRors`` specifies ERRors as the field within a CPHY frame to search on. + - ``MODe`` specifies MODe as the field within a CPHY frame to search on. + - ``WORD`` specifies WORD as the field within a CPHY frame to search on. + - ``SYMBol`` specifies SYMBol as the field within a CPHY frame to search on. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusCphyData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa:VALue`` command. + """ + return self._data + + @property + def error(self) -> SearchSearchItemTriggerABusCphyError: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor:TYPe`` command. + """ + return self._error + + @property + def escapemode(self) -> SearchSearchItemTriggerABusCphyEscapemode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe:COMMand`` command. + """ + return self._escapemode + + @property + def green(self) -> SearchSearchItemTriggerABusCphyGreen: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen:VALue`` command. + """ + return self._green + + @property + def mode(self) -> SearchSearchItemTriggerABusCphyMode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe:TYPe`` command. + """ + return self._mode + + @property + def packets(self) -> SearchSearchItemTriggerABusCphyPackets: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.list``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:LIST`` command. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets:TYPe`` command. + """ + return self._packets + + @property + def pixel(self) -> SearchSearchItemTriggerABusCphyPixel: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.number``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:NUMBer`` command. + - ``.searchoption``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel:SEARCHOPTion`` + command. + """ + return self._pixel + + @property + def red(self) -> SearchSearchItemTriggerABusCphyRed: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED:VALue`` command. + """ + return self._red + + @property + def symbol(self) -> SearchSearchItemTriggerABusCphySymbol: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol:VALue`` command. + """ + return self._symbol + + @property + def word(self) -> SearchSearchItemTriggerABusCphyWord: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD:VALue`` command. + """ + return self._word + + @property + def wordcount(self) -> SearchSearchItemTriggerABusCphyWordcount: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt:VALue`` command. + """ + return self._wordcount + + @property + def ycbcr(self) -> SearchSearchItemTriggerABusCphyYcbcr: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.cb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CB`` command. + - ``.cr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:CR`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR:Y`` command. + """ + return self._ycbcr + + @property + def yuv(self) -> SearchSearchItemTriggerABusCphyYuv: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.u``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:U`` command. + - ``.v``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:V`` command. + - ``.y``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV:Y`` command. + """ + return self._yuv + + +class SearchSearchItemTriggerABusCanIdentifierValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + + Description: + - This command sets or queries CAN bus trigger identifier (address) value to be used when + searching on a CAN bus signal. The search number is specified by x. The search condition + must be set to IDANDDATA or DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue? + ``` + + Info: + - ```` is the identifier value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCanIdentifierMode(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + + Description: + - This command sets or queries the CAN bus trigger identifier (address) mode to be used when + searching on a CAN bus signal. The search number is specified by x. The search condition + must be set to IDANDDATA or DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe {EXTENDed|STandard} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe? + ``` + + Info: + - ``EXTENDed`` specifies the extended identifier mode. + - ``STandard`` specifies the standard identifier mode. + """ + + +class SearchSearchItemTriggerABusCanIdentifier(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._mode = SearchSearchItemTriggerABusCanIdentifierMode( + device, f"{self._cmd_syntax}:MODe" + ) + self._value = SearchSearchItemTriggerABusCanIdentifierValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def mode(self) -> SearchSearchItemTriggerABusCanIdentifierMode: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + + Description: + - This command sets or queries the CAN bus trigger identifier (address) mode to be used + when searching on a CAN bus signal. The search number is specified by x. The search + condition must be set to IDANDDATA or DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe {EXTENDed|STandard} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe? + ``` + + Info: + - ``EXTENDed`` specifies the extended identifier mode. + - ``STandard`` specifies the standard identifier mode. + """ + return self._mode + + @property + def value(self) -> SearchSearchItemTriggerABusCanIdentifierValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + + Description: + - This command sets or queries CAN bus trigger identifier (address) value to be used + when searching on a CAN bus signal. The search number is specified by x. The search + condition must be set to IDANDDATA or DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue? + ``` + + Info: + - ```` is the identifier value. + """ + return self._value + + +class SearchSearchItemTriggerABusCanFrametype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype`` command. + + Description: + - This command sets or queries CAN bus trigger frame type to be used when searching on a CAN + bus signal. The search condition must be set to FRAMEtype. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype {DATa|ERRor|OVERLoad|REMote} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype? + ``` + + Info: + - ``DATa`` sets the frame type to data. + - ``ERRor`` sets the frame type to error. + - ``OVERLoad`` sets the frame type to overload. + - ``REMote`` sets the frame type to remote. + """ + + +class SearchSearchItemTriggerABusCanFdEsibit(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit`` command. + + Description: + - This command sets or queries the value of the error state indicator bit (ESI bit) for a + CAN bus to search on. The search number is specified by x. The search condition must be + set to FDBITS, and the CAN standard must be FDISO or FDNONISO. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit? + ``` + + Info: + - ``ONE`` filters CAN FD packets to only match those where the ESI bit has a value of 1 + (recessive). + - ``ZERo`` filters CAN FD packets to only match those where the ESI bit has a value of 0 + (dominant). + - ``NOCARE`` disables filtering of CAN FD packets on the ESI bit. + """ + + +class SearchSearchItemTriggerABusCanFdBrsbit(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit`` command. + + Description: + - This command sets or queries the value of the bit rate switch bit (BRS bit) for a CAN bus + to search on. The search number is specified by x. The search condition must be set to + FDBITS, and the CAN standard must be FDISO or FDNONISO. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit? + ``` + + Info: + - ``ONE`` filters CAN FD packets to only match those where the BRS bit has a value of 1 + (fast data enabled). + - ``ZERo`` filters CAN FD packets to only match those where the BRS bit has a value of 0 + (fast data disabled). + - ``NOCARE`` disables filtering of CAN FD packets on the BRS bit. + """ + + +class SearchSearchItemTriggerABusCanFd(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.brsbit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit`` command. + - ``.esibit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._brsbit = SearchSearchItemTriggerABusCanFdBrsbit(device, f"{self._cmd_syntax}:BRSBit") + self._esibit = SearchSearchItemTriggerABusCanFdEsibit(device, f"{self._cmd_syntax}:ESIBit") + + @property + def brsbit(self) -> SearchSearchItemTriggerABusCanFdBrsbit: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit`` command. + + Description: + - This command sets or queries the value of the bit rate switch bit (BRS bit) for a CAN + bus to search on. The search number is specified by x. The search condition must be + set to FDBITS, and the CAN standard must be FDISO or FDNONISO. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit? + ``` + + Info: + - ``ONE`` filters CAN FD packets to only match those where the BRS bit has a value of 1 + (fast data enabled). + - ``ZERo`` filters CAN FD packets to only match those where the BRS bit has a value of 0 + (fast data disabled). + - ``NOCARE`` disables filtering of CAN FD packets on the BRS bit. + """ + return self._brsbit + + @property + def esibit(self) -> SearchSearchItemTriggerABusCanFdEsibit: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit`` command. + + Description: + - This command sets or queries the value of the error state indicator bit (ESI bit) for + a CAN bus to search on. The search number is specified by x. The search condition must + be set to FDBITS, and the CAN standard must be FDISO or FDNONISO. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit {ONE|ZERo|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit? + ``` + + Info: + - ``ONE`` filters CAN FD packets to only match those where the ESI bit has a value of 1 + (recessive). + - ``ZERo`` filters CAN FD packets to only match those where the ESI bit has a value of 0 + (dominant). + - ``NOCARE`` disables filtering of CAN FD packets on the ESI bit. + """ + return self._esibit + + +class SearchSearchItemTriggerABusCanErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType`` command. + + Description: + - This command sets or queries the type of error condition for a CAN bus to search on. The + search number is specified by x. The search condition must be set to ERRor. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType {ACKMISS|BITSTUFFing|FORMERRor|ANYERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType? + ``` + + Info: + - ``ACKMISS`` specifies a search based on a missing ACK field. + - ``BITSTUFFing`` specifies a search based on a bit stuffing error. + - ``FORMERRor`` specifies a search based on a CAN FD form error. To use this option, the CAN + standard must be set to FDISO or FDNONISO. + - ``ANYERRor`` specifies a search based on any error type. + """ + + +class SearchSearchItemTriggerABusCanDataValue(SCPICmdWrite): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on a CAN bus + signal. The search condition must be set to IDANDDATA OR DATA. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue + ``` + + Info: + - ```` + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusCanDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to be used when + searching on a CAN bus signal. The search condition must be set to IDANDDATA or DATA. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. + """ + + +class SearchSearchItemTriggerABusCanDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + + Description: + - This command sets or queries the CAN bus trigger data qualifier to be used when searching + on a CAN bus signal. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier {EQUal|LESSEQual|MOREEQua|UNEQual|LESSthan|MOREthan} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier? + ``` + + Info: + - ``EQUal`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQua`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusCanDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet`` command. + + Description: + - This command sets or queries the data offset value, in bytes, to use when searching on the + CAN data field. The search number is specified by x. The search condition must be set to + DATA or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet? + ``` + + Info: + - ```` is an integer whose minimum and default values are -1 (don't care) and maximum + is up to 7 (for CAN 2.0) or up to 63 (for ISO CAN FD and Non-ISO CAN FD). The maximum is + dependent on the number of bytes being matched and the CAN standard selected. Its value is + calculated as [Absolute Maximum] - [Data Match Size]. For CAN 2.0, the absolute maximum is + 8 bytes. For ISO CAN FD and Non-ISO CAN FD, the absolute maximum is 64 bytes. The minimum + data match size is 1 byte, which produces the ranges listed above. Increasing the data + match size above 1 byte will adjust the range of valid data offset values accordingly. + """ + + +class SearchSearchItemTriggerABusCanDataDirection(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection`` command. + + Description: + - This command specifies the CAN search type to be valid on a Read, Write, or Either + condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection {READ|WRITE|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection? + ``` + + Info: + - ``READ`` specifies the read direction. + - ``WRITE`` specifies the write direction. + - ``NOCARE`` specifies either data direction. + """ + + +class SearchSearchItemTriggerABusCanData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.direction``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._direction = SearchSearchItemTriggerABusCanDataDirection( + device, f"{self._cmd_syntax}:DIRection" + ) + self._offset = SearchSearchItemTriggerABusCanDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._qualifier = SearchSearchItemTriggerABusCanDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._size = SearchSearchItemTriggerABusCanDataSize(device, f"{self._cmd_syntax}:SIZe") + self._value = SearchSearchItemTriggerABusCanDataValue(device, f"{self._cmd_syntax}:VALue") + + @property + def direction(self) -> SearchSearchItemTriggerABusCanDataDirection: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection`` command. + + Description: + - This command specifies the CAN search type to be valid on a Read, Write, or Either + condition. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection {READ|WRITE|NOCARE} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection? + ``` + + Info: + - ``READ`` specifies the read direction. + - ``WRITE`` specifies the write direction. + - ``NOCARE`` specifies either data direction. + """ + return self._direction + + @property + def offset(self) -> SearchSearchItemTriggerABusCanDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet`` command. + + Description: + - This command sets or queries the data offset value, in bytes, to use when searching on + the CAN data field. The search number is specified by x. The search condition must be + set to DATA or IDANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet? + ``` + + Info: + - ```` is an integer whose minimum and default values are -1 (don't care) and + maximum is up to 7 (for CAN 2.0) or up to 63 (for ISO CAN FD and Non-ISO CAN FD). The + maximum is dependent on the number of bytes being matched and the CAN standard + selected. Its value is calculated as [Absolute Maximum] - [Data Match Size]. For CAN + 2.0, the absolute maximum is 8 bytes. For ISO CAN FD and Non-ISO CAN FD, the absolute + maximum is 64 bytes. The minimum data match size is 1 byte, which produces the ranges + listed above. Increasing the data match size above 1 byte will adjust the range of + valid data offset values accordingly. + """ + return self._offset + + @property + def qualifier(self) -> SearchSearchItemTriggerABusCanDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + + Description: + - This command sets or queries the CAN bus trigger data qualifier to be used when + searching on a CAN bus signal. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier {EQUal|LESSEQual|MOREEQua|UNEQual|LESSthan|MOREthan} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier? + ``` + + Info: + - ``EQUal`` sets the data qualifier to equal. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQua`` sets the data qualifier to more equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + """ # noqa: E501 + return self._qualifier + + @property + def size(self) -> SearchSearchItemTriggerABusCanDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to be used when + searching on a CAN bus signal. The search condition must be set to IDANDDATA or DATA. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe? + ``` + + Info: + - ```` specifies the data size. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusCanDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on a CAN + bus signal. The search condition must be set to IDANDDATA OR DATA. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue + ``` + + Info: + - ```` + """ + return self._value + + +class SearchSearchItemTriggerABusCanCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition`` command. + + Description: + - This command sets or queries the search condition for a CAN bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition {SOF|FRAMEtype|IDentifier|DATa|IDANDDATA|EOF|ERRor|FDBITS} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition? + ``` + + Info: + - ``SOF`` specifies the search condition for a CAN bus as start of frame. + - ``FRAMEtype`` specifies the search condition for a CAN bus as frame type. + - ``IDentifier`` specifies the search condition for a CAN bus as identifier. + - ``IDANDDATA`` specifies the search condition for a CAN bus as ID and data. + - ``EOF`` specifies the search condition for a CAN bus as end of frame. + - ``ERRor`` specifies the search condition for a CAN bus as error. + - ``FDBITS`` specifies the search condition for a CAN bus as FD bits. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusCan(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType`` command. + - ``.fd``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD`` command tree. + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype`` command. + - ``.identifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusCanCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusCanData(device, f"{self._cmd_syntax}:DATa") + self._errtype = SearchSearchItemTriggerABusCanErrtype(device, f"{self._cmd_syntax}:ERRType") + self._fd = SearchSearchItemTriggerABusCanFd(device, f"{self._cmd_syntax}:FD") + self._frametype = SearchSearchItemTriggerABusCanFrametype( + device, f"{self._cmd_syntax}:FRAMEtype" + ) + self._identifier = SearchSearchItemTriggerABusCanIdentifier( + device, f"{self._cmd_syntax}:IDentifier" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusCanCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition`` command. + + Description: + - This command sets or queries the search condition for a CAN bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition {SOF|FRAMEtype|IDentifier|DATa|IDANDDATA|EOF|ERRor|FDBITS} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition? + ``` + + Info: + - ``SOF`` specifies the search condition for a CAN bus as start of frame. + - ``FRAMEtype`` specifies the search condition for a CAN bus as frame type. + - ``IDentifier`` specifies the search condition for a CAN bus as identifier. + - ``IDANDDATA`` specifies the search condition for a CAN bus as ID and data. + - ``EOF`` specifies the search condition for a CAN bus as end of frame. + - ``ERRor`` specifies the search condition for a CAN bus as error. + - ``FDBITS`` specifies the search condition for a CAN bus as FD bits. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusCanData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.direction``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:DIRection`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:QUALifier`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa:VALue`` command. + """ + return self._data + + @property + def errtype(self) -> SearchSearchItemTriggerABusCanErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType`` command. + + Description: + - This command sets or queries the type of error condition for a CAN bus to search on. + The search number is specified by x. The search condition must be set to ERRor. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType {ACKMISS|BITSTUFFing|FORMERRor|ANYERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType? + ``` + + Info: + - ``ACKMISS`` specifies a search based on a missing ACK field. + - ``BITSTUFFing`` specifies a search based on a bit stuffing error. + - ``FORMERRor`` specifies a search based on a CAN FD form error. To use this option, the + CAN standard must be set to FDISO or FDNONISO. + - ``ANYERRor`` specifies a search based on any error type. + """ + return self._errtype + + @property + def fd(self) -> SearchSearchItemTriggerABusCanFd: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.brsbit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:BRSBit`` command. + - ``.esibit``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD:ESIBit`` command. + """ + return self._fd + + @property + def frametype(self) -> SearchSearchItemTriggerABusCanFrametype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype`` command. + + Description: + - This command sets or queries CAN bus trigger frame type to be used when searching on a + CAN bus signal. The search condition must be set to FRAMEtype. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype {DATa|ERRor|OVERLoad|REMote} + - SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype? + ``` + + Info: + - ``DATa`` sets the frame type to data. + - ``ERRor`` sets the frame type to error. + - ``OVERLoad`` sets the frame type to overload. + - ``REMote`` sets the frame type to remote. + """ + return self._frametype + + @property + def identifier(self) -> SearchSearchItemTriggerABusCanIdentifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:MODe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier:VALue`` command. + """ + return self._identifier + + +class SearchSearchItemTriggerABusBS8b10bCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition`` command. + + Description: + - This command sets or queries the type of data search for an 8B10B bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition {SYMbols|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``SYMbols`` specifies the search condition as data or control. + - ``ERRors`` specifies the search condition as Symbol error or disparity error. + """ + + +class SearchSearchItemTriggerABusBS8b10b(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusBS8b10bCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusBS8b10bCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition`` command. + + Description: + - This command sets or queries the type of data search for an 8B10B bus. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition {SYMbols|ERRors} + - SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``SYMbols`` specifies the search condition as data or control. + - ``ERRors`` specifies the search condition as Symbol error or disparity error. + """ + return self._condition + + +class SearchSearchItemTriggerABusBPsifiveStatusValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue`` command. + + Description: + - This command sets or queries the binary status string used for PSI5 triggering if the + trigger condition is status. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveStatus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveStatusValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveStatusValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue`` command. + + Description: + - This command sets or queries the binary status string used for PSI5 triggering if the + trigger condition is status. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusBPsifiveSensorAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue`` command. + + Description: + - This command sets or queries the binary sensor address string used for PSI5 triggering if + the trigger condition is Sensor Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveSensorAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveSensorAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveSensorAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue`` command. + + Description: + - This command sets or queries the binary sensor address string used for PSI5 triggering + if the trigger condition is Sensor Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusBPsifiveSensor(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusBPsifiveSensorAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusBPsifiveSensorAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue`` + command. + """ + return self._address + + +class SearchSearchItemTriggerABusBPsifiveSensorstatusType(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe`` command. + + Description: + - This command sets or queries the sensor status for PSI5 bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe {READy|BUSY|DEFect|SERVICEMODe|UNLocked} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe? + ``` + + Info: + - ``READy`` specifies the sensor status as ready. This is the default value. + - ``BUSY`` specifies the sensor status as busy. + - ``DEFect`` specifies the sensor status as defect. + - ``SERVICEMODe`` specifies the sensor status as service mode. + - ``UNLocked`` specifies the sensor status as unlocked. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusBPsifiveSensorstatus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._type = SearchSearchItemTriggerABusBPsifiveSensorstatusType( + device, f"{self._cmd_syntax}:TYPe" + ) + + @property + def type(self) -> SearchSearchItemTriggerABusBPsifiveSensorstatusType: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe`` command. + + Description: + - This command sets or queries the sensor status for PSI5 bus. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe {READy|BUSY|DEFect|SERVICEMODe|UNLocked} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe? + ``` + + Info: + - ``READy`` specifies the sensor status as ready. This is the default value. + - ``BUSY`` specifies the sensor status as busy. + - ``DEFect`` specifies the sensor status as defect. + - ``SERVICEMODe`` specifies the sensor status as service mode. + - ``UNLocked`` specifies the sensor status as unlocked. + """ # noqa: E501 + return self._type + + +class SearchSearchItemTriggerABusBPsifiveRegisterAddressValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue`` command. + + Description: + - This command sets or queries the binary register address string used for PSI5 triggering + if the trigger condition is Register Address. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveRegisterAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveRegisterAddressValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveRegisterAddressValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue`` command. + + Description: + - This command sets or queries the binary register address string used for PSI5 + triggering if the trigger condition is Register Address. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusBPsifiveRegister(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusBPsifiveRegisterAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusBPsifiveRegisterAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue`` + command. + """ + return self._address + + +class SearchSearchItemTriggerABusBPsifiveRegisteraddress(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess`` command. + + Description: + - This command sets or queries the register address for PSI5 bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess {TWOBIT|SIXBIT|EIGHTBIT} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess? + ``` + + Info: + - ``TWOBIT`` specifies the register address value as 2 bit. This is the default value. + - ``SIXBIT`` specifies the register address value as 6 bit. + - ``EIGHTBIT`` specifies the register address value as 8 bit. + """ + + +class SearchSearchItemTriggerABusBPsifiveFunctioncodetype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe`` command. + + Description: + - This command sets or queries the binary data string used for PSI5 triggering if the + trigger condition is a Function Code. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveErrortype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe`` command. + + Description: + - This command sets or queries the error type for an PSI5 bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe {ANY|PARity|CRC|RESPONSECODe} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe? + ``` + + Info: + - ``ANY`` specifies the error type value as any. This is the default value. + - ``PARity`` specifies the error type value as parity. + - ``CRC`` specifies the error type value as CRC. + - ``RESPONSECODe`` specifies the error type value as response code. + """ + + +class SearchSearchItemTriggerABusBPsifiveDataRegionBValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue`` command. + + Description: + - This command sets or queries the binary data string used for PSI5 triggering if the + trigger condition is data region B. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveDataRegionB(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveDataRegionBValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveDataRegionBValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue`` command. + + Description: + - This command sets or queries the binary data string used for PSI5 triggering if the + trigger condition is data region B. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusBPsifiveDataRegionAValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue`` command. + + Description: + - This command sets or queries the binary data string used for PSI5 triggering if the + trigger condition is data region A. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveDataRegionA(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveDataRegionAValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveDataRegionAValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue`` command. + + Description: + - This command sets or queries the binary data string used for PSI5 triggering if the + trigger condition is data region A. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusBPsifiveDataRegion(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.a``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A`` command tree. + - ``.b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._a = SearchSearchItemTriggerABusBPsifiveDataRegionA(device, f"{self._cmd_syntax}:A") + self._b = SearchSearchItemTriggerABusBPsifiveDataRegionB(device, f"{self._cmd_syntax}:B") + + @property + def a(self) -> SearchSearchItemTriggerABusBPsifiveDataRegionA: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue`` + command. + """ + return self._a + + @property + def b(self) -> SearchSearchItemTriggerABusBPsifiveDataRegionB: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue`` + command. + """ + return self._b + + +class SearchSearchItemTriggerABusBPsifiveDataEcuSensorValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue`` command. + + Description: + - This command sets or queries the binary Data string used for PSI5 triggering if the + trigger condition is Data in ECU to Sensor communication mode. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, and X + for values in binary format; and A-F, 0-9, and X for values in hexadecimal format. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveDataEcuSensor(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveDataEcuSensorValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveDataEcuSensorValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue`` command. + + Description: + - This command sets or queries the binary Data string used for PSI5 triggering if the + trigger condition is Data in ECU to Sensor communication mode. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._value + + +class SearchSearchItemTriggerABusBPsifiveDataEcu(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.sensor``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._sensor = SearchSearchItemTriggerABusBPsifiveDataEcuSensor( + device, f"{self._cmd_syntax}:SENSor" + ) + + @property + def sensor(self) -> SearchSearchItemTriggerABusBPsifiveDataEcuSensor: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue`` + command. + """ + return self._sensor + + +class SearchSearchItemTriggerABusBPsifiveData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.ecu``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU`` command tree. + - ``.region``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ecu = SearchSearchItemTriggerABusBPsifiveDataEcu(device, f"{self._cmd_syntax}:ECU") + self._region = SearchSearchItemTriggerABusBPsifiveDataRegion( + device, f"{self._cmd_syntax}:REGion" + ) + + @property + def ecu(self) -> SearchSearchItemTriggerABusBPsifiveDataEcu: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.sensor``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor`` command + tree. + """ + return self._ecu + + @property + def region(self) -> SearchSearchItemTriggerABusBPsifiveDataRegion: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A`` command tree. + - ``.b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B`` command tree. + """ + return self._region + + +class SearchSearchItemTriggerABusBPsifiveDatabits(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs`` command. + + Description: + - This command sets or queries the binary register address string used for PSI5 triggering + if the trigger condition is Data in ECU to Sensor communication mode. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs {FOURBIT|EIGHTBIT|TWENTYBIT} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs? + ``` + + Info: + - ``FOURBIT`` specifies the data bit value as 4 bit. + - ``EIGHTBIT`` specifies the data bit value as 8 bit. + - ``TWENTYBIT`` specifies the data bit value as 20 bit. + """ + + +class SearchSearchItemTriggerABusBPsifiveCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for an PSI5 bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition {STARt|STATus|DATa|BLOCkid|SENSORSTATus|ERRors|STARTBIT|FUNCTIONCODe|ECUDATa|SENSORADDRess|REGISTERADDRess|SENSORSTATus|CRCERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition? + ``` + + Info: + - ``STARt`` specifies the search condition as Start. This is the default trigger. + - ``STATus`` specifies the search condition as Status. + - ``DATa`` specifies the search condition as Data. + - ``BLOCkid`` specifies the search condition as Block ID. + - ``SENSORSTATus`` specifies the search condition as Sensor Status. + - ``ERRors`` specifies the search condition as Errors. + - ``STARTBIT`` specifies the search condition as Start Bit. + - ``FUNCTIONCODe`` specifies the search condition as Function Code. + - ``ECUDATa`` specifies the search condition as ECU Data. + - ``SENSORADDRess`` specifies the search condition as Sensor Address. + - ``REGISTERADDRess`` specifies the search condition as Register Address. + - ``SENSORSTATus`` specifies the search condition as Sensor Status. + - ``CRCERRor`` specifies the search condition as CRC Error. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusBPsifiveBlockdataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue`` command. + + Description: + - This command sets or queries the binary block data string used for PSI5 triggering if the + trigger condition is block id. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue? + ``` + + Info: + - ```` specifies the binary block data string. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusBPsifiveBlockdata(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusBPsifiveBlockdataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusBPsifiveBlockdataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue`` command. + + Description: + - This command sets or queries the binary block data string used for PSI5 triggering if + the trigger condition is block id. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue? + ``` + + Info: + - ```` specifies the binary block data string. + """ + return self._value + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerABusBPsifive(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.blockdata``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition`` command. + - ``.databits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa`` command tree. + - ``.errortype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe`` command. + - ``.functioncodetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe`` + command. + - ``.registeraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess`` + command. + - ``.register``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister`` command tree. + - ``.sensorstatus``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus`` command + tree. + - ``.sensor``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor`` command tree. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._blockdata = SearchSearchItemTriggerABusBPsifiveBlockdata( + device, f"{self._cmd_syntax}:BLOCKDATa" + ) + self._condition = SearchSearchItemTriggerABusBPsifiveCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._databits = SearchSearchItemTriggerABusBPsifiveDatabits( + device, f"{self._cmd_syntax}:DATABITs" + ) + self._data = SearchSearchItemTriggerABusBPsifiveData(device, f"{self._cmd_syntax}:DATa") + self._errortype = SearchSearchItemTriggerABusBPsifiveErrortype( + device, f"{self._cmd_syntax}:ERRORTYPe" + ) + self._functioncodetype = SearchSearchItemTriggerABusBPsifiveFunctioncodetype( + device, f"{self._cmd_syntax}:FUNCTIONCODETYPe" + ) + self._registeraddress = SearchSearchItemTriggerABusBPsifiveRegisteraddress( + device, f"{self._cmd_syntax}:REGISTERADDRess" + ) + self._register = SearchSearchItemTriggerABusBPsifiveRegister( + device, f"{self._cmd_syntax}:REGister" + ) + self._sensorstatus = SearchSearchItemTriggerABusBPsifiveSensorstatus( + device, f"{self._cmd_syntax}:SENSORSTATus" + ) + self._sensor = SearchSearchItemTriggerABusBPsifiveSensor( + device, f"{self._cmd_syntax}:SENSor" + ) + self._status = SearchSearchItemTriggerABusBPsifiveStatus( + device, f"{self._cmd_syntax}:STATus" + ) + + @property + def blockdata(self) -> SearchSearchItemTriggerABusBPsifiveBlockdata: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue`` command. + """ + return self._blockdata + + @property + def condition(self) -> SearchSearchItemTriggerABusBPsifiveCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition`` command. + + Description: + - This command sets or queries the trigger condition for an PSI5 bus. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition {STARt|STATus|DATa|BLOCkid|SENSORSTATus|ERRors|STARTBIT|FUNCTIONCODe|ECUDATa|SENSORADDRess|REGISTERADDRess|SENSORSTATus|CRCERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition? + ``` + + Info: + - ``STARt`` specifies the search condition as Start. This is the default trigger. + - ``STATus`` specifies the search condition as Status. + - ``DATa`` specifies the search condition as Data. + - ``BLOCkid`` specifies the search condition as Block ID. + - ``SENSORSTATus`` specifies the search condition as Sensor Status. + - ``ERRors`` specifies the search condition as Errors. + - ``STARTBIT`` specifies the search condition as Start Bit. + - ``FUNCTIONCODe`` specifies the search condition as Function Code. + - ``ECUDATa`` specifies the search condition as ECU Data. + - ``SENSORADDRess`` specifies the search condition as Sensor Address. + - ``REGISTERADDRess`` specifies the search condition as Register Address. + - ``SENSORSTATus`` specifies the search condition as Sensor Status. + - ``CRCERRor`` specifies the search condition as CRC Error. + """ # noqa: E501 + return self._condition + + @property + def databits(self) -> SearchSearchItemTriggerABusBPsifiveDatabits: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs`` command. + + Description: + - This command sets or queries the binary register address string used for PSI5 + triggering if the trigger condition is Data in ECU to Sensor communication mode. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs {FOURBIT|EIGHTBIT|TWENTYBIT} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs? + ``` + + Info: + - ``FOURBIT`` specifies the data bit value as 4 bit. + - ``EIGHTBIT`` specifies the data bit value as 8 bit. + - ``TWENTYBIT`` specifies the data bit value as 20 bit. + """ + return self._databits + + @property + def data(self) -> SearchSearchItemTriggerABusBPsifiveData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.ecu``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU`` command tree. + - ``.region``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion`` command + tree. + """ + return self._data + + @property + def errortype(self) -> SearchSearchItemTriggerABusBPsifiveErrortype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe`` command. + + Description: + - This command sets or queries the error type for an PSI5 bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe {ANY|PARity|CRC|RESPONSECODe} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe? + ``` + + Info: + - ``ANY`` specifies the error type value as any. This is the default value. + - ``PARity`` specifies the error type value as parity. + - ``CRC`` specifies the error type value as CRC. + - ``RESPONSECODe`` specifies the error type value as response code. + """ + return self._errortype + + @property + def functioncodetype(self) -> SearchSearchItemTriggerABusBPsifiveFunctioncodetype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe`` command. + + Description: + - This command sets or queries the binary data string used for PSI5 triggering if the + trigger condition is a Function Code. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe? + ``` + + Info: + - ```` specifies the value of the data string. The valid characters are 0, 1, + and X for values in binary format; and A-F, 0-9, and X for values in hexadecimal + format. + """ + return self._functioncodetype + + @property + def registeraddress(self) -> SearchSearchItemTriggerABusBPsifiveRegisteraddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess`` command. + + Description: + - This command sets or queries the register address for PSI5 bus. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess {TWOBIT|SIXBIT|EIGHTBIT} + - SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess? + ``` + + Info: + - ``TWOBIT`` specifies the register address value as 2 bit. This is the default value. + - ``SIXBIT`` specifies the register address value as 6 bit. + - ``EIGHTBIT`` specifies the register address value as 8 bit. + """ + return self._registeraddress + + @property + def register(self) -> SearchSearchItemTriggerABusBPsifiveRegister: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess`` + command tree. + """ + return self._register + + @property + def sensorstatus(self) -> SearchSearchItemTriggerABusBPsifiveSensorstatus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe`` command. + """ + return self._sensorstatus + + @property + def sensor(self) -> SearchSearchItemTriggerABusBPsifiveSensor: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess`` command + tree. + """ + return self._sensor + + @property + def status(self) -> SearchSearchItemTriggerABusBPsifiveStatus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue`` command. + """ + return self._status + + +class SearchSearchItemTriggerABusBNrzCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition`` command. + + Description: + - This command specifies a field or condition for an NRZ bus to search on. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition {DATa} + - SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``DATa`` specifies the search condition as Data Characters. + """ + + +class SearchSearchItemTriggerABusBNrz(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusBNrzCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusBNrzCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition`` command. + + Description: + - This command specifies a field or condition for an NRZ bus to search on. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition {DATa} + - SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition? + ``` + + Info: + - ``Search`` is the number of the search. + - ``DATa`` specifies the search condition as Data Characters. + """ + return self._condition + + +class SearchSearchItemTriggerABusB(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.nrz``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ`` command tree. + - ``.psifive``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe`` command tree. + - ``.s8b10b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._nrz = SearchSearchItemTriggerABusBNrz(device, f"{self._cmd_syntax}:NRZ") + self._psifive = SearchSearchItemTriggerABusBPsifive(device, f"{self._cmd_syntax}:PSIFIVe") + self._s8b10b = SearchSearchItemTriggerABusBS8b10b(device, f"{self._cmd_syntax}:S8B10B") + + @property + def nrz(self) -> SearchSearchItemTriggerABusBNrz: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition`` command. + """ + return self._nrz + + @property + def psifive(self) -> SearchSearchItemTriggerABusBPsifive: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.blockdata``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa`` command + tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition`` command. + - ``.databits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa`` command tree. + - ``.errortype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe`` command. + - ``.functioncodetype``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe`` command. + - ``.registeraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess`` + command. + - ``.register``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister`` command tree. + - ``.sensorstatus``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus`` + command tree. + - ``.sensor``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor`` command tree. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus`` command tree. + """ + return self._psifive + + @property + def s8b10b(self) -> SearchSearchItemTriggerABusBS8b10b: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition`` command. + """ + return self._s8b10b + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderSourceportValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue`` command. + + Description: + - This command sets or queries the binary source port value to use when searching on an + AutoEthernet bus signal. The search condition needs to be set to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderSourceport(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetTcpheaderSourceportValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderSourceportValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue`` command. + + Description: + - This command sets or queries the binary source port value to use when searching on an + AutoEthernet bus signal. The search condition needs to be set to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderSeqnumValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue`` command. + + Description: + - This command sets or queries the TCP header sequence number value to use when searching on + the AutoEthernet TCP header destination port number. The search condition needs to be set + to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderSeqnum(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetTcpheaderSeqnumValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderSeqnumValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue`` command. + + Description: + - This command sets or queries the TCP header sequence number value to use when + searching on the AutoEthernet TCP header destination port number. The search condition + needs to be set to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderDestinationportValue( + SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue`` command. + + Description: + - This command sets or queries the binary destination port value to use when searching on + the AutoEthernet TCP header destination port number. The search condition needs to be set + to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderDestinationport(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetTcpheaderDestinationportValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderDestinationportValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue`` command. + + Description: + - This command sets or queries the binary destination port value to use when searching + on the AutoEthernet TCP header destination port number. The search condition needs to + be set to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderAcknumValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue`` command. + + Description: + - This command sets or queries the binary ack number value to use when searching on an + AutoEthernet bus signal. The default is all X's (don't care). The search condition needs + to be set to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetTcpheaderAcknum(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetTcpheaderAcknumValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderAcknumValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue`` command. + + Description: + - This command sets or queries the binary ack number value to use when searching on an + AutoEthernet bus signal. The default is all X's (don't care). The search condition + needs to be set to TCPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetTcpheader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.acknum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum`` command + tree. + - ``.destinationport``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport`` command tree. + - ``.seqnum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum`` command + tree. + - ``.sourceport``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._acknum = SearchSearchItemTriggerABusAutoethernetTcpheaderAcknum( + device, f"{self._cmd_syntax}:ACKnum" + ) + self._destinationport = SearchSearchItemTriggerABusAutoethernetTcpheaderDestinationport( + device, f"{self._cmd_syntax}:DESTinationport" + ) + self._seqnum = SearchSearchItemTriggerABusAutoethernetTcpheaderSeqnum( + device, f"{self._cmd_syntax}:SEQnum" + ) + self._sourceport = SearchSearchItemTriggerABusAutoethernetTcpheaderSourceport( + device, f"{self._cmd_syntax}:SOUrceport" + ) + + @property + def acknum(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderAcknum: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum:VALue`` + command. + """ + return self._acknum + + @property + def destinationport(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderDestinationport: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue`` + command. + """ + return self._destinationport + + @property + def seqnum(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderSeqnum: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue`` + command. + """ + return self._seqnum + + @property + def sourceport(self) -> SearchSearchItemTriggerABusAutoethernetTcpheaderSourceport: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue`` command. + """ + return self._sourceport + + +class SearchSearchItemTriggerABusAutoethernetQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on an AutoEthernet + bus signal. The search condition must be set to Client Data or MAC Length/Type. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier? + ``` + + Info: + - ``Search`` is the Search number. + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to greater than. + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to not equal. + - ``LESSEQual`` sets the qualifier to less than or equal. + - ``MOREEQual`` sets the qualifier to greater than or equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusAutoethernetQtagValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue`` command. + + Description: + - This command sets or queries the binary Q-tag information to use when searching on an + AutoEthernet bus signal. The search condition needs to be set to QTAG. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetQtag(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetQtagValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetQtagValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue`` command. + + Description: + - This command sets or queries the binary Q-tag information to use when searching on an + AutoEthernet bus signal. The search condition needs to be set to QTAG. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetMacLengthValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue`` command. + + Description: + - This command sets or queries the MAC length value to use when searching on an Ethernet bus + signal. The search condition needs to be set to MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetMacLengthHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue`` command. + + Description: + - This command sets or queries the binary MAC length high value to use when searching on an + AutoEthernet bus signal. The search condition needs to be set to MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetMacLength(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusAutoethernetMacLengthHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._value = SearchSearchItemTriggerABusAutoethernetMacLengthValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusAutoethernetMacLengthHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue`` command. + + Description: + - This command sets or queries the binary MAC length high value to use when searching on + an AutoEthernet bus signal. The search condition needs to be set to MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._hivalue + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetMacLengthValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue`` command. + + Description: + - This command sets or queries the MAC length value to use when searching on an Ethernet + bus signal. The search condition needs to be set to MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 16 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetMacAddressSourceValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue`` command. + + Description: + - This command sets or queries the binary MAC address source value to use when searching on + an AutoEthernet bus signal. The search condition needs to be set to MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 48 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetMacAddressSource(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetMacAddressSourceValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetMacAddressSourceValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue`` command. + + Description: + - This command sets or queries the binary MAC address source value to use when searching + on an AutoEthernet bus signal. The search condition needs to be set to MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 48 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetMacAddressDestinationValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue`` command. + + Description: + - This command sets or queries the binary MAC address destination value to use when + searching on an AutoEthernet bus signal. The search condition needs to be set to + MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 48 characters where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetMacAddressDestination(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetMacAddressDestinationValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetMacAddressDestinationValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue`` command. + + Description: + - This command sets or queries the binary MAC address destination value to use when + searching on an AutoEthernet bus signal. The search condition needs to be set to + MACADDRess. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 48 characters where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetMacAddress(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.destination``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination`` command tree. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._destination = SearchSearchItemTriggerABusAutoethernetMacAddressDestination( + device, f"{self._cmd_syntax}:DESTination" + ) + self._source = SearchSearchItemTriggerABusAutoethernetMacAddressSource( + device, f"{self._cmd_syntax}:SOUrce" + ) + + @property + def destination(self) -> SearchSearchItemTriggerABusAutoethernetMacAddressDestination: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination:VALue`` command. + """ + return self._destination + + @property + def source(self) -> SearchSearchItemTriggerABusAutoethernetMacAddressSource: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce:VALue`` command. + """ + return self._source + + +class SearchSearchItemTriggerABusAutoethernetMac(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess`` command + tree. + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._address = SearchSearchItemTriggerABusAutoethernetMacAddress( + device, f"{self._cmd_syntax}:ADDRess" + ) + self._length = SearchSearchItemTriggerABusAutoethernetMacLength( + device, f"{self._cmd_syntax}:LENgth" + ) + + @property + def address(self) -> SearchSearchItemTriggerABusAutoethernetMacAddress: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.destination``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:DESTination`` command tree. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess:SOUrce`` + command tree. + """ + return self._address + + @property + def length(self) -> SearchSearchItemTriggerABusAutoethernetMacLength: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:HIVALue`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth:VALue`` + command. + """ + return self._length + + +class SearchSearchItemTriggerABusAutoethernetIpheaderSourceaddrValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue`` command. + + Description: + - This command sets or queries the binary source address value to use when searching on an + AutoEthernet bus signal. The search condition needs to be set to IPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters, where the allowable characters are + 0, 1, and X. The bits specified in the quoted string replace the least significant bits + (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetIpheaderSourceaddr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetIpheaderSourceaddrValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetIpheaderSourceaddrValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue`` command. + + Description: + - This command sets or queries the binary source address value to use when searching on + an AutoEthernet bus signal. The search condition needs to be set to IPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters, where the allowable characters + are 0, 1, and X. The bits specified in the quoted string replace the least significant + bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetIpheaderProtocolValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue`` command. + + Description: + - This command sets or queries the binary protocol value to use when searching on the + Ethernet bus signal. The search condition needs to be set to IPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to eight (8) characters where the allowable + characters are 0, 1, and X. The bits specified in the quoted string replace the least + significant bits (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetIpheaderProtocol(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue`` + command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetIpheaderProtocolValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetIpheaderProtocolValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue`` command. + + Description: + - This command sets or queries the binary protocol value to use when searching on the + Ethernet bus signal. The search condition needs to be set to IPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to eight (8) characters where the allowable + characters are 0, 1, and X. The bits specified in the quoted string replace the least + significant bits (LSB), leaving any unspecified upper bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetIpheaderDestinationaddrValue( + SCPICmdWrite, SCPICmdRead +): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue`` command. + + Description: + - This command sets or queries the binary destination address value to use when searching on + an AutoEthernet bus signal. The search condition needs to be set to IPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters that sets the IP address, where the + allowable characters are 0, 1, and X. The bits specified in the quoted string replace the + least significant bits (LSB), leaving any unspecified upper bits unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetIpheaderDestinationaddr(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusAutoethernetIpheaderDestinationaddrValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetIpheaderDestinationaddrValue: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue`` command. + + Description: + - This command sets or queries the binary destination address value to use when + searching on an AutoEthernet bus signal. The search condition needs to be set to + IPHeader. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string of up to 32 characters that sets the IP address, where + the allowable characters are 0, 1, and X. The bits specified in the quoted string + replace the least significant bits (LSB), leaving any unspecified upper bits + unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetIpheader(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.destinationaddr``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr`` command tree. + - ``.protocol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol`` + command tree. + - ``.sourceaddr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr`` + command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._destinationaddr = SearchSearchItemTriggerABusAutoethernetIpheaderDestinationaddr( + device, f"{self._cmd_syntax}:DESTinationaddr" + ) + self._protocol = SearchSearchItemTriggerABusAutoethernetIpheaderProtocol( + device, f"{self._cmd_syntax}:PROTOcol" + ) + self._sourceaddr = SearchSearchItemTriggerABusAutoethernetIpheaderSourceaddr( + device, f"{self._cmd_syntax}:SOUrceaddr" + ) + + @property + def destinationaddr(self) -> SearchSearchItemTriggerABusAutoethernetIpheaderDestinationaddr: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr:VALue`` + command. + """ + return self._destinationaddr + + @property + def protocol(self) -> SearchSearchItemTriggerABusAutoethernetIpheaderProtocol: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol:VALue`` command. + """ + return self._protocol + + @property + def sourceaddr(self) -> SearchSearchItemTriggerABusAutoethernetIpheaderSourceaddr: + """``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr:VALue`` command. + """ + return self._sourceaddr + + +class SearchSearchItemTriggerABusAutoethernetDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue`` command. + + Description: + - This command sets or queries the binary value to use when searching on the AutoEthernet + bus signal. The search condition needs to be set to DATa. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string where the allowable characters are 0, 1, and X. The + allowable number of characters depends on the setting for size (using + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe``). The bits specified in the + quoted string replace the least significant bits (LSB), leaving any unspecified upper bits + unchanged. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetDataSize(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to use when + searching on the AutoEthernet bus signal. The search condition needs to be set to DATa. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe? + ``` + + Info: + - ``Search`` is the Search number. + - ``NR1`` sets the data length, in bytes. It is an integer value whose minimum and default + values are 1, and the maximum value is 16. + """ + + +class SearchSearchItemTriggerABusAutoethernetDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet`` command. + + Description: + - This command sets or queries the data offset value, in bytes, to use when searching on the + AutoEthernet data field. The search condition needs to be set to DATa. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet? + ``` + + Info: + - ``Search`` is the Search number. + - ``NR1`` sets the data offset value, in bytes. It is an integer value whose minimum and + default values are -1 (don't care) and maximum is 1,499. + """ + + +class SearchSearchItemTriggerABusAutoethernetDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on an + AutoEthernet bus signal. The search condition must be set to DATA and the data qualifier + to inside or outside range. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` specifies the binary data value to be used when searching on an AutoEthernet + bus signal. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAutoethernetData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusAutoethernetDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._offset = SearchSearchItemTriggerABusAutoethernetDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._size = SearchSearchItemTriggerABusAutoethernetDataSize( + device, f"{self._cmd_syntax}:SIZe" + ) + self._value = SearchSearchItemTriggerABusAutoethernetDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusAutoethernetDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue`` command. + + Description: + - This command sets or queries the binary data value to be used when searching on an + AutoEthernet bus signal. The search condition must be set to DATA and the data + qualifier to inside or outside range. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` specifies the binary data value to be used when searching on an + AutoEthernet bus signal. + """ + return self._hivalue + + @property + def offset(self) -> SearchSearchItemTriggerABusAutoethernetDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet`` command. + + Description: + - This command sets or queries the data offset value, in bytes, to use when searching on + the AutoEthernet data field. The search condition needs to be set to DATa. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet? + ``` + + Info: + - ``Search`` is the Search number. + - ``NR1`` sets the data offset value, in bytes. It is an integer value whose minimum and + default values are -1 (don't care) and maximum is 1,499. + """ + return self._offset + + @property + def size(self) -> SearchSearchItemTriggerABusAutoethernetDataSize: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe`` command. + + Description: + - This command sets or queries the length of the data string, in bytes, to use when + searching on the AutoEthernet bus signal. The search condition needs to be set to + DATa. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe? + ``` + + Info: + - ``Search`` is the Search number. + - ``NR1`` sets the data length, in bytes. It is an integer value whose minimum and + default values are 1, and the maximum value is 16. + """ + return self._size + + @property + def value(self) -> SearchSearchItemTriggerABusAutoethernetDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue`` command. + + Description: + - This command sets or queries the binary value to use when searching on the + AutoEthernet bus signal. The search condition needs to be set to DATa. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue? + ``` + + Info: + - ``Search`` is the Search number. + - ``QString`` is a quoted string where the allowable characters are 0, 1, and X. The + allowable number of characters depends on the setting for size (using + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe``). The bits specified in the + quoted string replace the least significant bits (LSB), leaving any unspecified upper + bits unchanged. + """ + return self._value + + +class SearchSearchItemTriggerABusAutoethernetCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition`` command. + + Description: + - This command sets or queries the field or condition for which to search an AutoEthernet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition {SSD|SFD|MACADDRess|MACLENgth|IPHeader|TCPHeader|DATa|EOP|FCSError|QTAG} + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition? + ``` + + Info: + - ``Search`` is the Search number. + - ``SSD`` specifies to search for Start of frame. + - ``SFD`` specifies to search for Start of frame delimiter. + - ``MACADDRess`` specifies to search for MAC addresses field. + - ``MACLENgth`` specifies to search for MAC length/type field. + - ``IPHeader`` specifies to search for IP header field. + - ``TCPHeader`` specifies to search for TCP header field. + - ``DATa`` specifies to search for TCP/IPv4 or MAC protocol client data field. + - ``EOP`` specifies to search for End of Packet field. + - ``FCSError`` specifies to search for Frame Check Sequence Error (CRC) field. + - ``QTAG`` specifies to search for IEEE 802.1Q (VLAN) control information field. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusAutoethernet(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa`` command tree. + - ``.ipheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader`` command tree. + - ``.mac``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC`` command tree. + - ``.qtag``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG`` command tree. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier`` command. + - ``.tcpheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader`` command + tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusAutoethernetCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusAutoethernetData(device, f"{self._cmd_syntax}:DATa") + self._ipheader = SearchSearchItemTriggerABusAutoethernetIpheader( + device, f"{self._cmd_syntax}:IPHeader" + ) + self._mac = SearchSearchItemTriggerABusAutoethernetMac(device, f"{self._cmd_syntax}:MAC") + self._qtag = SearchSearchItemTriggerABusAutoethernetQtag(device, f"{self._cmd_syntax}:QTAG") + self._qualifier = SearchSearchItemTriggerABusAutoethernetQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._tcpheader = SearchSearchItemTriggerABusAutoethernetTcpheader( + device, f"{self._cmd_syntax}:TCPHeader" + ) + + @property + def condition(self) -> SearchSearchItemTriggerABusAutoethernetCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition`` command. + + Description: + - This command sets or queries the field or condition for which to search an + AutoEthernet. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition {SSD|SFD|MACADDRess|MACLENgth|IPHeader|TCPHeader|DATa|EOP|FCSError|QTAG} + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition? + ``` + + Info: + - ``Search`` is the Search number. + - ``SSD`` specifies to search for Start of frame. + - ``SFD`` specifies to search for Start of frame delimiter. + - ``MACADDRess`` specifies to search for MAC addresses field. + - ``MACLENgth`` specifies to search for MAC length/type field. + - ``IPHeader`` specifies to search for IP header field. + - ``TCPHeader`` specifies to search for TCP header field. + - ``DATa`` specifies to search for TCP/IPv4 or MAC protocol client data field. + - ``EOP`` specifies to search for End of Packet field. + - ``FCSError`` specifies to search for Frame Check Sequence Error (CRC) field. + - ``QTAG`` specifies to search for IEEE 802.1Q (VLAN) control information field. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusAutoethernetData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:HIVALue`` + command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:OFFSet`` command. + - ``.size``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:SIZe`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa:VALue`` command. + """ + return self._data + + @property + def ipheader(self) -> SearchSearchItemTriggerABusAutoethernetIpheader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.destinationaddr``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:DESTinationaddr`` command tree. + - ``.protocol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:PROTOcol`` + command tree. + - ``.sourceaddr``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader:SOUrceaddr`` command tree. + """ + return self._ipheader + + @property + def mac(self) -> SearchSearchItemTriggerABusAutoethernetMac: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:ADDRess`` command + tree. + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC:LENgth`` command + tree. + """ + return self._mac + + @property + def qtag(self) -> SearchSearchItemTriggerABusAutoethernetQtag: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG:VALue`` command. + """ + return self._qtag + + @property + def qualifier(self) -> SearchSearchItemTriggerABusAutoethernetQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on an + AutoEthernet bus signal. The search condition must be set to Client Data or MAC + Length/Type. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier {LESSthan|MOREthan|EQual|UNEQual|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier? + ``` + + Info: + - ``Search`` is the Search number. + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to greater than. + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to not equal. + - ``LESSEQual`` sets the qualifier to less than or equal. + - ``MOREEQual`` sets the qualifier to greater than or equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + return self._qualifier + + @property + def tcpheader(self) -> SearchSearchItemTriggerABusAutoethernetTcpheader: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acknum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:ACKnum`` + command tree. + - ``.destinationport``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport`` command + tree. + - ``.seqnum``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum`` + command tree. + - ``.sourceport``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport`` command tree. + """ + return self._tcpheader + + +class SearchSearchItemTriggerABusAudioDataWord(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD`` command. + + Description: + - This command sets or queries the alignment of the data (left, right or either) to be used + when searching on a non-TDM type audio bus signal. The search condition must be set to + DATA using ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:NONTdm:CONDition``. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD {EITher|LEFt|RIGht} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD? + ``` + + Info: + - ``EITher`` aligns the data to either left or right. + - ``LEFt`` aligns the data to the left. + - ``RIGht`` aligns the data to the right. + """ + + +class SearchSearchItemTriggerABusAudioDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data string for the single or low data word to be + used when searching on an audio bus signal. The search condition must be set to DATA using + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio``:{NONTdm|TDM}``:CONDition``. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue? + ``` + + Info: + - ```` is the lower word value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAudioDataTdmvalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue`` command. + + Description: + - This command sets or queries the binary data string for the single or low data word to be + used when searching on an TDM audio bus signal. The search condition must be set to DATA + using ``SEARCH:SEARCH``{x}``:TRIGger:A:BUS:AUDio:CONDition``. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue? + ``` + + Info: + - ```` is the binary data string for the single or low data word to be used when + searching on an TDM audio bus signal. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAudioDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on an audio bus + signal. The search condition must be set to DATa using + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio``:{NONTdm|TDM}``:CONDition``. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier? + ``` + + Info: + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to greater than. + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to not equal. + - ``LESSEQual`` sets the qualifier to less than or equal. + - ``MOREEQual`` sets the qualifier to greater than or equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusAudioDataOffset(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet`` command. + + Description: + - This command sets or queries the data offset value (TDM channel) to be used when searching + on a TDM type audio bus signal. The search condition must be set to DATa using + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:TDM:CONDition``. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet? + ``` + + Info: + - ```` is the data offset value. + """ + + +class SearchSearchItemTriggerABusAudioDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue`` command. + + Description: + - This command sets or queries the binary data string for the high data word to be used when + searching on an audio bus signal. The search condition must be set to DATa using + ``:SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition``. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue? + ``` + + Info: + - ```` specifies the upper word value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAudioDataHitdmvalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue`` command. + + Description: + - This command sets or queries the binary data string for the high data word to be used when + searching on an TDM audio bus signal. The search condition must be set to DATa using + ``SEARCH:SEARCH``{x}``:TRIGger:A:BUS:AUDio:CONDition``. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue? + ``` + + Info: + - ```` is the binary data string for the high data word to be used when searching + on an TDM audio bus signal. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusAudioData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.hitdmvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue`` command. + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier`` command. + - ``.tdmvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue`` command. + - ``.word``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hitdmvalue = SearchSearchItemTriggerABusAudioDataHitdmvalue( + device, f"{self._cmd_syntax}:HITDMVALue" + ) + self._hivalue = SearchSearchItemTriggerABusAudioDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._offset = SearchSearchItemTriggerABusAudioDataOffset( + device, f"{self._cmd_syntax}:OFFSet" + ) + self._qualifier = SearchSearchItemTriggerABusAudioDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._tdmvalue = SearchSearchItemTriggerABusAudioDataTdmvalue( + device, f"{self._cmd_syntax}:TDMVALue" + ) + self._value = SearchSearchItemTriggerABusAudioDataValue(device, f"{self._cmd_syntax}:VALue") + self._word = SearchSearchItemTriggerABusAudioDataWord(device, f"{self._cmd_syntax}:WORD") + + @property + def hitdmvalue(self) -> SearchSearchItemTriggerABusAudioDataHitdmvalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue`` command. + + Description: + - This command sets or queries the binary data string for the high data word to be used + when searching on an TDM audio bus signal. The search condition must be set to DATa + using ``SEARCH:SEARCH``{x}``:TRIGger:A:BUS:AUDio:CONDition``. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue? + ``` + + Info: + - ```` is the binary data string for the high data word to be used when + searching on an TDM audio bus signal. + """ + return self._hitdmvalue + + @property + def hivalue(self) -> SearchSearchItemTriggerABusAudioDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue`` command. + + Description: + - This command sets or queries the binary data string for the high data word to be used + when searching on an audio bus signal. The search condition must be set to DATa using + ``:SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition``. The search number is specified by + x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue? + ``` + + Info: + - ```` specifies the upper word value. + """ + return self._hivalue + + @property + def offset(self) -> SearchSearchItemTriggerABusAudioDataOffset: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet`` command. + + Description: + - This command sets or queries the data offset value (TDM channel) to be used when + searching on a TDM type audio bus signal. The search condition must be set to DATa + using ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:TDM:CONDition``. The search number is + specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet? + ``` + + Info: + - ```` is the data offset value. + """ + return self._offset + + @property + def qualifier(self) -> SearchSearchItemTriggerABusAudioDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on an audio bus + signal. The search condition must be set to DATa using + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio``:{NONTdm|TDM}``:CONDition``. The search number + is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier? + ``` + + Info: + - ``LESSthan`` sets the qualifier to less than. + - ``MOREthan`` sets the qualifier to greater than. + - ``EQual`` sets the qualifier to equal. + - ``UNEQual`` sets the qualifier to not equal. + - ``LESSEQual`` sets the qualifier to less than or equal. + - ``MOREEQual`` sets the qualifier to greater than or equal. + - ``INrange`` sets the qualifier to in range. + - ``OUTrange`` sets the qualifier to out of range. + """ # noqa: E501 + return self._qualifier + + @property + def tdmvalue(self) -> SearchSearchItemTriggerABusAudioDataTdmvalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue`` command. + + Description: + - This command sets or queries the binary data string for the single or low data word to + be used when searching on an TDM audio bus signal. The search condition must be set to + DATA using ``SEARCH:SEARCH``{x}``:TRIGger:A:BUS:AUDio:CONDition``. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue? + ``` + + Info: + - ```` is the binary data string for the single or low data word to be used + when searching on an TDM audio bus signal. + """ + return self._tdmvalue + + @property + def value(self) -> SearchSearchItemTriggerABusAudioDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue`` command. + + Description: + - This command sets or queries the binary data string for the single or low data word to + be used when searching on an audio bus signal. The search condition must be set to + DATA using ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio``:{NONTdm|TDM}``:CONDition``. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue? + ``` + + Info: + - ```` is the lower word value. + """ + return self._value + + @property + def word(self) -> SearchSearchItemTriggerABusAudioDataWord: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD`` command. + + Description: + - This command sets or queries the alignment of the data (left, right or either) to be + used when searching on a non-TDM type audio bus signal. The search condition must be + set to DATA using ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:NONTdm:CONDition``. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD {EITher|LEFt|RIGht} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD? + ``` + + Info: + - ``EITher`` aligns the data to either left or right. + - ``LEFt`` aligns the data to the left. + - ``RIGht`` aligns the data to the right. + """ + return self._word + + +class SearchSearchItemTriggerABusAudioCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition`` command. + + Description: + - This command sets or queries the condition (word select / frame sync, or matching data) to + be used when searching on an audio bus signal. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition {SOF|DATa} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition? + ``` + + Info: + - ``SOF`` specifies to search on a word select or start of frame (depending on Audio Type). + - ``DATA`` specifies to search on matching data. + """ + + +class SearchSearchItemTriggerABusAudio(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusAudioCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusAudioData(device, f"{self._cmd_syntax}:DATa") + + @property + def condition(self) -> SearchSearchItemTriggerABusAudioCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition`` command. + + Description: + - This command sets or queries the condition (word select / frame sync, or matching + data) to be used when searching on an audio bus signal. The search number is specified + by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition {SOF|DATa} + - SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition? + ``` + + Info: + - ``SOF`` specifies to search on a word select or start of frame (depending on Audio + Type). + - ``DATA`` specifies to search on matching data. + """ + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusAudioData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.hitdmvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HITDMVALue`` command. + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:HIVALue`` command. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:OFFSet`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:QUALifier`` command. + - ``.tdmvalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:TDMVALue`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:VALue`` command. + - ``.word``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa:WORD`` command. + """ + return self._data + + +class SearchSearchItemTriggerABusArinc429aSsmValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue`` command. + + Description: + - This command sets or queries the label when searching on an ARINC429 SSM field. The search + number is specified by x. The search condition must be set to DATa or LABELANDDATA, and + the data format must be set to DATA or SDIDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue? + ``` + + Info: + - ```` is the label value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusArinc429aSsm(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusArinc429aSsmValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusArinc429aSsmValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue`` command. + + Description: + - This command sets or queries the label when searching on an ARINC429 SSM field. The + search number is specified by x. The search condition must be set to DATa or + LABELANDDATA, and the data format must be set to DATA or SDIDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue? + ``` + + Info: + - ```` is the label value. + """ + return self._value + + +class SearchSearchItemTriggerABusArinc429aSdiValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue`` command. + + Description: + - This command sets or queries the label when searching on an ARINC429 SDI field. The search + number is specified by x. The search condition must be set to DATa or LABELANDDATA, and + the data format must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue? + ``` + + Info: + - ```` is the label value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusArinc429aSdi(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._value = SearchSearchItemTriggerABusArinc429aSdiValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def value(self) -> SearchSearchItemTriggerABusArinc429aSdiValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue`` command. + + Description: + - This command sets or queries the label when searching on an ARINC429 SDI field. The + search number is specified by x. The search condition must be set to DATa or + LABELANDDATA, and the data format must be set to DATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue? + ``` + + Info: + - ```` is the label value. + """ + return self._value + + +class SearchSearchItemTriggerABusArinc429aLabelValue(SCPICmdWrite): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue`` command. + + Description: + - This command sets or queries the low value when searching on an ARINC429 label field. The + search number is specified by x. The search condition must be set to LABel or + LABELANDDATA. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue + ``` + + Info: + - ```` is the label value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusArinc429aLabelQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on label data for an + ARINC429 bus signal. The search number is specified by x. The search condition must be set + to LABel or LABELANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier to out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusArinc429aLabelHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on an ARINC429 label field. The + search number is specified by x. The search condition must be set to LABel, and the label + qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue? + ``` + + Info: + - ```` is the label value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusArinc429aLabel(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusArinc429aLabelHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusArinc429aLabelQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusArinc429aLabelValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusArinc429aLabelHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on an ARINC429 label field. + The search number is specified by x. The search condition must be set to LABel, and + the label qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue? + ``` + + Info: + - ```` is the label value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusArinc429aLabelQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on label data for + an ARINC429 bus signal. The search number is specified by x. The search condition must + be set to LABel or LABELANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier to out of range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusArinc429aLabelValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue`` command. + + Description: + - This command sets or queries the low value when searching on an ARINC429 label field. + The search number is specified by x. The search condition must be set to LABel or + LABELANDDATA. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue + ``` + + Info: + - ```` is the label value. + """ + return self._value + + +class SearchSearchItemTriggerABusArinc429aErrtype(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe`` command. + + Description: + - This command sets or queries the error type when searching on an ARINC429 bus signal. The + search number is specified by x. The search condition must be set to ERRor. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe {ANY|PARity|WORD|GAP} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe? + ``` + + Info: + - ``ANY`` sets the error type to match any of the other available error types. + - ``PARity`` sets the error type to match on parity errors (parity value results in even + parity count for a word). + - ``WORD`` sets the error type to match on word errors (any unframed or unknown decode + data). + - ``GAP`` sets the error type to match on gap violations (less than 4 bits idle time between + two packets on the bus). + """ + + +class SearchSearchItemTriggerABusArinc429aDataValue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue`` command. + + Description: + - This command sets or queries the low value when searching on an ARINC429 data field. The + search number is specified by x. The search condition must be set to DATa or LABELANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue? + ``` + + Info: + - ```` is the label value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusArinc429aDataQualifier(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on data in the DATA + field for an ARINC429 bus signal. The search number is specified by x. The search + condition must be set to DATa or LABELANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier to out of range. + """ # noqa: E501 + + +class SearchSearchItemTriggerABusArinc429aDataHivalue(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on an ARINC429 data field. The + search number is specified by x. The search condition must be set to DATa or LABELANDDATA, + and the data qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue? + ``` + + Info: + - ```` is the label value. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchSearchItemTriggerABusArinc429aData(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier`` command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._hivalue = SearchSearchItemTriggerABusArinc429aDataHivalue( + device, f"{self._cmd_syntax}:HIVALue" + ) + self._qualifier = SearchSearchItemTriggerABusArinc429aDataQualifier( + device, f"{self._cmd_syntax}:QUALifier" + ) + self._value = SearchSearchItemTriggerABusArinc429aDataValue( + device, f"{self._cmd_syntax}:VALue" + ) + + @property + def hivalue(self) -> SearchSearchItemTriggerABusArinc429aDataHivalue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue`` command. + + Description: + - This command sets or queries the high value when searching on an ARINC429 data field. + The search number is specified by x. The search condition must be set to DATa or + LABELANDDATA, and the data qualifier must be INrange or OUTrange. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue? + ``` + + Info: + - ```` is the label value. + """ + return self._hivalue + + @property + def qualifier(self) -> SearchSearchItemTriggerABusArinc429aDataQualifier: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier`` command. + + Description: + - This command sets or queries the qualifier to be used when searching on data in the + DATA field for an ARINC429 bus signal. The search number is specified by x. The search + condition must be set to DATa or LABELANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier {EQual|UNEQual|LESSthan|MOREthan|LESSEQual|MOREEQual|INrange|OUTrange} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier? + ``` + + Info: + - ``EQual`` sets the data qualifier to equal. + - ``UNEQual`` sets the data qualifier to unequal. + - ``LESSthan`` sets the data qualifier to less than. + - ``MOREthan`` sets the data qualifier to more than. + - ``LESSEQual`` sets the data qualifier to less equal. + - ``MOREEQual`` sets the data qualifier to more equal. + - ``INrange`` sets the data qualifier to in range. + - ``OUTrange`` sets the data qualifier to out of range. + """ # noqa: E501 + return self._qualifier + + @property + def value(self) -> SearchSearchItemTriggerABusArinc429aDataValue: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue`` command. + + Description: + - This command sets or queries the low value when searching on an ARINC429 data field. + The search number is specified by x. The search condition must be set to DATa or + LABELANDDATA. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue? + ``` + + Info: + - ```` is the label value. + """ + return self._value + + +class SearchSearchItemTriggerABusArinc429aCondition(SCPICmdWrite, SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition`` command. + + Description: + - This command specifies a field or condition for an ARINC429 bus to search on. The search + number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition?`` query and raise an AssertionError + if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition {SOW|LABel|DATa|LABELANDDATA|EOW|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition? + ``` + + Info: + - ``SOW`` specifies a search for the first bit of a word. + - ``LABel`` specifies a search for a matching label. + - ``DATa`` specifies a search for matching packet data fields. + - ``LABELANDDATA`` specifies a search for a matching label and matching packet data + field(s). + - ``EOW`` specifies a search for the 32nd bit of a word. + - ``ERRor`` specifies a search for a specified error condition. + """ + + +class SearchSearchItemTriggerABusArinc429a(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe`` command. + - ``.label``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel`` command tree. + - ``.sdi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI`` command tree. + - ``.ssm``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._condition = SearchSearchItemTriggerABusArinc429aCondition( + device, f"{self._cmd_syntax}:CONDition" + ) + self._data = SearchSearchItemTriggerABusArinc429aData(device, f"{self._cmd_syntax}:DATa") + self._errtype = SearchSearchItemTriggerABusArinc429aErrtype( + device, f"{self._cmd_syntax}:ERRTYPe" + ) + self._label = SearchSearchItemTriggerABusArinc429aLabel(device, f"{self._cmd_syntax}:LABel") + self._sdi = SearchSearchItemTriggerABusArinc429aSdi(device, f"{self._cmd_syntax}:SDI") + self._ssm = SearchSearchItemTriggerABusArinc429aSsm(device, f"{self._cmd_syntax}:SSM") + + @property + def condition(self) -> SearchSearchItemTriggerABusArinc429aCondition: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition`` command. + + Description: + - This command specifies a field or condition for an ARINC429 bus to search on. The + search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition {SOW|LABel|DATa|LABELANDDATA|EOW|ERRor} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition? + ``` + + Info: + - ``SOW`` specifies a search for the first bit of a word. + - ``LABel`` specifies a search for a matching label. + - ``DATa`` specifies a search for matching packet data fields. + - ``LABELANDDATA`` specifies a search for a matching label and matching packet data + field(s). + - ``EOW`` specifies a search for the 32nd bit of a word. + - ``ERRor`` specifies a search for a specified error condition. + """ # noqa: E501 + return self._condition + + @property + def data(self) -> SearchSearchItemTriggerABusArinc429aData: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa:VALue`` command. + """ + return self._data + + @property + def errtype(self) -> SearchSearchItemTriggerABusArinc429aErrtype: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe`` command. + + Description: + - This command sets or queries the error type when searching on an ARINC429 bus signal. + The search number is specified by x. The search condition must be set to ERRor. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe {ANY|PARity|WORD|GAP} + - SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe? + ``` + + Info: + - ``ANY`` sets the error type to match any of the other available error types. + - ``PARity`` sets the error type to match on parity errors (parity value results in even + parity count for a word). + - ``WORD`` sets the error type to match on word errors (any unframed or unknown decode + data). + - ``GAP`` sets the error type to match on gap violations (less than 4 bits idle time + between two packets on the bus). + """ + return self._errtype + + @property + def label(self) -> SearchSearchItemTriggerABusArinc429aLabel: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel?`` query and raise an AssertionError + if the returned value does not match ``value``. + + Sub-properties: + - ``.hivalue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:HIVALue`` command. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:QUALifier`` + command. + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel:VALue`` command. + """ + return self._label + + @property + def sdi(self) -> SearchSearchItemTriggerABusArinc429aSdi: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI:VALue`` command. + """ + return self._sdi + + @property + def ssm(self) -> SearchSearchItemTriggerABusArinc429aSsm: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.value``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM:VALue`` command. + """ + return self._ssm + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class SearchSearchItemTriggerABus(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A:BUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.arinc429a``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A`` command tree. + - ``.audio``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio`` command tree. + - ``.autoethernet``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet`` command tree. + - ``.b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B`` command tree. + - ``.can``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN`` command tree. + - ``.cphy``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY`` command tree. + - ``.cxpi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI`` command tree. + - ``.dphy``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY`` command tree. + - ``.espi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI`` command tree. + - ``.ethercat``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT`` command tree. + - ``.ethernet``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet`` command tree. + - ``.eusb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB`` command tree. + - ``.flexray``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY`` command tree. + - ``.i2c``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C`` command tree. + - ``.i3c``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C`` command tree. + - ``.lin``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN`` command tree. + - ``.manchester``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester`` command tree. + - ``.mdio``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO`` command tree. + - ``.mil1553b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B`` command tree. + - ``.nrz``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ`` command tree. + - ``.onewire``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe`` command tree. + - ``.parallel``: The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel`` command tree. + - ``.rs232c``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C`` command tree. + - ``.s8b10b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B`` command tree. + - ``.sdlc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC`` command tree. + - ``.sent``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT`` command tree. + - ``.smbus``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS`` command tree. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce`` command. + - ``.spacewire``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe`` command tree. + - ``.spi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI`` command tree. + - ``.spmi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI`` command tree. + - ``.svid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID`` command tree. + - ``.usb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._arinc429a = SearchSearchItemTriggerABusArinc429a( + device, f"{self._cmd_syntax}:ARINC429A" + ) + self._audio = SearchSearchItemTriggerABusAudio(device, f"{self._cmd_syntax}:AUDio") + self._autoethernet = SearchSearchItemTriggerABusAutoethernet( + device, f"{self._cmd_syntax}:AUTOETHERnet" + ) + self._b = SearchSearchItemTriggerABusB(device, f"{self._cmd_syntax}:B") + self._can = SearchSearchItemTriggerABusCan(device, f"{self._cmd_syntax}:CAN") + self._cphy = SearchSearchItemTriggerABusCphy(device, f"{self._cmd_syntax}:CPHY") + self._cxpi = SearchSearchItemTriggerABusCxpi(device, f"{self._cmd_syntax}:CXPI") + self._dphy = SearchSearchItemTriggerABusDphy(device, f"{self._cmd_syntax}:DPHY") + self._espi = SearchSearchItemTriggerABusEspi(device, f"{self._cmd_syntax}:ESPI") + self._ethercat = SearchSearchItemTriggerABusEthercat(device, f"{self._cmd_syntax}:ETHERCAT") + self._ethernet = SearchSearchItemTriggerABusEthernet(device, f"{self._cmd_syntax}:ETHERnet") + self._eusb = SearchSearchItemTriggerABusEusb(device, f"{self._cmd_syntax}:EUSB") + self._flexray = SearchSearchItemTriggerABusFlexray(device, f"{self._cmd_syntax}:FLEXRAY") + self._i2c = SearchSearchItemTriggerABusI2c(device, f"{self._cmd_syntax}:I2C") + self._i3c = SearchSearchItemTriggerABusI3c(device, f"{self._cmd_syntax}:I3C") + self._lin = SearchSearchItemTriggerABusLin(device, f"{self._cmd_syntax}:LIN") + self._manchester = SearchSearchItemTriggerABusManchester( + device, f"{self._cmd_syntax}:MANChester" + ) + self._mdio = SearchSearchItemTriggerABusMdio(device, f"{self._cmd_syntax}:MDIO") + self._mil1553b = SearchSearchItemTriggerABusMil1553b(device, f"{self._cmd_syntax}:MIL1553B") + self._nrz = SearchSearchItemTriggerABusNrz(device, f"{self._cmd_syntax}:NRZ") + self._onewire = SearchSearchItemTriggerABusOnewire(device, f"{self._cmd_syntax}:ONEWIRe") + self._parallel = SearchSearchItemTriggerABusParallel(device, f"{self._cmd_syntax}:PARallel") + self._rs232c = SearchSearchItemTriggerABusRs232c(device, f"{self._cmd_syntax}:RS232C") + self._s8b10b = SearchSearchItemTriggerABusS8b10b(device, f"{self._cmd_syntax}:S8B10B") + self._sdlc = SearchSearchItemTriggerABusSdlc(device, f"{self._cmd_syntax}:SDLC") + self._sent = SearchSearchItemTriggerABusSent(device, f"{self._cmd_syntax}:SENT") + self._smbus = SearchSearchItemTriggerABusSmbus(device, f"{self._cmd_syntax}:SMBUS") + self._source = SearchSearchItemTriggerABusSource(device, f"{self._cmd_syntax}:SOUrce") + self._spacewire = SearchSearchItemTriggerABusSpacewire( + device, f"{self._cmd_syntax}:SPACEWIRe" + ) + self._spi = SearchSearchItemTriggerABusSpi(device, f"{self._cmd_syntax}:SPI") + self._spmi = SearchSearchItemTriggerABusSpmi(device, f"{self._cmd_syntax}:SPMI") + self._svid = SearchSearchItemTriggerABusSvid(device, f"{self._cmd_syntax}:SVID") + self._usb = SearchSearchItemTriggerABusUsb(device, f"{self._cmd_syntax}:USB") + + @property + def arinc429a(self) -> SearchSearchItemTriggerABusArinc429a: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:ERRTYPe`` command. + - ``.label``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:LABel`` command tree. + - ``.sdi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SDI`` command tree. + - ``.ssm``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A:SSM`` command tree. + """ + return self._arinc429a + + @property + def audio(self) -> SearchSearchItemTriggerABusAudio: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio:DATa`` command tree. + """ + return self._audio + + @property + def autoethernet(self) -> SearchSearchItemTriggerABusAutoethernet: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:DATa`` command tree. + - ``.ipheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:IPHeader`` command + tree. + - ``.mac``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:MAC`` command tree. + - ``.qtag``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QTAG`` command tree. + - ``.qualifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:QUALifier`` command. + - ``.tcpheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader`` command + tree. + """ + return self._autoethernet + + @property + def b(self) -> SearchSearchItemTriggerABusB: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:B?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.nrz``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ`` command tree. + - ``.psifive``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe`` command tree. + - ``.s8b10b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B`` command tree. + """ + return self._b + + @property + def can(self) -> SearchSearchItemTriggerABusCan: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CAN?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CAN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:ERRType`` command. + - ``.fd``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FD`` command tree. + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:FRAMEtype`` command. + - ``.identifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN:IDentifier`` command tree. + """ + return self._can + + @property + def cphy(self) -> SearchSearchItemTriggerABusCphy: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.blue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:BLUe`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ERRor`` command tree. + - ``.escapemode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:ESCAPEMODe`` command tree. + - ``.green``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:GREen`` command tree. + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:MODe`` command tree. + - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PACKets`` command tree. + - ``.pixel``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:PIXel`` command tree. + - ``.red``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:RED`` command tree. + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:SYMBol`` command tree. + - ``.word``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORD`` command tree. + - ``.wordcount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:WORDCOUNt`` command tree. + - ``.ycbcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YCBCR`` command tree. + - ``.yuv``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY:YUV`` command tree. + """ + return self._cphy + + @property + def cxpi(self) -> SearchSearchItemTriggerABusCxpi: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:CONDition`` command. + - ``.counter``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:COUNter`` command tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DATa`` command tree. + - ``.dlc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:DLC`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:ERROR`` command tree. + - ``.extdlc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:EXTDLC`` command tree. + - ``.frameid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMEID`` command tree. + - ``.frame``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:FRAMe`` command tree. + - ``.netmn``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI:NETMN`` command tree. + """ + return self._cxpi + + @property + def dphy(self) -> SearchSearchItemTriggerABusDphy: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.blue``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:BLUe`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ERRor`` command tree. + - ``.escapemode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:ESCAPEMODe`` command tree. + - ``.green``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:GREen`` command tree. + - ``.mode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:MODe`` command tree. + - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PACKets`` command tree. + - ``.pixel``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:PIXel`` command tree. + - ``.red``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:RED`` command tree. + - ``.wordcount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:WORDCOUNt`` command tree. + - ``.ycbcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YCBCR`` command tree. + - ``.yuv``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY:YUV`` command tree. + """ + return self._dphy + + @property + def espi(self) -> SearchSearchItemTriggerABusEspi: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ADDRess`` command tree. + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:COMMAND`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CONDition`` command. + - ``.cycletype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:CYCLETYPe`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:ERRor`` command tree. + - ``.length``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:LENGth`` command tree. + - ``.phase``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:PHASe`` command. + - ``.respcycle``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:RESPCYCLE`` command tree. + - ``.smbus``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:SMBUS`` command tree. + - ``.tag``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:TAG`` command tree. + - ``.virtualwire``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI:VIRTUALWIRe`` command + tree. + """ + return self._espi + + @property + def ethercat(self) -> SearchSearchItemTriggerABusEthercat: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.addressmode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ADDRESSMODe`` command. + - ``.cntnv``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CNTNV`` command tree. + - ``.commandtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:COMMANDTYPe`` command. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CONDition`` command. + - ``.cyc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:CYC`` command tree. + - ``.datagram``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAM`` command. + - ``.datagramheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATAGRAMHEADer`` + command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DATa`` command tree. + - ``.destinationaddress``: The + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DESTINATIONADDRess`` command tree. + - ``.deviceaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:DEVICEADDRess`` + command. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:ERRor`` command tree. + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:FRAMETYPe`` command. + - ``.hash``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HASH`` command tree. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:HEADer`` command tree. + - ``.identification``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDENtification`` + command tree. + - ``.idx``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IDX`` command tree. + - ``.index``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:INDex`` command tree. + - ``.ipdestination``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPDESTination`` + command tree. + - ``.ipsource``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IPSOURce`` command tree. + - ``.irq``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:IRQ`` command tree. + - ``.len``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LEN`` command tree. + - ``.logicaladdress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:LOGICALADDRess`` + command tree. + - ``.mailboxtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILBOXTYPe`` command. + - ``.mailbox``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:MAILbox`` command. + - ``.networkvariable``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWORKVARiable`` + command tree. + - ``.network``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:NETWork`` command tree. + - ``.offset``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:OFFSet`` command tree. + - ``.position``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:POSition`` command tree. + - ``.protocoltype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PROTOCOLTYPe`` + command. + - ``.pubid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:PUBID`` command tree. + - ``.quality``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:QUALity`` command tree. + - ``.service``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SERVice`` command tree. + - ``.sourceaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SOURCEADDRess`` + command tree. + - ``.src``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:SRC`` command tree. + - ``.tci``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:TCI`` command tree. + - ``.wkc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT:WKC`` command tree. + """ + return self._ethercat + + @property + def ethernet(self) -> SearchSearchItemTriggerABusEthernet: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:DATa`` command tree. + - ``.ipheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:IPHeader`` command tree. + - ``.mac``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:MAC`` command tree. + - ``.qtag``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:QTAG`` command tree. + - ``.tcpheader``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet:TCPHeader`` command + tree. + """ + return self._ethernet + + @property + def eusb(self) -> SearchSearchItemTriggerABusEusb: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ADDress`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:CONDition`` command. + - ``.databits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATABITS`` command tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:DATa`` command tree. + - ``.endpoint``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDPoint`` command tree. + - ``.endsearch``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ENDSEARch`` command. + - ``.eop``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOP`` command tree. + - ``.eopbits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:EOPBITS`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:ERRType`` command. + - ``.handshaketype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:HANDSHAKEType`` command. + - ``.rap``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:RAP`` command tree. + - ``.sofframenumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SOFFRAMENUMber`` + command. + - ``.specialtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPECIALType`` command. + - ``.split``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SPLit`` command tree. + - ``.sync``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNC`` command tree. + - ``.syncbits``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCBITS`` command tree. + - ``.syncsearch``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:SYNCSEARch`` command. + - ``.tokentype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB:TOKENType`` command. + """ + return self._eusb + + @property + def flexray(self) -> SearchSearchItemTriggerABusFlexray: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CONDition`` command. + - ``.cyclecount``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:CYCLEcount`` command + tree. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:DATa`` command tree. + - ``.eoftype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:EOFTYPE`` command. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:ERRTYPE`` command. + - ``.frameid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEID`` command tree. + - ``.frametype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:FRAMEType`` command. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY:HEADER`` command tree. + """ + return self._flexray + + @property + def i2c(self) -> SearchSearchItemTriggerABusI2c: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I2C?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I2C?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:ADDRess`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C:DATa`` command tree. + """ + return self._i2c + + @property + def i3c(self) -> SearchSearchItemTriggerABusI3c: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:I3C?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:I3C?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ADDRess`` command tree. + - ``.bcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCR`` command tree. + - ``.bcrtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BCRType`` command tree. + - ``.bpackets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BPACKets`` command. + - ``.brgtid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:BRGTID`` command tree. + - ``.ccode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CCODe`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DATa`` command tree. + - ``.dcr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCR`` command tree. + - ``.dcrtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DCRType`` command tree. + - ``.dword``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:DWORd`` command tree. + - ``.errortype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ERRORTYPe`` command. + - ``.eventbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:EVENTBYTe`` command tree. + - ``.freqbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:FREQBYTe`` command tree. + - ``.gslsb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSLSb`` command tree. + - ``.gsmsb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:GSMSb`` command tree. + - ``.id``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:ID`` command tree. + - ``.inaccbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:INACCBYTe`` command tree. + - ``.maxread``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXREAD`` command tree. + - ``.maxrturn``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXRTURN`` command tree. + - ``.maxwrite``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe`` command tree. + - ``.packets``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets`` command. + - ``.saddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress`` command tree. + - ``.sdr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR`` command tree. + - ``.statebyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe`` command tree. + - ``.static``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic`` command tree. + - ``.supportbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe`` command tree. + - ``.testmode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C:TESTMODe`` command tree. + """ + return self._i3c + + @property + def lin(self) -> SearchSearchItemTriggerABusLin: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:LIN?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:LIN?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:ERRTYPE`` command. + - ``.identifier``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN:IDentifier`` command tree. + """ + return self._lin + + @property + def manchester(self) -> SearchSearchItemTriggerABusManchester: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester?`` query and raise an AssertionError if + the returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:ERRor`` command tree. + - ``.header``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:HEADER`` command tree. + - ``.sync``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:SYNC`` command tree. + - ``.trailer``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:TRAILER`` command tree. + - ``.packetoffdata``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester:packetOffData`` + command tree. + """ + return self._manchester + + @property + def mdio(self) -> SearchSearchItemTriggerABusMdio: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ADDress`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DATa`` command tree. + - ``.devicetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:DEVicetype`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:ERRType`` command. + - ``.opcode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:OPCode`` command tree. + - ``.physicaladdress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:PHYSicaladdress`` + command tree. + - ``.registeraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO:REGisteraddress`` + command tree. + """ + return self._mdio + + @property + def mil1553b(self) -> SearchSearchItemTriggerABusMil1553b: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:COMMAND`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:DATa`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:ERRTYPe`` command. + - ``.status``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B:STATus`` command tree. + """ + return self._mil1553b + + @property + def nrz(self) -> SearchSearchItemTriggerABusNrz: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ:DATa`` command tree. + """ + return self._nrz + + @property + def onewire(self) -> SearchSearchItemTriggerABusOnewire: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:COMMand`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:DATa`` command tree. + - ``.matchrom``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:MATCHROM`` command tree. + - ``.overdrive``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:OVERDRIVe`` command tree. + - ``.readrom``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:READROM`` command tree. + - ``.searchrom``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe:SEARCHROM`` command tree. + """ + return self._onewire + + @property + def parallel(self) -> SearchSearchItemTriggerABusParallel: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel:DATa`` command tree. + """ + return self._parallel + + @property + def rs232c(self) -> SearchSearchItemTriggerABusRs232c: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C:DATa`` command tree. + """ + return self._rs232c + + @property + def s8b10b(self) -> SearchSearchItemTriggerABusS8b10b: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.disparity``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:DISParity`` command. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:ERRor`` command. + - ``.symbol``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B:SYMbol`` command tree. + """ + return self._s8b10b + + @property + def sdlc(self) -> SearchSearchItemTriggerABusSdlc: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ADDRess`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:DATa`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:ERROR`` command tree. + - ``.frame``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:FRAMe`` command tree. + - ``.staddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:STADDress`` command tree. + - ``.supervisory``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:SUPervisory`` command + tree. + - ``.unnumbered``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC:UNNumbered`` command tree. + """ + return self._sdlc + + @property + def sent(self) -> SearchSearchItemTriggerABusSent: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SENT?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SENT?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:CONDition`` command. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:ERRType`` command. + - ``.fast``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:FAST`` command tree. + - ``.pause``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:PAUSE`` command tree. + - ``.slow``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT:SLOW`` command tree. + """ + return self._sent + + @property + def smbus(self) -> SearchSearchItemTriggerABusSmbus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ADDRess`` command tree. + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:COMMand`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DATa`` command tree. + - ``.deviceaddr``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:DEVICEADDR`` command tree. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:ERROr`` command tree. + - ``.fieldbyte``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:FIELDBYTe`` command. + - ``.udiddata``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS:UDIDDATa`` command tree. + """ + return self._smbus + + @property + def source(self) -> SearchSearchItemTriggerABusSource: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce`` command. + + Description: + - This command sets or queries the bus source for the bus search to determine where to + place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:BUS:SOUrce {B0|B1|B2|B3|B4|B5|B6|B7|B8|B9|B10|B11|B12|B13|B14|B15|B16} + - SEARCH:SEARCH:TRIGger:A:BUS:SOUrce? + ``` + + Info: + - ``B`` specifies the bus source as a bus number from B01 to B16. x has a minimum of + 0 and a maximum of 16. + """ # noqa: E501 + return self._source + + @property + def spacewire(self) -> SearchSearchItemTriggerABusSpacewire: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONDition`` command. + - ``.controlchartype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCHARTYPe`` + command. + - ``.controlcodetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:CONTROLCODETYPe`` + command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:DATa`` command tree. + - ``.errortype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:ERRORTYPe`` command. + - ``.timecode``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe:TIMECode`` command tree. + """ + return self._spacewire + + @property + def spi(self) -> SearchSearchItemTriggerABusSpi: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPI?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPI?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:DATa`` command tree. + - ``.sourcetype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI:SOURCETYpe`` command. + """ + return self._spi + + @property + def spmi(self) -> SearchSearchItemTriggerABusSpmi: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:DATa`` command tree. + - ``.masteraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:MASTERADDRess`` command + tree. + - ``.noresponse``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:NORESPonse`` command. + - ``.registeraddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:REGISTERADDRess`` + command tree. + - ``.slaveaddress``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI:SLAVEADDRess`` command + tree. + """ + return self._spmi + + @property + def svid(self) -> SearchSearchItemTriggerABusSvid: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:SVID?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:SVID?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.command``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:COMMand`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:CONDition`` command. + - ``.error``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:ERRor`` command tree. + - ``.payload``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:PAYLoad`` command tree. + - ``.slave``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID:SLAVE`` command tree. + """ + return self._svid + + @property + def usb(self) -> SearchSearchItemTriggerABusUsb: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS:USB`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS:USB?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:BUS:USB?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.address``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ADDress`` command tree. + - ``.condition``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:CONDition`` command. + - ``.data``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:DATa`` command tree. + - ``.endpoint``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ENDPoint`` command tree. + - ``.errtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:ERRTYPE`` command. + - ``.handshaketype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:HANDSHAKEType`` command. + - ``.sofframenumber``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SOFFRAMENUMber`` + command. + - ``.specialtype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPECIALType`` command. + - ``.split``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:SPLIT`` command tree. + - ``.tokentype``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB:TOKENType`` command. + """ + return self._usb + + +# pylint: disable=too-many-instance-attributes +class SearchSearchItemTriggerA(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bus``: The ``SEARCH:SEARCH:TRIGger:A:BUS`` command tree. + - ``.ddrread``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD`` command tree. + - ``.ddrreadwrite``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE`` command tree. + - ``.ddrwrite``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE`` command tree. + - ``.edge``: The ``SEARCH:SEARCH:TRIGger:A:EDGE`` command tree. + - ``.logic``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc`` command tree. + - ``.pulsewidth``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth`` command tree. + - ``.runt``: The ``SEARCH:SEARCH:TRIGger:A:RUNT`` command tree. + - ``.sethold``: The ``SEARCH:SEARCH:TRIGger:A:SETHold`` command tree. + - ``.state``: The ``SEARCH:SEARCH:TRIGger:A:STATE`` command. + - ``.stopacq``: The ``SEARCH:SEARCH:TRIGger:A:STOPAcq`` command. + - ``.timeout``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut`` command tree. + - ``.transition``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition`` command tree. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:TYPe`` command. + - ``.window``: The ``SEARCH:SEARCH:TRIGger:A:WINdow`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bus = SearchSearchItemTriggerABus(device, f"{self._cmd_syntax}:BUS") + self._ddrread = SearchSearchItemTriggerADdrread(device, f"{self._cmd_syntax}:DDRREAD") + self._ddrreadwrite = SearchSearchItemTriggerADdrreadwrite( + device, f"{self._cmd_syntax}:DDRREADWRITE" + ) + self._ddrwrite = SearchSearchItemTriggerADdrwrite(device, f"{self._cmd_syntax}:DDRWRITE") + self._edge = SearchSearchItemTriggerAEdge(device, f"{self._cmd_syntax}:EDGE") + self._logic = SearchSearchItemTriggerALogic(device, f"{self._cmd_syntax}:LOGIc") + self._pulsewidth = SearchSearchItemTriggerAPulsewidth( + device, f"{self._cmd_syntax}:PULSEWidth" + ) + self._runt = SearchSearchItemTriggerARunt(device, f"{self._cmd_syntax}:RUNT") + self._sethold = SearchSearchItemTriggerASethold(device, f"{self._cmd_syntax}:SETHold") + self._state = SearchSearchItemTriggerAState(device, f"{self._cmd_syntax}:STATE") + self._stopacq = SearchSearchItemTriggerAStopacq(device, f"{self._cmd_syntax}:STOPAcq") + self._timeout = SearchSearchItemTriggerATimeout(device, f"{self._cmd_syntax}:TIMEOut") + self._transition = SearchSearchItemTriggerATransition( + device, f"{self._cmd_syntax}:TRANsition" + ) + self._type = SearchSearchItemTriggerAType(device, f"{self._cmd_syntax}:TYPe") + self._window = SearchSearchItemTriggerAWindow(device, f"{self._cmd_syntax}:WINdow") + + @property + def bus(self) -> SearchSearchItemTriggerABus: + """Return the ``SEARCH:SEARCH:TRIGger:A:BUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:BUS?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.arinc429a``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ARINC429A`` command tree. + - ``.audio``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUDio`` command tree. + - ``.autoethernet``: The ``SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet`` command tree. + - ``.b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:B`` command tree. + - ``.can``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CAN`` command tree. + - ``.cphy``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CPHY`` command tree. + - ``.cxpi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:CXPI`` command tree. + - ``.dphy``: The ``SEARCH:SEARCH:TRIGger:A:BUS:DPHY`` command tree. + - ``.espi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ESPI`` command tree. + - ``.ethercat``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERCAT`` command tree. + - ``.ethernet``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ETHERnet`` command tree. + - ``.eusb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:EUSB`` command tree. + - ``.flexray``: The ``SEARCH:SEARCH:TRIGger:A:BUS:FLEXRAY`` command tree. + - ``.i2c``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I2C`` command tree. + - ``.i3c``: The ``SEARCH:SEARCH:TRIGger:A:BUS:I3C`` command tree. + - ``.lin``: The ``SEARCH:SEARCH:TRIGger:A:BUS:LIN`` command tree. + - ``.manchester``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MANChester`` command tree. + - ``.mdio``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MDIO`` command tree. + - ``.mil1553b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:MIL1553B`` command tree. + - ``.nrz``: The ``SEARCH:SEARCH:TRIGger:A:BUS:NRZ`` command tree. + - ``.onewire``: The ``SEARCH:SEARCH:TRIGger:A:BUS:ONEWIRe`` command tree. + - ``.parallel``: The ``SEARCH:SEARCH:TRIGger:A:BUS:PARallel`` command tree. + - ``.rs232c``: The ``SEARCH:SEARCH:TRIGger:A:BUS:RS232C`` command tree. + - ``.s8b10b``: The ``SEARCH:SEARCH:TRIGger:A:BUS:S8B10B`` command tree. + - ``.sdlc``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SDLC`` command tree. + - ``.sent``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SENT`` command tree. + - ``.smbus``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SMBUS`` command tree. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SOUrce`` command. + - ``.spacewire``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPACEWIRe`` command tree. + - ``.spi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPI`` command tree. + - ``.spmi``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SPMI`` command tree. + - ``.svid``: The ``SEARCH:SEARCH:TRIGger:A:BUS:SVID`` command tree. + - ``.usb``: The ``SEARCH:SEARCH:TRIGger:A:BUS:USB`` command tree. + """ + return self._bus + + @property + def ddrread(self) -> SearchSearchItemTriggerADdrread: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREAD`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRREAD?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREAD?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.burstdetectmethod``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTDETectmethod`` + command. + - ``.burstlength``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLENGTH`` command. + - ``.burstlatency``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:BURSTLatency`` command. + - ``.csactive``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSActive`` command. + - ``.cslevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSLevel`` command. + - ``.csmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSMode`` command. + - ``.cssource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:CSSource`` command. + - ``.datarate``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATARate`` command. + - ``.datasource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:DATASource`` command. + - ``.hysteresis``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:HYSteresis`` command. + - ``.logic1source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC1SOUrce`` command + tree. + - ``.logic2source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC2SOUrce`` command + tree. + - ``.logic3source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC3SOUrce`` command + tree. + - ``.logic4source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:LOGIC4SOUrce`` command + tree. + - ``.margin``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MARgin`` command. + - ``.maxcas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MAXCAS`` command. + - ``.mincas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:MINCas`` command. + - ``.postamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:POSTAMBLE`` command tree. + - ``.preamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:PREAMBLE`` command tree. + - ``.reflevelmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLEVELMode`` command. + - ``.reflevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:REFLevel`` command tree. + - ``.standard``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STANdard`` command. + - ``.strobesource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:STROBESource`` command. + - ``.tolerance``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD:TOLERance`` command. + """ + return self._ddrread + + @property + def ddrreadwrite(self) -> SearchSearchItemTriggerADdrreadwrite: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE`` command tree. + + Usage: + - Using the ``.query()`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE?`` query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.burstdetectmethod``: The + ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTDETectmethod`` command. + - ``.burstlength``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLENGTH`` command. + - ``.burstlatency``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:BURSTLatency`` + command. + - ``.csactive``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSActive`` command. + - ``.cslevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSLevel`` command. + - ``.csmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSMode`` command. + - ``.cssource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:CSSource`` command. + - ``.datarate``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATARate`` command. + - ``.datasource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:DATASource`` command. + - ``.hysteresis``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:HYSteresis`` command. + - ``.logic1source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC1SOUrce`` + command tree. + - ``.logic2source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC2SOUrce`` + command tree. + - ``.logic3source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC3SOUrce`` + command tree. + - ``.logic4source``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:LOGIC4SOUrce`` + command tree. + - ``.margin``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MARgin`` command. + - ``.maxcas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MAXCAS`` command. + - ``.mincas``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:MINCas`` command. + - ``.postamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:POSTAMBLE`` command + tree. + - ``.preamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:PREAMBLE`` command tree. + - ``.reflevelmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLEVELMode`` + command. + - ``.reflevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:REFLevel`` command tree. + - ``.standard``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STANdard`` command. + - ``.strobesource``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:STROBESource`` + command. + - ``.tolerance``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE:TOLERance`` command. + """ + return self._ddrreadwrite + + @property + def ddrwrite(self) -> SearchSearchItemTriggerADdrwrite: + """Return the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:DDRWRITE?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:DDRWRITE?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.burstdetectmethod``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTDETectmethod`` + command. + - ``.burstlength``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLENGTH`` command. + - ``.burstlatency``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:BURSTLatency`` command. + - ``.csactive``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSActive`` command. + - ``.cslevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSLevel`` command. + - ``.csmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSMode`` command. + - ``.cssource``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:CSSource`` command. + - ``.datarate``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATARate`` command. + - ``.datasource``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:DATASource`` command. + - ``.hysteresis``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:HYSteresis`` command. + - ``.logic1source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC1SOUrce`` command + tree. + - ``.logic2source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC2SOUrce`` command + tree. + - ``.logic3source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC3SOUrce`` command + tree. + - ``.logic4source``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:LOGIC4SOUrce`` command + tree. + - ``.margin``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MARgin`` command. + - ``.maxcas``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MAXCAS`` command. + - ``.mincas``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:MINCas`` command. + - ``.postamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:POSTAMBLE`` command tree. + - ``.preamble``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:PREAMBLE`` command tree. + - ``.reflevelmode``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLEVELMode`` command. + - ``.reflevel``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:REFLevel`` command tree. + - ``.standard``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STANdard`` command. + - ``.strobesource``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:STROBESource`` command. + - ``.tolerance``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE:TOLERance`` command. + """ + return self._ddrwrite + + @property + def edge(self) -> SearchSearchItemTriggerAEdge: + """Return the ``SEARCH:SEARCH:TRIGger:A:EDGE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:EDGE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.slope``: The ``SEARCH:SEARCH:TRIGger:A:EDGE:SLOpe`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:EDGE:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:EDGE:THReshold`` command. + """ + return self._edge + + @property + def logic(self) -> SearchSearchItemTriggerALogic: + """Return the ``SEARCH:SEARCH:TRIGger:A:LOGIc`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:LOGIc?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:LOGIc?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.clock``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:CLOCk`` command tree. + - ``.deltatime``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:DELTatime`` command. + - ``.function``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:FUNCtion`` command. + - ``.input``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:INPUT`` command tree. + - ``.level``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LEVel`` command tree. + - ``.logicpattern``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:LOGICPattern`` command tree. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:POLarity`` command. + - ``.useclockedge``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:USEClockedge`` command. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc:WHEn`` command. + """ + return self._logic + + @property + def pulsewidth(self) -> SearchSearchItemTriggerAPulsewidth: + """Return the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:PULSEWidth?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.highlimit``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:HIGHLimit`` command. + - ``.logicqualification``: The + ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOGICQUALification`` command. + - ``.lowlimit``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:LOWLimit`` command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:THReshold`` command. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth:WHEn`` command. + """ + return self._pulsewidth + + @property + def runt(self) -> SearchSearchItemTriggerARunt: + """Return the ``SEARCH:SEARCH:TRIGger:A:RUNT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:RUNT?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:THReshold`` command tree. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:WHEn`` command. + - ``.width``: The ``SEARCH:SEARCH:TRIGger:A:RUNT:WIDth`` command. + """ + return self._runt + + @property + def sethold(self) -> SearchSearchItemTriggerASethold: + """Return the ``SEARCH:SEARCH:TRIGger:A:SETHold`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:SETHold?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:SETHold?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.clock``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:CLOCk`` command tree. + - ``.holdtime``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:HOLDTime`` command. + - ``.level``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LEVel`` command tree. + - ``.logicpattern``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:LOGICPattern`` command + tree. + - ``.settime``: The ``SEARCH:SEARCH:TRIGger:A:SETHold:SETTime`` command. + """ + return self._sethold + + @property + def state(self) -> SearchSearchItemTriggerAState: + """Return the ``SEARCH:SEARCH:TRIGger:A:STATE`` command. + + Description: + - This command sets or queries the enabled state of the search. The search number is + specified by x. + + Usage: + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:STATE value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:STATE {ON|OFF|} + ``` + + Info: + - ```` = 1 enables the search. Any other character disables the search. + - ``ON`` enables the search. + - ``OFF`` disables the search. + """ + return self._state + + @property + def stopacq(self) -> SearchSearchItemTriggerAStopacq: + """Return the ``SEARCH:SEARCH:TRIGger:A:STOPAcq`` command. + + Description: + - This command sets or queries whether acquisitions are stopped when a search hit is + found. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:STOPAcq?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:STOPAcq?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:STOPAcq value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:STOPAcq {ON|OFF|} + - SEARCH:SEARCH:TRIGger:A:STOPAcq? + ``` + + Info: + - ```` is the number of the search on which to enable or disable the stop acquisition + function. + - ```` = 1 enables stopping when a search hit is found. Any other character + disables the feature. + - ``ON`` enables stopping when a search hit is found. + - ``OFF`` disables stopping on a search hit. + """ + return self._stopacq + + @property + def timeout(self) -> SearchSearchItemTriggerATimeout: + """Return the ``SEARCH:SEARCH:TRIGger:A:TIMEOut`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TIMEOut?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TIMEOut?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:THReshold`` command. + - ``.time``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut:TIMe`` command. + """ + return self._timeout + + @property + def transition(self) -> SearchSearchItemTriggerATransition: + """Return the ``SEARCH:SEARCH:TRIGger:A:TRANsition`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TRANsition?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TRANsition?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.deltatime``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:DELTATime`` command. + - ``.logicqualification``: The + ``SEARCH:SEARCH:TRIGger:A:TRANsition:LOGICQUALification`` command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:THReshold`` command tree. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition:WHEn`` command. + """ + return self._transition + + @property + def type(self) -> SearchSearchItemTriggerAType: + """Return the ``SEARCH:SEARCH:TRIGger:A:TYPe`` command. + + Description: + - This command sets or queries the trigger type setting for a search to determine where + to place a mark. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:TYPe?`` + query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A:TYPe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:TYPe value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TRIGger:A:TYPe {EDGE|RUNT|TRANsition|PULSEWidth|TIMEOut|LOGIc|SETHold|WINdow|Bus|DDRRead|DDRREADWrite|DDRWrite} + - SEARCH:SEARCH:TRIGger:A:TYPe? + ``` + + Info: + - ``EDGE`` triggers when the source input signal amplitude crosses the specified level + in the direction given by the slope. + - ``RUNT`` triggers when a pulse crosses the first preset voltage threshold but does not + cross the second preset threshold before recrossing the first. The thresholds are set + with the ``SEARCH:SEARCH:TRIGger:A:RUNt:HIGH`` and + ``SEARCH:SEARCH:TRIGger:A:RUNt:LOW THRESHOLD`` commands. + - ``TRANsition`` triggers when a pulse crosses both thresholds in the same direction as + the specified polarity and the transition time between the two threshold crossings is + greater or less than the specified time delta. + - ``PULSEWidth`` triggers on input signal source pulses that are inside or outside of + the given time range specified by + ``SEARCH:SEARCH:TRIGger:A:LOGIc:PATtern:WHEn:LESSLimit`` and + ``SEARCH:SEARCH:TRIGger:A:LOGIc:PATtern:WHEn:MORELimit``. The polarity is selected + using the ``SEARCH:SEARCH:TRIGger:A:RUNT``: POLarity command. + - ``TIMEOut`` triggers on an input signal source that stays above, stays below, or stays + either above or beow the trigger level for a given time. + - ``LOGIc`` specifies that a search occurs when specified conditions are met, and is + controlled by the ``SEARCH:A:LOGIc`` commands. + - ``SETHold`` triggers on a functional pattern combination of one to three data sources + at the time of the clock transition. + - ``WINdow`` triggers on an input signal source that enters or exits the horizontal band + defined by the two trigger levels. + - ``Bus`` specifies that a search occurs when a communications signal is found. + - ``DDRRead`` triggers on a DDR Read event. + - ``DDRREADWrite`` triggers on a DDR Read or Write event. + - ``DDRWrite`` triggers on a DDR Write event. + """ # noqa: E501 + return self._type + + @property + def window(self) -> SearchSearchItemTriggerAWindow: + """Return the ``SEARCH:SEARCH:TRIGger:A:WINdow`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A:WINdow?`` + query. + - Using the ``.verify(value)`` method will send the + ``SEARCH:SEARCH:TRIGger:A:WINdow?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.crossing``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:CROSSIng`` command. + - ``.logicqualification``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:LOGICQUALification`` + command. + - ``.polarity``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:POLarity`` command. + - ``.source``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:SOUrce`` command. + - ``.threshold``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:THReshold`` command tree. + - ``.when``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:WHEn`` command. + - ``.width``: The ``SEARCH:SEARCH:TRIGger:A:WINdow:WIDth`` command. + """ + return self._window + + +class SearchSearchItemTrigger(SCPICmdRead): + """The ``SEARCH:SEARCH:TRIGger`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.a``: The ``SEARCH:SEARCH:TRIGger:A`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._a = SearchSearchItemTriggerA(device, f"{self._cmd_syntax}:A") + + @property + def a(self) -> SearchSearchItemTriggerA: + """Return the ``SEARCH:SEARCH:TRIGger:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger:A?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger:A?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bus``: The ``SEARCH:SEARCH:TRIGger:A:BUS`` command tree. + - ``.ddrread``: The ``SEARCH:SEARCH:TRIGger:A:DDRREAD`` command tree. + - ``.ddrreadwrite``: The ``SEARCH:SEARCH:TRIGger:A:DDRREADWRITE`` command tree. + - ``.ddrwrite``: The ``SEARCH:SEARCH:TRIGger:A:DDRWRITE`` command tree. + - ``.edge``: The ``SEARCH:SEARCH:TRIGger:A:EDGE`` command tree. + - ``.logic``: The ``SEARCH:SEARCH:TRIGger:A:LOGIc`` command tree. + - ``.pulsewidth``: The ``SEARCH:SEARCH:TRIGger:A:PULSEWidth`` command tree. + - ``.runt``: The ``SEARCH:SEARCH:TRIGger:A:RUNT`` command tree. + - ``.sethold``: The ``SEARCH:SEARCH:TRIGger:A:SETHold`` command tree. + - ``.state``: The ``SEARCH:SEARCH:TRIGger:A:STATE`` command. + - ``.stopacq``: The ``SEARCH:SEARCH:TRIGger:A:STOPAcq`` command. + - ``.timeout``: The ``SEARCH:SEARCH:TRIGger:A:TIMEOut`` command tree. + - ``.transition``: The ``SEARCH:SEARCH:TRIGger:A:TRANsition`` command tree. + - ``.type``: The ``SEARCH:SEARCH:TRIGger:A:TYPe`` command. + - ``.window``: The ``SEARCH:SEARCH:TRIGger:A:WINdow`` command tree. + """ + return self._a + + +class SearchSearchItemTotal(SCPICmdRead): + """The ``SEARCH:SEARCH:TOTAL`` command. + + Description: + - This query-only command returns the total number of found search marks for this search. + The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TOTAL?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TOTAL?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TOTAL? + ``` + """ + + +class SearchSearchItemNavigate(SCPICmdWrite): + """The ``SEARCH:SEARCH:NAVigate`` command. + + Description: + - This command sets the navigation action for search marks. The NONE action is the default + setting when no action is being taken. The search number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:SEARCH:NAVigate value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:NAVigate {NEXT|PREVious|MIN|NONE|MAX} + ``` + + Info: + - ``NEXT`` goes to the next search mark. + - ``PREVious`` goes to the previous search mark. + - ``MIN`` goes to the search result with the smallest value. Only supported by search + results which have quantitative values (example: pulse width is supported, but not edge). + - ``NONE`` is the default setting when no action is being taken. + - ``MAX`` goes to the search result with the largest value. Only supported by search results + which have quantitative values (example: pulse width is supported, but not edge). + """ + + +class SearchSearchItemCopy(SCPICmdWrite): + """The ``SEARCH:SEARCH:COPy`` command. + + Description: + - This command (no query form) copies the search criteria to or from the trigger. The search + number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:SEARCH:COPy value`` command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:COPy {SEARCHtotrigger|TRIGgertosearch} + ``` + + Info: + - ``SEARCHtotrigger`` copies the search criteria to the trigger. + - ``TRIGgertosearch`` copies the trigger criteria to the search. + """ + + +class SearchSearchItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``SEARCH:SEARCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.copy``: The ``SEARCH:SEARCH:COPy`` command. + - ``.navigate``: The ``SEARCH:SEARCH:NAVigate`` command. + - ``.total``: The ``SEARCH:SEARCH:TOTAL`` command. + - ``.trigger``: The ``SEARCH:SEARCH:TRIGger`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._copy = SearchSearchItemCopy(device, f"{self._cmd_syntax}:COPy") + self._navigate = SearchSearchItemNavigate(device, f"{self._cmd_syntax}:NAVigate") + self._total = SearchSearchItemTotal(device, f"{self._cmd_syntax}:TOTAL") + self._trigger = SearchSearchItemTrigger(device, f"{self._cmd_syntax}:TRIGger") + + @property + def copy(self) -> SearchSearchItemCopy: + """Return the ``SEARCH:SEARCH:COPy`` command. + + Description: + - This command (no query form) copies the search criteria to or from the trigger. The + search number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:SEARCH:COPy value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:COPy {SEARCHtotrigger|TRIGgertosearch} + ``` + + Info: + - ``SEARCHtotrigger`` copies the search criteria to the trigger. + - ``TRIGgertosearch`` copies the trigger criteria to the search. + """ + return self._copy + + @property + def navigate(self) -> SearchSearchItemNavigate: + """Return the ``SEARCH:SEARCH:NAVigate`` command. + + Description: + - This command sets the navigation action for search marks. The NONE action is the + default setting when no action is being taken. The search number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:SEARCH:NAVigate value`` + command. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:NAVigate {NEXT|PREVious|MIN|NONE|MAX} + ``` + + Info: + - ``NEXT`` goes to the next search mark. + - ``PREVious`` goes to the previous search mark. + - ``MIN`` goes to the search result with the smallest value. Only supported by search + results which have quantitative values (example: pulse width is supported, but not + edge). + - ``NONE`` is the default setting when no action is being taken. + - ``MAX`` goes to the search result with the largest value. Only supported by search + results which have quantitative values (example: pulse width is supported, but not + edge). + """ + return self._navigate + + @property + def total(self) -> SearchSearchItemTotal: + """Return the ``SEARCH:SEARCH:TOTAL`` command. + + Description: + - This query-only command returns the total number of found search marks for this + search. The search number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TOTAL?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TOTAL?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SEARCH:SEARCH:TOTAL? + ``` + """ + return self._total + + @property + def trigger(self) -> SearchSearchItemTrigger: + """Return the ``SEARCH:SEARCH:TRIGger`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH:TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH:TRIGger?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``SEARCH:SEARCH:TRIGger:A`` command tree. + """ + return self._trigger + + +class SearchList(SCPICmdRead): + """The ``SEARCH:LIST`` command. + + Description: + - This command returns a comma separated list of all currently defined searches. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SEARCH:LIST? + ``` + """ + + +class SearchDelete(SCPICmdWrite): + """The ``SEARCH:DELete`` command. + + Description: + - This command deletes the specified search. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:DELete value`` command. + + SCPI Syntax: + ``` + - SEARCH:DELete + ``` + + Info: + - ```` is the specified search. The argument is of the form 'SEARCH', where + is ≥ 1). + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class SearchDeleteall(SCPICmdWriteNoArguments): + """The ``SEARCH:DELETEALL`` command. + + Description: + - This command deletes all the active instances of search definitions defined in the scope + application. + + Usage: + - Using the ``.write()`` method will send the ``SEARCH:DELETEALL`` command. + + SCPI Syntax: + ``` + - SEARCH:DELETEALL + ``` + """ + + +class SearchAddnew(SCPICmdWrite): + """The ``SEARCH:ADDNew`` command. + + Description: + - This command adds the specified search. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:ADDNew value`` command. + + SCPI Syntax: + ``` + - SEARCH:ADDNew + ``` + + Info: + - ```` is the specified search. The argument is of the form 'SEARCH', where + is ≥ 1. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class Search(SCPICmdRead): + """The ``SEARCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.addnew``: The ``SEARCH:ADDNew`` command. + - ``.deleteall``: The ``SEARCH:DELETEALL`` command. + - ``.delete``: The ``SEARCH:DELete`` command. + - ``.list``: The ``SEARCH:LIST`` command. + - ``.search``: The ``SEARCH:SEARCH`` command tree. + - ``.selected``: The ``SEARCH:SELected`` command. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SEARCH") -> None: + super().__init__(device, cmd_syntax) + self._addnew = SearchAddnew(device, f"{self._cmd_syntax}:ADDNew") + self._deleteall = SearchDeleteall(device, f"{self._cmd_syntax}:DELETEALL") + self._delete = SearchDelete(device, f"{self._cmd_syntax}:DELete") + self._list = SearchList(device, f"{self._cmd_syntax}:LIST") + self._search: Dict[int, SearchSearchItem] = DefaultDictPassKeyToFactory( + lambda x: SearchSearchItem(device, f"{self._cmd_syntax}:SEARCH{x}") + ) + self._selected = SearchSelected(device, f"{self._cmd_syntax}:SELected") + + @property + def addnew(self) -> SearchAddnew: + """Return the ``SEARCH:ADDNew`` command. + + Description: + - This command adds the specified search. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:ADDNew value`` command. + + SCPI Syntax: + ``` + - SEARCH:ADDNew + ``` + + Info: + - ```` is the specified search. The argument is of the form 'SEARCH', + where is ≥ 1. + """ + return self._addnew + + @property + def deleteall(self) -> SearchDeleteall: + """Return the ``SEARCH:DELETEALL`` command. + + Description: + - This command deletes all the active instances of search definitions defined in the + scope application. + + Usage: + - Using the ``.write()`` method will send the ``SEARCH:DELETEALL`` command. + + SCPI Syntax: + ``` + - SEARCH:DELETEALL + ``` + """ + return self._deleteall + + @property + def delete(self) -> SearchDelete: + """Return the ``SEARCH:DELete`` command. + + Description: + - This command deletes the specified search. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:DELete value`` command. + + SCPI Syntax: + ``` + - SEARCH:DELete + ``` + + Info: + - ```` is the specified search. The argument is of the form 'SEARCH', + where is ≥ 1). + """ + return self._delete + + @property + def list(self) -> SearchList: + """Return the ``SEARCH:LIST`` command. + + Description: + - This command returns a comma separated list of all currently defined searches. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:LIST?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:LIST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SEARCH:LIST? + ``` + """ + return self._list + + @property + def search(self) -> Dict[int, SearchSearchItem]: + """Return the ``SEARCH:SEARCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH:SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH:SEARCH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.copy``: The ``SEARCH:SEARCH:COPy`` command. + - ``.navigate``: The ``SEARCH:SEARCH:NAVigate`` command. + - ``.total``: The ``SEARCH:SEARCH:TOTAL`` command. + - ``.trigger``: The ``SEARCH:SEARCH:TRIGger`` command tree. + """ + return self._search + + @property + def selected(self) -> SearchSelected: + """Return the ``SEARCH:SELected`` command. + + Description: + - This command sets or queries the selected search, for example SEARCH1. The search + number is specified by x. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCH:SELected value`` command. + + SCPI Syntax: + ``` + - SEARCH:SELected SEARCH1 + ``` + + Info: + - ``SEARCH1`` is the specified search. + """ + return self._selected diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/searchtable.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/searchtable.py new file mode 100644 index 00000000..99c894f9 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/searchtable.py @@ -0,0 +1,48 @@ +"""The searchtable commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - SEARCHTABle {ADDNew|DELete} + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdWrite + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class Searchtable(SCPICmdWrite): + """The ``SEARCHTABle`` command. + + Description: + - This command adds or deletes a new search event table in an Option 5-WIN (Microsoft + Windows 10 OS) TekExpress compliance testing application. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCHTABle value`` command. + + SCPI Syntax: + ``` + - SEARCHTABle {ADDNew|DELete} + ``` + + Info: + - ``ADDNew`` adds a new search events table in the display area. + - ``DELete`` removes a displayed search events table from the display area. + - ```` contains the name of the search table. + """ + + def __init__( + self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SEARCHTABle" + ) -> None: + super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/sv.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/sv.py new file mode 100644 index 00000000..d8364e29 --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/sv.py @@ -0,0 +1,3013 @@ +"""The sv commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - SV:CH:SELect:SPECtrogram {ON|OFF} + - SV:CH:SELect:SPECtrogram? + - SV:LOCKCenter {ON|1|OFF|0} + - SV:LOCKCenter? + - SV:LOCKSpectrum {ON|1|OFF|0} + - SV:LOCKSpectrum? + - SV:MARKER:PEAK:EXCURsion + - SV:MARKER:PEAK:EXCURsion? + - SV:MARKER:PEAK:MAXimum + - SV:MARKER:PEAK:MAXimum? + - SV:MARKER:PEAK:STATE {CH} + - SV:MARKER:PEAK:STATE? + - SV:MARKER:PEAK:THReshold + - SV:MARKER:PEAK:THReshold? + - SV:MARKER:PEAKS:AMPLITUDE? + - SV:MARKER:PEAKS:FREQuency? + - SV:MARKER:REFERence + - SV:MARKER:REFERence:AMPLITUDE? + - SV:MARKER:REFERence:FREQuency? + - SV:MARKER:TYPe {DELta|ABSolute} + - SV:MARKER:TYPe? + - SV:RF_PHASe:REFerence:MASTer {CH|NONE} + - SV:RF_PHASe:REFerence:MASTer? + - SV:S_CH:RF_AVErage:NUMAVg + - SV:S_CH:RF_AVErage:NUMAVg? + - SV:S_CH:RF_MAGnitude:FORMat {AMPLINear|POWLINear|POWLOG} + - SV:S_CH:RF_MAGnitude:FORMat? + - SV:S_CH:RF_PHASe:REFerence:DEGrees + - SV:S_CH:RF_PHASe:REFerence:DEGrees? + - SV:S_CH:RF_PHASe:REFerence:POSition {TRIGger|CURSor} + - SV:S_CH:RF_PHASe:REFerence:POSition? + - SV:S_CH:RF_PHASe:REFerence:TIMe + - SV:S_CH:RF_PHASe:REFerence:TIMe? + - SV:S_CH:RF_PHASe:WRAP:DEGrees + - SV:S_CH:RF_PHASe:WRAP:DEGrees? + - SV:S_CH:RF_PHASe:WRAP:STATE {ON|OFF} + - SV:S_CH:RF_PHASe:WRAP:STATE? + - SV:S_CH:SELTrace {NORMal|MAXHold|MINHold|AVErage} + - SV:S_CH:SELTrace? + - SV:S_CH:SELect:RF_AVErage {ON|1|OFF|0} + - SV:S_CH:SELect:RF_AVErage? + - SV:S_CH:SELect:RF_FREQuency {ON|OFF} + - SV:S_CH:SELect:RF_FREQuency? + - SV:S_CH:SELect:RF_MAGnitude {ON|OFF} + - SV:S_CH:SELect:RF_MAGnitude? + - SV:S_CH:SELect:RF_MAXHold {ON|1|OFF|0} + - SV:S_CH:SELect:RF_MAXHold? + - SV:S_CH:SELect:RF_MINHold {ON|1|OFF|0} + - SV:S_CH:SELect:RF_MINHold? + - SV:S_CH:SELect:RF_NORMal {ON|1|OFF|0} + - SV:S_CH:SELect:RF_NORMal? + - SV:S_CH:SELect:RF_PHASe {ON|OFF} + - SV:S_CH:SELect:RF_PHASe? + - SV:S_CH:SELect:SPECtrogram {ON|OFF} + - SV:S_CH:SELect:SPECtrogram? + - SV:S_CH:SQUELCH:STATE {ON|OFF} + - SV:S_CH:SQUELCH:STATE? + - SV:S_CH:SQUELCH:THReshold + - SV:S_CH:SQUELCH:THReshold? + - SV:S_CH:UNIts {DBM|DBUW|DBMV|DBUV|DBMA|DBUA} + - SV:S_CH:UNIts? + - SV:SPECtrogram:CSCale:MAX + - SV:SPECtrogram:CSCale:MAX? + - SV:SPECtrogram:CSCale:MIN + - SV:SPECtrogram:CSCale:MIN? + - SV:SPECtrogram:CURSor:A {1|0|ON|OFF} + - SV:SPECtrogram:CURSor:A? + - SV:SPECtrogram:CURSor:B {1|0|ON|OFF} + - SV:SPECtrogram:CURSor:B? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + SCPICmdWriteNoArguments, + ValidatedChannel, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class SvSpectrogramCursorB(SCPICmdWrite, SCPICmdRead): + """The ``SV:SPECtrogram:CURSor:B`` command. + + Description: + - This command sets or queries whether the spectrum trace at cursor B position is selected + or not. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CURSor:B?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CURSor:B?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CURSor:B value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CURSor:B {1|0|ON|OFF} + - SV:SPECtrogram:CURSor:B? + ``` + + Info: + - ``1`` on the spectrum trace for cursor B position. + - ``0`` turns off the spectrum trace for cursor B position. Off is the default. + - ``ON`` turns on the spectrum trace for cursor B position. + - ``OFF`` turns off the spectrum trace for cursor B position. Off is the default. + """ + + +class SvSpectrogramCursorA(SCPICmdWrite, SCPICmdRead): + """The ``SV:SPECtrogram:CURSor:A`` command. + + Description: + - This command sets or Queries whether the spectrum trace at cursor A position is selected + or not. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CURSor:A?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CURSor:A?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CURSor:A value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CURSor:A {1|0|ON|OFF} + - SV:SPECtrogram:CURSor:A? + ``` + + Info: + - ``1`` turns on the spectrum trace for cursor A position. + - ``0`` turns off the spectrum trace for cursor A position. Off is the default. + - ``ON`` turns on the spectrum trace for cursor A position. + - ``OFF`` turns off the spectrum trace for cursor A position. Off is the default. + """ + + +class SvSpectrogramCursor(SCPICmdRead): + """The ``SV:SPECtrogram:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CURSor?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.a``: The ``SV:SPECtrogram:CURSor:A`` command. + - ``.b``: The ``SV:SPECtrogram:CURSor:B`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._a = SvSpectrogramCursorA(device, f"{self._cmd_syntax}:A") + self._b = SvSpectrogramCursorB(device, f"{self._cmd_syntax}:B") + + @property + def a(self) -> SvSpectrogramCursorA: + """Return the ``SV:SPECtrogram:CURSor:A`` command. + + Description: + - This command sets or Queries whether the spectrum trace at cursor A position is + selected or not. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CURSor:A?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CURSor:A?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CURSor:A value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CURSor:A {1|0|ON|OFF} + - SV:SPECtrogram:CURSor:A? + ``` + + Info: + - ``1`` turns on the spectrum trace for cursor A position. + - ``0`` turns off the spectrum trace for cursor A position. Off is the default. + - ``ON`` turns on the spectrum trace for cursor A position. + - ``OFF`` turns off the spectrum trace for cursor A position. Off is the default. + """ + return self._a + + @property + def b(self) -> SvSpectrogramCursorB: + """Return the ``SV:SPECtrogram:CURSor:B`` command. + + Description: + - This command sets or queries whether the spectrum trace at cursor B position is + selected or not. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CURSor:B?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CURSor:B?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CURSor:B value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CURSor:B {1|0|ON|OFF} + - SV:SPECtrogram:CURSor:B? + ``` + + Info: + - ``1`` on the spectrum trace for cursor B position. + - ``0`` turns off the spectrum trace for cursor B position. Off is the default. + - ``ON`` turns on the spectrum trace for cursor B position. + - ``OFF`` turns off the spectrum trace for cursor B position. Off is the default. + """ + return self._b + + +class SvSpectrogramCscaleMin(SCPICmdWrite, SCPICmdRead): + """The ``SV:SPECtrogram:CSCale:MIN`` command. + + Description: + - This command sets or queries the minimum color scale value. Minimum must be < Maximum. + Thus, if the user is adjusting Minimum up to the point where it would be the same as + Minimum, then Maximum begins incrementing as needed to stay 1 dB above minimum. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CSCale:MIN?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CSCale:MIN?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CSCale:MIN value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CSCale:MIN + - SV:SPECtrogram:CSCale:MIN? + ``` + + Info: + - ```` sets the minimum color scale value. The default value is -100.0 and the valid + range is -170.0 to 99.0. + """ + + +class SvSpectrogramCscaleMax(SCPICmdWrite, SCPICmdRead): + """The ``SV:SPECtrogram:CSCale:MAX`` command. + + Description: + - This command sets or queries the maximum color scale value. Maximum must be > Minimum. + Thus, if the user is adjusting Maximum down to the point where it would be the same as + Minimum, then Minimum begins decrementing as needed to stay 1 dB below Maximum. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CSCale:MAX?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CSCale:MAX?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CSCale:MAX value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CSCale:MAX + - SV:SPECtrogram:CSCale:MAX? + ``` + + Info: + - ```` sets the maximum color scale value. The default value is 0.0 and the valid range + is -169.0 to 100.0. + """ + + +class SvSpectrogramCscale(SCPICmdRead): + """The ``SV:SPECtrogram:CSCale`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CSCale?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CSCale?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.max``: The ``SV:SPECtrogram:CSCale:MAX`` command. + - ``.min``: The ``SV:SPECtrogram:CSCale:MIN`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._max = SvSpectrogramCscaleMax(device, f"{self._cmd_syntax}:MAX") + self._min = SvSpectrogramCscaleMin(device, f"{self._cmd_syntax}:MIN") + + @property + def max(self) -> SvSpectrogramCscaleMax: + """Return the ``SV:SPECtrogram:CSCale:MAX`` command. + + Description: + - This command sets or queries the maximum color scale value. Maximum must be > Minimum. + Thus, if the user is adjusting Maximum down to the point where it would be the same as + Minimum, then Minimum begins decrementing as needed to stay 1 dB below Maximum. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CSCale:MAX?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CSCale:MAX?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CSCale:MAX value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CSCale:MAX + - SV:SPECtrogram:CSCale:MAX? + ``` + + Info: + - ```` sets the maximum color scale value. The default value is 0.0 and the valid + range is -169.0 to 100.0. + """ + return self._max + + @property + def min(self) -> SvSpectrogramCscaleMin: + """Return the ``SV:SPECtrogram:CSCale:MIN`` command. + + Description: + - This command sets or queries the minimum color scale value. Minimum must be < Maximum. + Thus, if the user is adjusting Minimum up to the point where it would be the same as + Minimum, then Maximum begins incrementing as needed to stay 1 dB above minimum. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CSCale:MIN?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CSCale:MIN?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:SPECtrogram:CSCale:MIN value`` + command. + + SCPI Syntax: + ``` + - SV:SPECtrogram:CSCale:MIN + - SV:SPECtrogram:CSCale:MIN? + ``` + + Info: + - ```` sets the minimum color scale value. The default value is -100.0 and the + valid range is -170.0 to 99.0. + """ + return self._min + + +class SvSpectrogram(SCPICmdRead): + """The ``SV:SPECtrogram`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.cscale``: The ``SV:SPECtrogram:CSCale`` command tree. + - ``.cursor``: The ``SV:SPECtrogram:CURSor`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._cscale = SvSpectrogramCscale(device, f"{self._cmd_syntax}:CSCale") + self._cursor = SvSpectrogramCursor(device, f"{self._cmd_syntax}:CURSor") + + @property + def cscale(self) -> SvSpectrogramCscale: + """Return the ``SV:SPECtrogram:CSCale`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CSCale?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CSCale?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.max``: The ``SV:SPECtrogram:CSCale:MAX`` command. + - ``.min``: The ``SV:SPECtrogram:CSCale:MIN`` command. + """ + return self._cscale + + @property + def cursor(self) -> SvSpectrogramCursor: + """Return the ``SV:SPECtrogram:CURSor`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram:CURSor?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram:CURSor?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``SV:SPECtrogram:CURSor:A`` command. + - ``.b``: The ``SV:SPECtrogram:CURSor:B`` command. + """ + return self._cursor + + +class SvSItemChannelUnits(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:UNIts`` command. + + Description: + - This command sets or queries the absolute logarithmic amplitude vertical scale units to + show in the specified spectrum trace remote scope channel of the Spectrum View. S is + the remote scope number and Ch is the channel number to use as the Spectrum View + source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:UNIts?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:UNIts?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:UNIts value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:UNIts {DBM|DBUW|DBMV|DBUV|DBMA|DBUA} + - SV:S_CH:UNIts? + ``` + + Info: + - ``DBM`` specifies Decibel milliwatts (dBm). + - ``DBUW`` specifies Decibel microwatts (dBµW). + - ``DBMV`` specifies Decibel millivolts (dBmV). + - ``DBUV`` specifies Decibel microvolts (dBµV). + - ``DBMA`` specifies Decibel milliamperes (dBmA). + - ``DBUA`` specifies Decibel microamperes (dBµA). + """ + + +class SvSItemChannelSquelchThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SQUELCH:THReshold`` command. + + Description: + - This command sets or queries the Squelch threshold value for the RF vs Time traces for the + specified channel. S is the remote scope number and Ch is the channel number to use + as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SQUELCH:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SQUELCH:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SQUELCH:THReshold value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SQUELCH:THReshold + - SV:S_CH:SQUELCH:THReshold? + ``` + + Info: + - ``NR3`` sets the threshold value, in volts, applied to the Magnitude vs. Time trace that + determines whether or not to show the Frequency and Phase vs. Time traces for the same + channel. + """ + + +class SvSItemChannelSquelchState(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SQUELCH:STATE`` command. + + Description: + - This command sets or queries whether Squelch is enabled for the RF vs Time traces for the + specified channel. The frequency vs. time and phase vs. time traces aren't meaningful when + the transmitting signal is turned off, as they just show broadband noise that clutters up + the display. With squelch, a threshold may be defined for the magnitude vs. time trace to + indicate when the transmitter is on/off. Then the frequency and phase vs. time traces are + shown only when the magnitude vs. time trace is above the threshold and they are blanked + out when it's below the threshold. S is the remote scope number and Ch is the + channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SQUELCH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SQUELCH:STATE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SQUELCH:STATE value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SQUELCH:STATE {ON|OFF} + - SV:S_CH:SQUELCH:STATE? + ``` + + Info: + - ``ON`` enables (turns on) Squelch calculations. + - ``OFF`` disables (turns off) Squelch calculations. + """ + + +class SvSItemChannelSquelch(SCPICmdRead): + """The ``SV:S_CH:SQUELCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SQUELCH?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SQUELCH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.state``: The ``SV:S_CH:SQUELCH:STATE`` command. + - ``.threshold``: The ``SV:S_CH:SQUELCH:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._state = SvSItemChannelSquelchState(device, f"{self._cmd_syntax}:STATE") + self._threshold = SvSItemChannelSquelchThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def state(self) -> SvSItemChannelSquelchState: + """Return the ``SV:S_CH:SQUELCH:STATE`` command. + + Description: + - This command sets or queries whether Squelch is enabled for the RF vs Time traces for + the specified channel. The frequency vs. time and phase vs. time traces aren't + meaningful when the transmitting signal is turned off, as they just show broadband + noise that clutters up the display. With squelch, a threshold may be defined for the + magnitude vs. time trace to indicate when the transmitter is on/off. Then the + frequency and phase vs. time traces are shown only when the magnitude vs. time trace + is above the threshold and they are blanked out when it's below the threshold. S is + the remote scope number and Ch is the channel number to use as the Spectrum View + source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SQUELCH:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SQUELCH:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SQUELCH:STATE value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SQUELCH:STATE {ON|OFF} + - SV:S_CH:SQUELCH:STATE? + ``` + + Info: + - ``ON`` enables (turns on) Squelch calculations. + - ``OFF`` disables (turns off) Squelch calculations. + """ + return self._state + + @property + def threshold(self) -> SvSItemChannelSquelchThreshold: + """Return the ``SV:S_CH:SQUELCH:THReshold`` command. + + Description: + - This command sets or queries the Squelch threshold value for the RF vs Time traces for + the specified channel. S is the remote scope number and Ch is the channel number + to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SQUELCH:THReshold?`` + query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SQUELCH:THReshold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SQUELCH:THReshold value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SQUELCH:THReshold + - SV:S_CH:SQUELCH:THReshold? + ``` + + Info: + - ``NR3`` sets the threshold value, in volts, applied to the Magnitude vs. Time trace + that determines whether or not to show the Frequency and Phase vs. Time traces for the + same channel. + """ + return self._threshold + + +class SvSItemChannelSelectSpectrogram(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:SPECtrogram`` command. + + Description: + - This command sets or queries whether the spectrogram plot for the specified channel is + displayed in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:SPECtrogram?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:SPECtrogram?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:SPECtrogram value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:SPECtrogram {ON|OFF} + - SV:S_CH:SELect:SPECtrogram? + ``` + + Info: + - ``S`` is the remote scope number and CH specifies the analog channel as source. + - ``ON`` turns on spectrogram. + - ``OFF`` turns of spectrogram. + """ + + +class SvSItemChannelSelectRfPhase(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_PHASe`` command. + + Description: + - This command sets or queries whether the Phase vs. Time trace for the specified channel is + displayed in the Waveform View. S is the remote scope number and Ch is the channel + number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_PHASe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELect:RF_PHASe value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_PHASe {ON|OFF} + - SV:S_CH:SELect:RF_PHASe? + ``` + + Info: + - ``ON`` enables display of the Phase vs. Time trace. + - ``OFF`` disables display of the Phase vs. Time trace. + """ + + +class SvSItemChannelSelectRfNormal(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_NORMal`` command. + + Description: + - This command sets or queries whether the Normal trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch is + the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_NORMal?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_NORMal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELect:RF_NORMal value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_NORMal {ON|1|OFF|0} + - SV:S_CH:SELect:RF_NORMal? + ``` + + Info: + - ``ON, 1`` enables the display of the Normal trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Normal trace for the specified spectrum trace + channel. + """ + + +class SvSItemChannelSelectRfMinhold(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_MINHold`` command. + + Description: + - This command sets or queries whether the Min Hold trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch is + the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_MINHold?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_MINHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELect:RF_MINHold value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_MINHold {ON|1|OFF|0} + - SV:S_CH:SELect:RF_MINHold? + ``` + + Info: + - ``ON, 1`` enables the display of the Min Hold trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Min Hold trace for the specified spectrum trace + channel. + """ + + +class SvSItemChannelSelectRfMaxhold(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_MAXHold`` command. + + Description: + - This command sets or queries whether the Max Hold trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch is + the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_MAXHold?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_MAXHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELect:RF_MAXHold value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_MAXHold {ON|1|OFF|0} + - SV:S_CH:SELect:RF_MAXHold? + ``` + + Info: + - ``ON, 1`` enables the display of the Max Hold trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Max Hold trace for the specified spectrum trace + channel. + """ + + +class SvSItemChannelSelectRfMagnitude(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_MAGnitude`` command. + + Description: + - This command sets or queries whether the Magnitude vs. Time trace for the specified + channel is displayed in the Waveform View. S is the remote scope number and Ch is + the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_MAGnitude?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_MAGnitude?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_MAGnitude value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_MAGnitude {ON|OFF} + - SV:S_CH:SELect:RF_MAGnitude? + ``` + + Info: + - ``ON`` enables display of the Magnitude vs. Time trace. + - ``OFF`` disables display of the Magnitude vs. Time trace. + """ + + +class SvSItemChannelSelectRfFrequency(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_FREQuency`` command. + + Description: + - This command sets or queries whether the Frequency vs. Time trace for the specified + channel is displayed in the Waveform View. S is the remote scope number and Ch is + the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_FREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_FREQuency?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_FREQuency value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_FREQuency {ON|OFF} + - SV:S_CH:SELect:RF_FREQuency? + ``` + + Info: + - ``ON`` enables display of the Frequency vs. Time trace. + - ``OFF`` disables display of the Frequency vs. Time trace. + """ + + +class SvSItemChannelSelectRfAverage(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELect:RF_AVErage`` command. + + Description: + - This command sets or queries whether the Average trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch is + the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_AVErage?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_AVErage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELect:RF_AVErage value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_AVErage {ON|1|OFF|0} + - SV:S_CH:SELect:RF_AVErage? + ``` + + Info: + - ``ON, 1`` enables the display of the Average trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Average trace for the specified spectrum trace + channel. + """ + + +class SvSItemChannelSelectRf(SCPICmdRead): + """The ``SV:S_CH:SELect:RF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.average``: The ``SV:S_CH:SELect:RF_AVErage`` command. + - ``.frequency``: The ``SV:S_CH:SELect:RF_FREQuency`` command. + - ``.magnitude``: The ``SV:S_CH:SELect:RF_MAGnitude`` command. + - ``.maxhold``: The ``SV:S_CH:SELect:RF_MAXHold`` command. + - ``.minhold``: The ``SV:S_CH:SELect:RF_MINHold`` command. + - ``.normal``: The ``SV:S_CH:SELect:RF_NORMal`` command. + - ``.phase``: The ``SV:S_CH:SELect:RF_PHASe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._average = SvSItemChannelSelectRfAverage(device, f"{self._cmd_syntax}_AVErage") + self._frequency = SvSItemChannelSelectRfFrequency(device, f"{self._cmd_syntax}_FREQuency") + self._magnitude = SvSItemChannelSelectRfMagnitude(device, f"{self._cmd_syntax}_MAGnitude") + self._maxhold = SvSItemChannelSelectRfMaxhold(device, f"{self._cmd_syntax}_MAXHold") + self._minhold = SvSItemChannelSelectRfMinhold(device, f"{self._cmd_syntax}_MINHold") + self._normal = SvSItemChannelSelectRfNormal(device, f"{self._cmd_syntax}_NORMal") + self._phase = SvSItemChannelSelectRfPhase(device, f"{self._cmd_syntax}_PHASe") + + @property + def average(self) -> SvSItemChannelSelectRfAverage: + """Return the ``SV:S_CH:SELect:RF_AVErage`` command. + + Description: + - This command sets or queries whether the Average trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_AVErage?`` + query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_AVErage?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_AVErage value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_AVErage {ON|1|OFF|0} + - SV:S_CH:SELect:RF_AVErage? + ``` + + Info: + - ``ON, 1`` enables the display of the Average trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Average trace for the specified spectrum trace + channel. + """ + return self._average + + @property + def frequency(self) -> SvSItemChannelSelectRfFrequency: + """Return the ``SV:S_CH:SELect:RF_FREQuency`` command. + + Description: + - This command sets or queries whether the Frequency vs. Time trace for the specified + channel is displayed in the Waveform View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_FREQuency?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:SELect:RF_FREQuency?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_FREQuency value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_FREQuency {ON|OFF} + - SV:S_CH:SELect:RF_FREQuency? + ``` + + Info: + - ``ON`` enables display of the Frequency vs. Time trace. + - ``OFF`` disables display of the Frequency vs. Time trace. + """ + return self._frequency + + @property + def magnitude(self) -> SvSItemChannelSelectRfMagnitude: + """Return the ``SV:S_CH:SELect:RF_MAGnitude`` command. + + Description: + - This command sets or queries whether the Magnitude vs. Time trace for the specified + channel is displayed in the Waveform View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_MAGnitude?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:SELect:RF_MAGnitude?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_MAGnitude value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_MAGnitude {ON|OFF} + - SV:S_CH:SELect:RF_MAGnitude? + ``` + + Info: + - ``ON`` enables display of the Magnitude vs. Time trace. + - ``OFF`` disables display of the Magnitude vs. Time trace. + """ + return self._magnitude + + @property + def maxhold(self) -> SvSItemChannelSelectRfMaxhold: + """Return the ``SV:S_CH:SELect:RF_MAXHold`` command. + + Description: + - This command sets or queries whether the Max Hold trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_MAXHold?`` + query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_MAXHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_MAXHold value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_MAXHold {ON|1|OFF|0} + - SV:S_CH:SELect:RF_MAXHold? + ``` + + Info: + - ``ON, 1`` enables the display of the Max Hold trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Max Hold trace for the specified spectrum trace + channel. + """ + return self._maxhold + + @property + def minhold(self) -> SvSItemChannelSelectRfMinhold: + """Return the ``SV:S_CH:SELect:RF_MINHold`` command. + + Description: + - This command sets or queries whether the Min Hold trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_MINHold?`` + query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_MINHold?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_MINHold value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_MINHold {ON|1|OFF|0} + - SV:S_CH:SELect:RF_MINHold? + ``` + + Info: + - ``ON, 1`` enables the display of the Min Hold trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Min Hold trace for the specified spectrum trace + channel. + """ + return self._minhold + + @property + def normal(self) -> SvSItemChannelSelectRfNormal: + """Return the ``SV:S_CH:SELect:RF_NORMal`` command. + + Description: + - This command sets or queries whether the Normal trace is displayed for the specified + spectrum trace channel in the Spectrum View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_NORMal?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_NORMal?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_NORMal value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_NORMal {ON|1|OFF|0} + - SV:S_CH:SELect:RF_NORMal? + ``` + + Info: + - ``ON, 1`` enables the display of the Normal trace for the specified spectrum trace + channel. + - ``OFF, 0`` disables the display of the Normal trace for the specified spectrum trace + channel. + """ + return self._normal + + @property + def phase(self) -> SvSItemChannelSelectRfPhase: + """Return the ``SV:S_CH:SELect:RF_PHASe`` command. + + Description: + - This command sets or queries whether the Phase vs. Time trace for the specified + channel is displayed in the Waveform View. S is the remote scope number and Ch + is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF_PHASe?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:RF_PHASe value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:RF_PHASe {ON|OFF} + - SV:S_CH:SELect:RF_PHASe? + ``` + + Info: + - ``ON`` enables display of the Phase vs. Time trace. + - ``OFF`` disables display of the Phase vs. Time trace. + """ + return self._phase + + +class SvSItemChannelSelect(SCPICmdRead): + """The ``SV:S_CH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rf``: The ``SV:S_CH:SELect:RF`` command tree. + - ``.spectrogram``: The ``SV:S_CH:SELect:SPECtrogram`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rf = SvSItemChannelSelectRf(device, f"{self._cmd_syntax}:RF") + self._spectrogram = SvSItemChannelSelectSpectrogram( + device, f"{self._cmd_syntax}:SPECtrogram" + ) + + @property + def rf(self) -> SvSItemChannelSelectRf: + """Return the ``SV:S_CH:SELect:RF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:RF?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect:RF?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.average``: The ``SV:S_CH:SELect:RF_AVErage`` command. + - ``.frequency``: The ``SV:S_CH:SELect:RF_FREQuency`` command. + - ``.magnitude``: The ``SV:S_CH:SELect:RF_MAGnitude`` command. + - ``.maxhold``: The ``SV:S_CH:SELect:RF_MAXHold`` command. + - ``.minhold``: The ``SV:S_CH:SELect:RF_MINHold`` command. + - ``.normal``: The ``SV:S_CH:SELect:RF_NORMal`` command. + - ``.phase``: The ``SV:S_CH:SELect:RF_PHASe`` command. + """ + return self._rf + + @property + def spectrogram(self) -> SvSItemChannelSelectSpectrogram: + """Return the ``SV:S_CH:SELect:SPECtrogram`` command. + + Description: + - This command sets or queries whether the spectrogram plot for the specified channel is + displayed in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect:SPECtrogram?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:SELect:SPECtrogram?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:SELect:SPECtrogram value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELect:SPECtrogram {ON|OFF} + - SV:S_CH:SELect:SPECtrogram? + ``` + + Info: + - ``S`` is the remote scope number and CH specifies the analog channel as source. + - ``ON`` turns on spectrogram. + - ``OFF`` turns of spectrogram. + """ + return self._spectrogram + + +class SvSItemChannelSeltrace(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:SELTrace`` command. + + Description: + - This command sets or queries the spectrum trace type to show for the specified channel in + the Spectrum View. Each channel's spectrum trace can display up to four traces; a Normal + trace (default), a Max Hold trace, a Min Hold trace and an Average trace. S is the + remote scope number and Ch is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELTrace?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELTrace?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELTrace value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:SELTrace {NORMal|MAXHold|MINHold|AVErage} + - SV:S_CH:SELTrace? + ``` + + Info: + - ``NORMal`` selects the Normal trace for the specified spectrum trace channel. If the + specified spectrum trace channel does not have a Normal trace, this command is ignored. + - ``MAXHold`` selects the Max Hold trace for the specified spectrum trace channel. If the + specified spectrum trace channel does not have a Max Hold trace, this command is ignored. + - ``MINHold`` selects the Min Hold trace for the specified spectrum trace channel. If the + specified spectrum trace channel does not have a Min Hold trace, this command is ignored. + - ``AVErage`` selects the Average trace for the specified spectrum trace channel. If the + specified spectrum trace channel does not have an Average trace, this command is ignored. + """ + + +class SvSItemChannelRfPhaseWrapState(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:WRAP:STATE`` command. + + Description: + - This command sets or queries whether Phase Wrap is applied to the Phase vs. Time trace for + the specified channel. S is the remote scope number and Ch is the channel number to + use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:WRAP:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe:WRAP:STATE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:WRAP:STATE value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:WRAP:STATE {ON|OFF} + - SV:S_CH:RF_PHASe:WRAP:STATE? + ``` + + Info: + - ``ON`` enables applying phase wrap on the specified Phase vs. Time channel trace. + - ``OFF`` disables applying phase wrap on the specified Phase vs. Time channel trace. + """ + + +class SvSItemChannelRfPhaseWrapDegrees(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:WRAP:DEGrees`` command. + + Description: + - This command sets or queries the Phase Wrap limit for the Phase vs. Time trace for the + specified channel. S is the remote scope number and Ch is the channel number to use + as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:WRAP:DEGrees?`` + query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe:WRAP:DEGrees?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:WRAP:DEGrees value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:WRAP:DEGrees + - SV:S_CH:RF_PHASe:WRAP:DEGrees? + ``` + + Info: + - ``CH`` is the channel number of the Phase vs. Time trace. + - ``NR3`` sets the number of wrap degrees, from 180 degrees to infinity. When Phase Wrap is + enabled, the phase values in the Phase vs Time waveform are constrained to be within ± the + specified limit. Phase values below or above the limit are wrapped by repeatedly adding or + subtracting 360 degrees until they are within range. + """ + + +class SvSItemChannelRfPhaseWrap(SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:WRAP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:WRAP?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe:WRAP?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number of the Phase vs. Time trace. + + Properties: + - ``.degrees``: The ``SV:S_CH:RF_PHASe:WRAP:DEGrees`` command. + - ``.state``: The ``SV:S_CH:RF_PHASe:WRAP:STATE`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._degrees = SvSItemChannelRfPhaseWrapDegrees(device, f"{self._cmd_syntax}:DEGrees") + self._state = SvSItemChannelRfPhaseWrapState(device, f"{self._cmd_syntax}:STATE") + + @property + def degrees(self) -> SvSItemChannelRfPhaseWrapDegrees: + """Return the ``SV:S_CH:RF_PHASe:WRAP:DEGrees`` command. + + Description: + - This command sets or queries the Phase Wrap limit for the Phase vs. Time trace for the + specified channel. S is the remote scope number and Ch is the channel number to + use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:WRAP:DEGrees?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:WRAP:DEGrees?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:WRAP:DEGrees value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:WRAP:DEGrees + - SV:S_CH:RF_PHASe:WRAP:DEGrees? + ``` + + Info: + - ``CH`` is the channel number of the Phase vs. Time trace. + - ``NR3`` sets the number of wrap degrees, from 180 degrees to infinity. When Phase Wrap + is enabled, the phase values in the Phase vs Time waveform are constrained to be + within ± the specified limit. Phase values below or above the limit are wrapped by + repeatedly adding or subtracting 360 degrees until they are within range. + """ + return self._degrees + + @property + def state(self) -> SvSItemChannelRfPhaseWrapState: + """Return the ``SV:S_CH:RF_PHASe:WRAP:STATE`` command. + + Description: + - This command sets or queries whether Phase Wrap is applied to the Phase vs. Time trace + for the specified channel. S is the remote scope number and Ch is the channel + number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:WRAP:STATE?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:WRAP:STATE?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:WRAP:STATE value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:WRAP:STATE {ON|OFF} + - SV:S_CH:RF_PHASe:WRAP:STATE? + ``` + + Info: + - ``ON`` enables applying phase wrap on the specified Phase vs. Time channel trace. + - ``OFF`` disables applying phase wrap on the specified Phase vs. Time channel trace. + """ + return self._state + + +class SvSItemChannelRfPhaseReferenceTime(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:REFerence:TIMe`` command. + + Description: + - This command sets or queries the channel Phase Reference time in seconds. S is the + remote scope number and Ch is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:REFerence:TIMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:TIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:TIMe value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:REFerence:TIMe + - SV:S_CH:RF_PHASe:REFerence:TIMe? + ``` + + Info: + - ``NR3`` is the Phase Reference time, in seconds. This indicates the time at which the + phase value set by ``SV:S_CH:RF_PHASe:REFerence:DEGrees`` is applied. If the phase + position set by ``SV:S_CH:RF_PHASe:REFerence:POSition`` is TRIGger, then the phase + time is fixed at 0 seconds and cannot be changed. If the phase position is CURSor, then + the phase time may be set to any value, and is initialized to the position of Cursor A. If + CH is the master phase reference, then the time is used to calculate the phase values + of all other channels. + """ + + +class SvSItemChannelRfPhaseReferencePosition(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:REFerence:POSition`` command. + + Description: + - This command sets or queries whether the channel Phase Reference is located at the Trigger + position or at the Cursor A position. S is the remote scope number and Ch is the + channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:REFerence:POSition?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:POSition?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:POSition value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:REFerence:POSition {TRIGger|CURSor} + - SV:S_CH:RF_PHASe:REFerence:POSition? + ``` + + Info: + - ``TRIGger`` sets the Phase Reference location to the Trigger position. + - ``CURSor`` sets the channel Phase Reference location to the phase time set by + ``SV:S_CH:RF_PHASe:REFerence:TIMe``, which defaults to the Cursor A position. + """ + + +class SvSItemChannelRfPhaseReferenceDegrees(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:REFerence:DEGrees`` command. + + Description: + - This command sets or queries the channel Phase Reference value in degrees. S is the + remote scope number and Ch is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:REFerence:DEGrees?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:DEGrees?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:DEGrees value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:REFerence:DEGrees + - SV:S_CH:RF_PHASe:REFerence:DEGrees? + ``` + + Info: + - ``NR3`` is the Phase Reference value, in degrees. This indicates a fixed phase value at + the phase time set by ``SV:S_CH:RF_PHASe:REFerence:TIMe``. If CH is the master + phase reference, then the value is used to calculate the phase values of all other + channels. + """ + + +class SvSItemChannelRfPhaseReference(SCPICmdRead): + """The ``SV:S_CH:RF_PHASe:REFerence`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:REFerence?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe:REFerence?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.degrees``: The ``SV:S_CH:RF_PHASe:REFerence:DEGrees`` command. + - ``.position``: The ``SV:S_CH:RF_PHASe:REFerence:POSition`` command. + - ``.time``: The ``SV:S_CH:RF_PHASe:REFerence:TIMe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._degrees = SvSItemChannelRfPhaseReferenceDegrees(device, f"{self._cmd_syntax}:DEGrees") + self._position = SvSItemChannelRfPhaseReferencePosition( + device, f"{self._cmd_syntax}:POSition" + ) + self._time = SvSItemChannelRfPhaseReferenceTime(device, f"{self._cmd_syntax}:TIMe") + + @property + def degrees(self) -> SvSItemChannelRfPhaseReferenceDegrees: + """Return the ``SV:S_CH:RF_PHASe:REFerence:DEGrees`` command. + + Description: + - This command sets or queries the channel Phase Reference value in degrees. S is the + remote scope number and Ch is the channel number to use as the Spectrum View + source. + + Usage: + - Using the ``.query()`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:DEGrees?`` query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:DEGrees?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:DEGrees value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:REFerence:DEGrees + - SV:S_CH:RF_PHASe:REFerence:DEGrees? + ``` + + Info: + - ``NR3`` is the Phase Reference value, in degrees. This indicates a fixed phase value + at the phase time set by ``SV:S_CH:RF_PHASe:REFerence:TIMe``. If CH is the + master phase reference, then the value is used to calculate the phase values of all + other channels. + """ + return self._degrees + + @property + def position(self) -> SvSItemChannelRfPhaseReferencePosition: + """Return the ``SV:S_CH:RF_PHASe:REFerence:POSition`` command. + + Description: + - This command sets or queries whether the channel Phase Reference is located at the + Trigger position or at the Cursor A position. S is the remote scope number and + Ch is the channel number to use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:POSition?`` query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:POSition?`` query and raise an AssertionError if + the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:POSition value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:REFerence:POSition {TRIGger|CURSor} + - SV:S_CH:RF_PHASe:REFerence:POSition? + ``` + + Info: + - ``TRIGger`` sets the Phase Reference location to the Trigger position. + - ``CURSor`` sets the channel Phase Reference location to the phase time set by + ``SV:S_CH:RF_PHASe:REFerence:TIMe``, which defaults to the Cursor A position. + """ + return self._position + + @property + def time(self) -> SvSItemChannelRfPhaseReferenceTime: + """Return the ``SV:S_CH:RF_PHASe:REFerence:TIMe`` command. + + Description: + - This command sets or queries the channel Phase Reference time in seconds. S is the + remote scope number and Ch is the channel number to use as the Spectrum View + source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:REFerence:TIMe?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:TIMe?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence:TIMe value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_PHASe:REFerence:TIMe + - SV:S_CH:RF_PHASe:REFerence:TIMe? + ``` + + Info: + - ``NR3`` is the Phase Reference time, in seconds. This indicates the time at which the + phase value set by ``SV:S_CH:RF_PHASe:REFerence:DEGrees`` is applied. If the + phase position set by ``SV:S_CH:RF_PHASe:REFerence:POSition`` is TRIGger, then + the phase time is fixed at 0 seconds and cannot be changed. If the phase position is + CURSor, then the phase time may be set to any value, and is initialized to the + position of Cursor A. If CH is the master phase reference, then the time is used to + calculate the phase values of all other channels. + """ + return self._time + + +class SvSItemChannelRfPhase(SCPICmdRead): + """The ``SV:S_CH:RF_PHASe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.reference``: The ``SV:S_CH:RF_PHASe:REFerence`` command tree. + - ``.wrap``: The ``SV:S_CH:RF_PHASe:WRAP`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reference = SvSItemChannelRfPhaseReference(device, f"{self._cmd_syntax}:REFerence") + self._wrap = SvSItemChannelRfPhaseWrap(device, f"{self._cmd_syntax}:WRAP") + + @property + def reference(self) -> SvSItemChannelRfPhaseReference: + """Return the ``SV:S_CH:RF_PHASe:REFerence`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:REFerence?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_PHASe:REFerence?`` query and raise an AssertionError if the + returned value does not match ``value``. + + Sub-properties: + - ``.degrees``: The ``SV:S_CH:RF_PHASe:REFerence:DEGrees`` command. + - ``.position``: The ``SV:S_CH:RF_PHASe:REFerence:POSition`` command. + - ``.time``: The ``SV:S_CH:RF_PHASe:REFerence:TIMe`` command. + """ + return self._reference + + @property + def wrap(self) -> SvSItemChannelRfPhaseWrap: + """Return the ``SV:S_CH:RF_PHASe:WRAP`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe:WRAP?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe:WRAP?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Info: + - ``CH`` is the channel number of the Phase vs. Time trace. + + Sub-properties: + - ``.degrees``: The ``SV:S_CH:RF_PHASe:WRAP:DEGrees`` command. + - ``.state``: The ``SV:S_CH:RF_PHASe:WRAP:STATE`` command. + """ + return self._wrap + + +class SvSItemChannelRfMagnitudeFormat(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_MAGnitude:FORMat`` command. + + Description: + - This command sets or queries the format of the Magnitude vs. Time trace for the specified + channel. S is the remote scope number and Ch is the channel number to use as the + Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_MAGnitude:FORMat?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_MAGnitude:FORMat?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_MAGnitude:FORMat value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_MAGnitude:FORMat {AMPLINear|POWLINear|POWLOG} + - SV:S_CH:RF_MAGnitude:FORMat? + ``` + + Info: + - ``AMPLINear`` (Amplitude (linear)) sets the magnitude in Volts with square root conversion + of linear power values. + - ``POWLINear`` (Power (linear) sets the magnitude in Watts with direct use of linear power + values. + - ``POWLOG`` (Power (log) sets the magnitude in dB using log conversion of linear power + values. + """ + + +class SvSItemChannelRfMagnitude(SCPICmdRead): + """The ``SV:S_CH:RF_MAGnitude`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_MAGnitude?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_MAGnitude?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.format``: The ``SV:S_CH:RF_MAGnitude:FORMat`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._format = SvSItemChannelRfMagnitudeFormat(device, f"{self._cmd_syntax}:FORMat") + + @property + def format(self) -> SvSItemChannelRfMagnitudeFormat: + """Return the ``SV:S_CH:RF_MAGnitude:FORMat`` command. + + Description: + - This command sets or queries the format of the Magnitude vs. Time trace for the + specified channel. S is the remote scope number and Ch is the channel number to + use as the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_MAGnitude:FORMat?`` + query. + - Using the ``.verify(value)`` method will send the + ``SV:S_CH:RF_MAGnitude:FORMat?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_MAGnitude:FORMat value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_MAGnitude:FORMat {AMPLINear|POWLINear|POWLOG} + - SV:S_CH:RF_MAGnitude:FORMat? + ``` + + Info: + - ``AMPLINear`` (Amplitude (linear)) sets the magnitude in Volts with square root + conversion of linear power values. + - ``POWLINear`` (Power (linear) sets the magnitude in Watts with direct use of linear + power values. + - ``POWLOG`` (Power (log) sets the magnitude in dB using log conversion of linear power + values. + """ + return self._format + + +class SvSItemChannelRfAverageNumavg(SCPICmdWrite, SCPICmdRead): + """The ``SV:S_CH:RF_AVErage:NUMAVg`` command. + + Description: + - This command sets or queries the number of acquisitions to be used when creating the + Average trace for the specified spectrum trace channel in the Spectrum View. The Average + spectrum trace shows the average of values from multiple acquisitions at each trace point. + S is the remote scope number and Ch is the channel number to use as the Spectrum + View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_AVErage:NUMAVg?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_AVErage:NUMAVg?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:RF_AVErage:NUMAVg value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_AVErage:NUMAVg + - SV:S_CH:RF_AVErage:NUMAVg? + ``` + + Info: + - ```` specifies the number of acquisitions to average. The range is 2 - 512, in + exponential increments. + """ + + +class SvSItemChannelRfAverage(SCPICmdRead): + """The ``SV:S_CH:RF_AVErage`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_AVErage?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_AVErage?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.numavg``: The ``SV:S_CH:RF_AVErage:NUMAVg`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._numavg = SvSItemChannelRfAverageNumavg(device, f"{self._cmd_syntax}:NUMAVg") + + @property + def numavg(self) -> SvSItemChannelRfAverageNumavg: + """Return the ``SV:S_CH:RF_AVErage:NUMAVg`` command. + + Description: + - This command sets or queries the number of acquisitions to be used when creating the + Average trace for the specified spectrum trace channel in the Spectrum View. The + Average spectrum trace shows the average of values from multiple acquisitions at each + trace point. S is the remote scope number and Ch is the channel number to use as + the Spectrum View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_AVErage:NUMAVg?`` + query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_AVErage:NUMAVg?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:S_CH:RF_AVErage:NUMAVg value`` command. + + SCPI Syntax: + ``` + - SV:S_CH:RF_AVErage:NUMAVg + - SV:S_CH:RF_AVErage:NUMAVg? + ``` + + Info: + - ```` specifies the number of acquisitions to average. The range is 2 - 512, in + exponential increments. + """ + return self._numavg + + +class SvSItemChannelRf(SCPICmdRead): + """The ``SV:S_CH:RF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.average``: The ``SV:S_CH:RF_AVErage`` command tree. + - ``.magnitude``: The ``SV:S_CH:RF_MAGnitude`` command tree. + - ``.phase``: The ``SV:S_CH:RF_PHASe`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._average = SvSItemChannelRfAverage(device, f"{self._cmd_syntax}_AVErage") + self._magnitude = SvSItemChannelRfMagnitude(device, f"{self._cmd_syntax}_MAGnitude") + self._phase = SvSItemChannelRfPhase(device, f"{self._cmd_syntax}_PHASe") + + @property + def average(self) -> SvSItemChannelRfAverage: + """Return the ``SV:S_CH:RF_AVErage`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_AVErage?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_AVErage?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.numavg``: The ``SV:S_CH:RF_AVErage:NUMAVg`` command. + """ + return self._average + + @property + def magnitude(self) -> SvSItemChannelRfMagnitude: + """Return the ``SV:S_CH:RF_MAGnitude`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_MAGnitude?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_MAGnitude?`` + query and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.format``: The ``SV:S_CH:RF_MAGnitude:FORMat`` command. + """ + return self._magnitude + + @property + def phase(self) -> SvSItemChannelRfPhase: + """Return the ``SV:S_CH:RF_PHASe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF_PHASe?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.reference``: The ``SV:S_CH:RF_PHASe:REFerence`` command tree. + - ``.wrap``: The ``SV:S_CH:RF_PHASe:WRAP`` command tree. + """ + return self._phase + + +class SvSItemChannel(ValidatedChannel, SCPICmdRead): + """The ``SV:S_CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.rf``: The ``SV:S_CH:RF`` command tree. + - ``.seltrace``: The ``SV:S_CH:SELTrace`` command. + - ``.select``: The ``SV:S_CH:SELect`` command tree. + - ``.squelch``: The ``SV:S_CH:SQUELCH`` command tree. + - ``.units``: The ``SV:S_CH:UNIts`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._rf = SvSItemChannelRf(device, f"{self._cmd_syntax}:RF") + self._seltrace = SvSItemChannelSeltrace(device, f"{self._cmd_syntax}:SELTrace") + self._select = SvSItemChannelSelect(device, f"{self._cmd_syntax}:SELect") + self._squelch = SvSItemChannelSquelch(device, f"{self._cmd_syntax}:SQUELCH") + self._units = SvSItemChannelUnits(device, f"{self._cmd_syntax}:UNIts") + + @property + def rf(self) -> SvSItemChannelRf: + """Return the ``SV:S_CH:RF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:RF?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:RF?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.average``: The ``SV:S_CH:RF_AVErage`` command tree. + - ``.magnitude``: The ``SV:S_CH:RF_MAGnitude`` command tree. + - ``.phase``: The ``SV:S_CH:RF_PHASe`` command tree. + """ + return self._rf + + @property + def seltrace(self) -> SvSItemChannelSeltrace: + """Return the ``SV:S_CH:SELTrace`` command. + + Description: + - This command sets or queries the spectrum trace type to show for the specified channel + in the Spectrum View. Each channel's spectrum trace can display up to four traces; a + Normal trace (default), a Max Hold trace, a Min Hold trace and an Average trace. S + is the remote scope number and Ch is the channel number to use as the Spectrum View + source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELTrace?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELTrace?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:SELTrace value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:SELTrace {NORMal|MAXHold|MINHold|AVErage} + - SV:S_CH:SELTrace? + ``` + + Info: + - ``NORMal`` selects the Normal trace for the specified spectrum trace channel. If the + specified spectrum trace channel does not have a Normal trace, this command is + ignored. + - ``MAXHold`` selects the Max Hold trace for the specified spectrum trace channel. If + the specified spectrum trace channel does not have a Max Hold trace, this command is + ignored. + - ``MINHold`` selects the Min Hold trace for the specified spectrum trace channel. If + the specified spectrum trace channel does not have a Min Hold trace, this command is + ignored. + - ``AVErage`` selects the Average trace for the specified spectrum trace channel. If the + specified spectrum trace channel does not have an Average trace, this command is + ignored. + """ + return self._seltrace + + @property + def select(self) -> SvSItemChannelSelect: + """Return the ``SV:S_CH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SELect?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rf``: The ``SV:S_CH:SELect:RF`` command tree. + - ``.spectrogram``: The ``SV:S_CH:SELect:SPECtrogram`` command. + """ + return self._select + + @property + def squelch(self) -> SvSItemChannelSquelch: + """Return the ``SV:S_CH:SQUELCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:SQUELCH?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:SQUELCH?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.state``: The ``SV:S_CH:SQUELCH:STATE`` command. + - ``.threshold``: The ``SV:S_CH:SQUELCH:THReshold`` command. + """ + return self._squelch + + @property + def units(self) -> SvSItemChannelUnits: + """Return the ``SV:S_CH:UNIts`` command. + + Description: + - This command sets or queries the absolute logarithmic amplitude vertical scale units + to show in the specified spectrum trace remote scope channel of the Spectrum View. + S is the remote scope number and Ch is the channel number to use as the Spectrum + View source. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH:UNIts?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH:UNIts?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:S_CH:UNIts value`` + command. + + SCPI Syntax: + ``` + - SV:S_CH:UNIts {DBM|DBUW|DBMV|DBUV|DBMA|DBUA} + - SV:S_CH:UNIts? + ``` + + Info: + - ``DBM`` specifies Decibel milliwatts (dBm). + - ``DBUW`` specifies Decibel microwatts (dBµW). + - ``DBMV`` specifies Decibel millivolts (dBmV). + - ``DBUV`` specifies Decibel microvolts (dBµV). + - ``DBMA`` specifies Decibel milliamperes (dBmA). + - ``DBUA`` specifies Decibel microamperes (dBµA). + """ + return self._units + + +class SvSItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``SV:S`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SV:S_CH`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SvSItemChannel] = DefaultDictPassKeyToFactory( + lambda x: SvSItemChannel(device, f"{self._cmd_syntax}_CH{x}") + ) + + @property + def ch(self) -> Dict[int, SvSItemChannel]: + """Return the ``SV:S_CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S_CH?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S_CH?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.rf``: The ``SV:S_CH:RF`` command tree. + - ``.seltrace``: The ``SV:S_CH:SELTrace`` command. + - ``.select``: The ``SV:S_CH:SELect`` command tree. + - ``.squelch``: The ``SV:S_CH:SQUELCH`` command tree. + - ``.units``: The ``SV:S_CH:UNIts`` command. + """ + return self._ch + + +class SvRfPhaseReferenceMaster(SCPICmdWrite, SCPICmdRead): + """The ``SV:RF_PHASe:REFerence:MASTer`` command. + + Description: + - This command sets or queries the channel used as the Master Phase Reference. + + Usage: + - Using the ``.query()`` method will send the ``SV:RF_PHASe:REFerence:MASTer?`` query. + - Using the ``.verify(value)`` method will send the ``SV:RF_PHASe:REFerence:MASTer?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:RF_PHASe:REFerence:MASTer value`` + command. + + SCPI Syntax: + ``` + - SV:RF_PHASe:REFerence:MASTer {CH|NONE} + - SV:RF_PHASe:REFerence:MASTer? + ``` + + Info: + - ``CH`` sets the specified channel as the Master Phase Reference source. + - ``NONE`` indicates that there is no Master Phase Reference. + """ + + +class SvRfPhaseReference(SCPICmdRead): + """The ``SV:RF_PHASe:REFerence`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:RF_PHASe:REFerence?`` query. + - Using the ``.verify(value)`` method will send the ``SV:RF_PHASe:REFerence?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.master``: The ``SV:RF_PHASe:REFerence:MASTer`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._master = SvRfPhaseReferenceMaster(device, f"{self._cmd_syntax}:MASTer") + + @property + def master(self) -> SvRfPhaseReferenceMaster: + """Return the ``SV:RF_PHASe:REFerence:MASTer`` command. + + Description: + - This command sets or queries the channel used as the Master Phase Reference. + + Usage: + - Using the ``.query()`` method will send the ``SV:RF_PHASe:REFerence:MASTer?`` query. + - Using the ``.verify(value)`` method will send the ``SV:RF_PHASe:REFerence:MASTer?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``SV:RF_PHASe:REFerence:MASTer value`` command. + + SCPI Syntax: + ``` + - SV:RF_PHASe:REFerence:MASTer {CH|NONE} + - SV:RF_PHASe:REFerence:MASTer? + ``` + + Info: + - ``CH`` sets the specified channel as the Master Phase Reference source. + - ``NONE`` indicates that there is no Master Phase Reference. + """ + return self._master + + +class SvRfPhase(SCPICmdRead): + """The ``SV:RF_PHASe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:RF_PHASe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.reference``: The ``SV:RF_PHASe:REFerence`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._reference = SvRfPhaseReference(device, f"{self._cmd_syntax}:REFerence") + + @property + def reference(self) -> SvRfPhaseReference: + """Return the ``SV:RF_PHASe:REFerence`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:RF_PHASe:REFerence?`` query. + - Using the ``.verify(value)`` method will send the ``SV:RF_PHASe:REFerence?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.master``: The ``SV:RF_PHASe:REFerence:MASTer`` command. + """ + return self._reference + + +class SvMarkerType(SCPICmdWrite, SCPICmdRead): + """The ``SV:MARKER:TYPe`` command. + + Description: + - This command sets or queries the peak marker type (either DELTa or ABSolute). An Absolute + marker shows the frequency and amplitude at the location of the marker. A Delta marker + shows the frequency and amplitude of the marker relative to the Reference Marker. The + Reference Marker shows the absolute frequency and amplitude, regardless of this command. + The marker amplitude measurements are in dBm for Absolute, or in dBc (dB below carrier + amplitude) for Delta. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:TYPe value`` command. + + SCPI Syntax: + ``` + - SV:MARKER:TYPe {DELta|ABSolute} + - SV:MARKER:TYPe? + ``` + + Info: + - ``DELTa`` specifies to display the frequency and amplitude of the peak markers relative to + the Reference Marker. The relative amplitude is in dBc (dB below carrier amplitude); the + relative frequency is in Hz. + - ``ABSolute`` specifies to display the actual frequency and amplitude of each peak marker. + The absolute amplitude is in user-set units; the absolute frequency is in Hz. + """ + + +class SvMarkerReferenceFrequency(SCPICmdRead): + """The ``SV:MARKER:REFERence:FREQuency`` command. + + Description: + - This command queries the frequency of the Reference Marker, in Hz, when the Spectrum View + trace markers are on. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:REFERence:FREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:REFERence:FREQuency?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:REFERence:FREQuency? + ``` + """ + + +class SvMarkerReferenceAmplitude(SCPICmdRead): + """The ``SV:MARKER:REFERence:AMPLITUDE`` command. + + Description: + - This command queries the amplitude (vertical) value of the Reference Marker in user-set + units. This value indicates the absolute amplitude of the Reference Marker, regardless of + whether the other markers are manual or automatic. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:REFERence:AMPLITUDE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:REFERence:AMPLITUDE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:REFERence:AMPLITUDE? + ``` + """ + + +class SvMarkerReference(SCPICmdWriteNoArguments, SCPICmdRead): + """The ``SV:MARKER:REFERence`` command. + + Description: + - This command sets the Center Frequency of the currently selected Spectrum View channel to + the frequency indicated by the Reference Marker, in effect moving the Reference Marker to + the center of the screen. + + Usage: + - Using the ``.write()`` method will send the ``SV:MARKER:REFERence`` command. + + SCPI Syntax: + ``` + - SV:MARKER:REFERence + ``` + + Properties: + - ``.amplitude``: The ``SV:MARKER:REFERence:AMPLITUDE`` command. + - ``.frequency``: The ``SV:MARKER:REFERence:FREQuency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._amplitude = SvMarkerReferenceAmplitude(device, f"{self._cmd_syntax}:AMPLITUDE") + self._frequency = SvMarkerReferenceFrequency(device, f"{self._cmd_syntax}:FREQuency") + + @property + def amplitude(self) -> SvMarkerReferenceAmplitude: + """Return the ``SV:MARKER:REFERence:AMPLITUDE`` command. + + Description: + - This command queries the amplitude (vertical) value of the Reference Marker in + user-set units. This value indicates the absolute amplitude of the Reference Marker, + regardless of whether the other markers are manual or automatic. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:REFERence:AMPLITUDE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:REFERence:AMPLITUDE?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:REFERence:AMPLITUDE? + ``` + """ + return self._amplitude + + @property + def frequency(self) -> SvMarkerReferenceFrequency: + """Return the ``SV:MARKER:REFERence:FREQuency`` command. + + Description: + - This command queries the frequency of the Reference Marker, in Hz, when the Spectrum + View trace markers are on. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:REFERence:FREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:REFERence:FREQuency?`` + query and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:REFERence:FREQuency? + ``` + """ + return self._frequency + + +class SvMarkerPeaksFrequency(SCPICmdRead): + """The ``SV:MARKER:PEAKS:FREQuency`` command. + + Description: + - This command queries the peak frequencies for the Spectrum View trace peak markers. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAKS:FREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAKS:FREQuency?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:PEAKS:FREQuency? + ``` + """ + + +class SvMarkerPeaksAmplitude(SCPICmdRead): + """The ``SV:MARKER:PEAKS:AMPLITUDE`` command. + + Description: + - This command queries the peak amplitudes for the Spectrum View trace peak markers. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAKS:AMPLITUDE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAKS:AMPLITUDE?`` query and + raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:PEAKS:AMPLITUDE? + ``` + """ + + +class SvMarkerPeaks(SCPICmdRead): + """The ``SV:MARKER:PEAKS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAKS?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAKS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.amplitude``: The ``SV:MARKER:PEAKS:AMPLITUDE`` command. + - ``.frequency``: The ``SV:MARKER:PEAKS:FREQuency`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._amplitude = SvMarkerPeaksAmplitude(device, f"{self._cmd_syntax}:AMPLITUDE") + self._frequency = SvMarkerPeaksFrequency(device, f"{self._cmd_syntax}:FREQuency") + + @property + def amplitude(self) -> SvMarkerPeaksAmplitude: + """Return the ``SV:MARKER:PEAKS:AMPLITUDE`` command. + + Description: + - This command queries the peak amplitudes for the Spectrum View trace peak markers. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAKS:AMPLITUDE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAKS:AMPLITUDE?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:PEAKS:AMPLITUDE? + ``` + """ + return self._amplitude + + @property + def frequency(self) -> SvMarkerPeaksFrequency: + """Return the ``SV:MARKER:PEAKS:FREQuency`` command. + + Description: + - This command queries the peak frequencies for the Spectrum View trace peak markers. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAKS:FREQuency?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAKS:FREQuency?`` query + and raise an AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SV:MARKER:PEAKS:FREQuency? + ``` + """ + return self._frequency + + +class SvMarkerPeakThreshold(SCPICmdWrite, SCPICmdRead): + """The ``SV:MARKER:PEAK:THReshold`` command. + + Description: + - This command sets or queries the minimum peak threshold value required to mark a peak. + Only peaks with an amplitude greater than the threshold value will qualify for peak marker + placement. Applies to all spectrum traces, and to each trace in its own vertical units. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:THReshold?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:THReshold value`` + command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:THReshold + - SV:MARKER:PEAK:THReshold? + ``` + + Info: + - ```` specifies the peak marker threshold value. The range of values is -200.0 to + 200.0. + """ + + +class SvMarkerPeakState(SCPICmdWrite, SCPICmdRead): + """The ``SV:MARKER:PEAK:STATE`` command. + + Description: + - This command sets or queries showing peak markers on spectrum traces in the Spectrum View + window. There are up to 11 markers. The maximum number of markers can be set using the + command ``SV:MARKER:PEAK:MAXimum``. The peak markers find amplitude peaks based upon + threshold and excursion settings (set with the ``SV:MARKER:PEAK:EXCURsion`` and + ``SV:MARKER:PEAK:THReshold`` commands.) Each peak marker has a readout associated with it. + These can be absolute or delta readouts (set with the ``SV:MARKER:TYPe`` command.) + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:STATE value`` command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:STATE {CH} + - SV:MARKER:PEAK:STATE? + ``` + + Info: + - ``ON, 1`` enables showing peak marker icons on spectrum trace waveforms. + - ``OFF, 0`` disables showing peak marker icons on spectrum trace waveforms. + """ + + +class SvMarkerPeakMaximum(SCPICmdWrite, SCPICmdRead): + """The ``SV:MARKER:PEAK:MAXimum`` command. + + Description: + - This command sets or queries the maximum number of Spectrum View peak markers that can be + placed on spectrum traces. the Spectrum View window can show between 1 and 11 peak markers + on all spectrum traces. The default is 5. To turn on the peak markers, use the command + ``SV:MARKER:PEAK:STATE``. The actual number of peak markers may be less than the maximum, + depending on the threshold and excursion values and the spectral content of the RF signal. + If more peaks than the maximum are detected that meet the threshold and excursion + criteria, only the highest amplitude peaks will have markers placed on them. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:MAXimum?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:MAXimum value`` command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:MAXimum + - SV:MARKER:PEAK:MAXimum? + ``` + + Info: + - ```` is an integer value that specifies the maximum number of peak markers to display + on spectrum traces. he range of values is 1 to 11. + """ + + +class SvMarkerPeakExcursion(SCPICmdWrite, SCPICmdRead): + """The ``SV:MARKER:PEAK:EXCURsion`` command. + + Description: + - This command sets or queries the minimum peak excursion value, in dB, for the Spectrum + View trace peak markers. Peak excursion refers to the minimum amount a spectrum signal + needs to fall in amplitude between marked peaks to be considered another valid peak. If + the peak excursion value is low, more peaks will tend to qualify as valid peaks and have + associated markers. If the peak excursion value is high, fewer peaks will have associated + markers. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:EXCURsion?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:EXCURsion?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:EXCURsion value`` + command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:EXCURsion + - SV:MARKER:PEAK:EXCURsion? + ``` + + Info: + - ```` specifies the peak marker excursion value in dB. The range of values is 0.0 dB + to 200.0 dB. + """ + + +class SvMarkerPeak(SCPICmdRead): + """The ``SV:MARKER:PEAK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.excursion``: The ``SV:MARKER:PEAK:EXCURsion`` command. + - ``.maximum``: The ``SV:MARKER:PEAK:MAXimum`` command. + - ``.state``: The ``SV:MARKER:PEAK:STATE`` command. + - ``.threshold``: The ``SV:MARKER:PEAK:THReshold`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._excursion = SvMarkerPeakExcursion(device, f"{self._cmd_syntax}:EXCURsion") + self._maximum = SvMarkerPeakMaximum(device, f"{self._cmd_syntax}:MAXimum") + self._state = SvMarkerPeakState(device, f"{self._cmd_syntax}:STATE") + self._threshold = SvMarkerPeakThreshold(device, f"{self._cmd_syntax}:THReshold") + + @property + def excursion(self) -> SvMarkerPeakExcursion: + """Return the ``SV:MARKER:PEAK:EXCURsion`` command. + + Description: + - This command sets or queries the minimum peak excursion value, in dB, for the Spectrum + View trace peak markers. Peak excursion refers to the minimum amount a spectrum signal + needs to fall in amplitude between marked peaks to be considered another valid peak. + If the peak excursion value is low, more peaks will tend to qualify as valid peaks and + have associated markers. If the peak excursion value is high, fewer peaks will have + associated markers. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:EXCURsion?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:EXCURsion?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:EXCURsion value`` + command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:EXCURsion + - SV:MARKER:PEAK:EXCURsion? + ``` + + Info: + - ```` specifies the peak marker excursion value in dB. The range of values is 0.0 + dB to 200.0 dB. + """ + return self._excursion + + @property + def maximum(self) -> SvMarkerPeakMaximum: + """Return the ``SV:MARKER:PEAK:MAXimum`` command. + + Description: + - This command sets or queries the maximum number of Spectrum View peak markers that can + be placed on spectrum traces. the Spectrum View window can show between 1 and 11 peak + markers on all spectrum traces. The default is 5. To turn on the peak markers, use the + command ``SV:MARKER:PEAK:STATE``. The actual number of peak markers may be less than + the maximum, depending on the threshold and excursion values and the spectral content + of the RF signal. If more peaks than the maximum are detected that meet the threshold + and excursion criteria, only the highest amplitude peaks will have markers placed on + them. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:MAXimum?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:MAXimum?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:MAXimum value`` + command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:MAXimum + - SV:MARKER:PEAK:MAXimum? + ``` + + Info: + - ```` is an integer value that specifies the maximum number of peak markers to + display on spectrum traces. he range of values is 1 to 11. + """ + return self._maximum + + @property + def state(self) -> SvMarkerPeakState: + """Return the ``SV:MARKER:PEAK:STATE`` command. + + Description: + - This command sets or queries showing peak markers on spectrum traces in the Spectrum + View window. There are up to 11 markers. The maximum number of markers can be set + using the command ``SV:MARKER:PEAK:MAXimum``. The peak markers find amplitude peaks + based upon threshold and excursion settings (set with the ``SV:MARKER:PEAK:EXCURsion`` + and ``SV:MARKER:PEAK:THReshold`` commands.) Each peak marker has a readout associated + with it. These can be absolute or delta readouts (set with the ``SV:MARKER:TYPe`` + command.) + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:STATE?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:STATE?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:STATE value`` + command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:STATE {CH} + - SV:MARKER:PEAK:STATE? + ``` + + Info: + - ``ON, 1`` enables showing peak marker icons on spectrum trace waveforms. + - ``OFF, 0`` disables showing peak marker icons on spectrum trace waveforms. + """ + return self._state + + @property + def threshold(self) -> SvMarkerPeakThreshold: + """Return the ``SV:MARKER:PEAK:THReshold`` command. + + Description: + - This command sets or queries the minimum peak threshold value required to mark a peak. + Only peaks with an amplitude greater than the threshold value will qualify for peak + marker placement. Applies to all spectrum traces, and to each trace in its own + vertical units. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK:THReshold?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK:THReshold?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:PEAK:THReshold value`` + command. + + SCPI Syntax: + ``` + - SV:MARKER:PEAK:THReshold + - SV:MARKER:PEAK:THReshold? + ``` + + Info: + - ```` specifies the peak marker threshold value. The range of values is -200.0 to + 200.0. + """ + return self._threshold + + +class SvMarker(SCPICmdRead): + """The ``SV:MARKER`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.peak``: The ``SV:MARKER:PEAK`` command tree. + - ``.peaks``: The ``SV:MARKER:PEAKS`` command tree. + - ``.reference``: The ``SV:MARKER:REFERence`` command. + - ``.type``: The ``SV:MARKER:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._peak = SvMarkerPeak(device, f"{self._cmd_syntax}:PEAK") + self._peaks = SvMarkerPeaks(device, f"{self._cmd_syntax}:PEAKS") + self._reference = SvMarkerReference(device, f"{self._cmd_syntax}:REFERence") + self._type = SvMarkerType(device, f"{self._cmd_syntax}:TYPe") + + @property + def peak(self) -> SvMarkerPeak: + """Return the ``SV:MARKER:PEAK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAK?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAK?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.excursion``: The ``SV:MARKER:PEAK:EXCURsion`` command. + - ``.maximum``: The ``SV:MARKER:PEAK:MAXimum`` command. + - ``.state``: The ``SV:MARKER:PEAK:STATE`` command. + - ``.threshold``: The ``SV:MARKER:PEAK:THReshold`` command. + """ + return self._peak + + @property + def peaks(self) -> SvMarkerPeaks: + """Return the ``SV:MARKER:PEAKS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:PEAKS?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:PEAKS?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.amplitude``: The ``SV:MARKER:PEAKS:AMPLITUDE`` command. + - ``.frequency``: The ``SV:MARKER:PEAKS:FREQuency`` command. + """ + return self._peaks + + @property + def reference(self) -> SvMarkerReference: + """Return the ``SV:MARKER:REFERence`` command. + + Description: + - This command sets the Center Frequency of the currently selected Spectrum View channel + to the frequency indicated by the Reference Marker, in effect moving the Reference + Marker to the center of the screen. + + Usage: + - Using the ``.write()`` method will send the ``SV:MARKER:REFERence`` command. + + SCPI Syntax: + ``` + - SV:MARKER:REFERence + ``` + + Sub-properties: + - ``.amplitude``: The ``SV:MARKER:REFERence:AMPLITUDE`` command. + - ``.frequency``: The ``SV:MARKER:REFERence:FREQuency`` command. + """ + return self._reference + + @property + def type(self) -> SvMarkerType: + """Return the ``SV:MARKER:TYPe`` command. + + Description: + - This command sets or queries the peak marker type (either DELTa or ABSolute). An + Absolute marker shows the frequency and amplitude at the location of the marker. A + Delta marker shows the frequency and amplitude of the marker relative to the Reference + Marker. The Reference Marker shows the absolute frequency and amplitude, regardless of + this command. The marker amplitude measurements are in dBm for Absolute, or in dBc (dB + below carrier amplitude) for Delta. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:MARKER:TYPe value`` command. + + SCPI Syntax: + ``` + - SV:MARKER:TYPe {DELta|ABSolute} + - SV:MARKER:TYPe? + ``` + + Info: + - ``DELTa`` specifies to display the frequency and amplitude of the peak markers + relative to the Reference Marker. The relative amplitude is in dBc (dB below carrier + amplitude); the relative frequency is in Hz. + - ``ABSolute`` specifies to display the actual frequency and amplitude of each peak + marker. The absolute amplitude is in user-set units; the absolute frequency is in Hz. + """ + return self._type + + +class SvLockspectrum(SCPICmdWrite, SCPICmdRead): + """The ``SV:LOCKSpectrum`` command. + + Description: + - This command sets or queries whether the Spectrum Time value is locked across all spectrum + trace channels in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``SV:LOCKSpectrum?`` query. + - Using the ``.verify(value)`` method will send the ``SV:LOCKSpectrum?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:LOCKSpectrum value`` command. + + SCPI Syntax: + ``` + - SV:LOCKSpectrum {ON|1|OFF|0} + - SV:LOCKSpectrum? + ``` + + Info: + - ``ON`` sets all spectrum traces channels in the Spectrum View window to use the same + Spectrum Time value. When the Spectrum Time of any channel is changed, the Spectrum Time + of all other channels is automatically changed to match that value. + - ``1`` sets all spectrum traces channels in the Spectrum View window to use the same + Spectrum Time value. When the Spectrum Time of any channel is changed, the Spectrum Time + of all other channels is automatically changed to match that value. + - ``0`` enables use of different Spectrum Time values for each spectrum trace channel. The + Spectrum Time of all channels are independent. + - ``OFF`` enables use of different Spectrum Time values for each spectrum trace channel. The + Spectrum Time of all channels are independent. + """ + + +class SvLockcenter(SCPICmdWrite, SCPICmdRead): + """The ``SV:LOCKCenter`` command. + + Description: + - This command sets or queries whether the Center Frequency setting is locked across all + channels in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``SV:LOCKCenter?`` query. + - Using the ``.verify(value)`` method will send the ``SV:LOCKCenter?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:LOCKCenter value`` command. + + SCPI Syntax: + ``` + - SV:LOCKCenter {ON|1|OFF|0} + - SV:LOCKCenter? + ``` + + Info: + - ``ON`` sets all spectrum traces channels in the Spectrum View window to use the same + center frequency value. When the center frequency of any channel is changed, the center + frequency of all other channels is automatically changed to match that value. + - ``1`` sets all spectrum traces channels in the Spectrum View window to use the same center + frequency value. When the center frequency of any channel is changed, the center frequency + of all other channels is automatically changed to match that value. + - ``0`` enables use of different center frequency values for each spectrum trace channel. + The center frequencies of all channels are independent. + - ``OFF`` enables use of different center frequency values for each spectrum trace channel. + The center frequencies of all channels are independent. + """ + + +class SvChannelSelectSpectrogram(SCPICmdWrite, SCPICmdRead): + """The ``SV:CH:SELect:SPECtrogram`` command. + + Description: + - This command sets or queries whether the spectrogram plot for the specified channel is + displayed in the Spectrum View. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SV:CH:SELect:SPECtrogram?`` query. + - Using the ``.verify(value)`` method will send the ``SV:CH:SELect:SPECtrogram?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:CH:SELect:SPECtrogram value`` + command. + + SCPI Syntax: + ``` + - SV:CH:SELect:SPECtrogram {ON|OFF} + - SV:CH:SELect:SPECtrogram? + ``` + + Info: + - ``ON`` turns on spectrogram. + - ``OFF`` turns of spectrogram. + """ + + +class SvChannelSelect(SCPICmdRead): + """The ``SV:CH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:CH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SV:CH:SELect?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.spectrogram``: The ``SV:CH:SELect:SPECtrogram`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._spectrogram = SvChannelSelectSpectrogram(device, f"{self._cmd_syntax}:SPECtrogram") + + @property + def spectrogram(self) -> SvChannelSelectSpectrogram: + """Return the ``SV:CH:SELect:SPECtrogram`` command. + + Description: + - This command sets or queries whether the spectrogram plot for the specified channel is + displayed in the Spectrum View. The channel number is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``SV:CH:SELect:SPECtrogram?`` query. + - Using the ``.verify(value)`` method will send the ``SV:CH:SELect:SPECtrogram?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:CH:SELect:SPECtrogram value`` + command. + + SCPI Syntax: + ``` + - SV:CH:SELect:SPECtrogram {ON|OFF} + - SV:CH:SELect:SPECtrogram? + ``` + + Info: + - ``ON`` turns on spectrogram. + - ``OFF`` turns of spectrogram. + """ + return self._spectrogram + + +class SvChannel(ValidatedChannel, SCPICmdRead): + """The ``SV:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:CH?`` query. + - Using the ``.verify(value)`` method will send the ``SV:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.select``: The ``SV:CH:SELect`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._select = SvChannelSelect(device, f"{self._cmd_syntax}:SELect") + + @property + def select(self) -> SvChannelSelect: + """Return the ``SV:CH:SELect`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:CH:SELect?`` query. + - Using the ``.verify(value)`` method will send the ``SV:CH:SELect?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.spectrogram``: The ``SV:CH:SELect:SPECtrogram`` command. + """ + return self._select + + +class Sv(SCPICmdRead): + """The ``SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV?`` query. + - Using the ``.verify(value)`` method will send the ``SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``SV:CH`` command tree. + - ``.lockcenter``: The ``SV:LOCKCenter`` command. + - ``.lockspectrum``: The ``SV:LOCKSpectrum`` command. + - ``.marker``: The ``SV:MARKER`` command tree. + - ``.rf_phase``: The ``SV:RF_PHASe`` command tree. + - ``.s``: The ``SV:S`` command tree. + - ``.spectrogram``: The ``SV:SPECtrogram`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "SV") -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, SvChannel] = DefaultDictPassKeyToFactory( + lambda x: SvChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + self._lockcenter = SvLockcenter(device, f"{self._cmd_syntax}:LOCKCenter") + self._lockspectrum = SvLockspectrum(device, f"{self._cmd_syntax}:LOCKSpectrum") + self._marker = SvMarker(device, f"{self._cmd_syntax}:MARKER") + self._rf_phase = SvRfPhase(device, f"{self._cmd_syntax}:RF_PHASe") + self._s: Dict[int, SvSItem] = DefaultDictPassKeyToFactory( + lambda x: SvSItem(device, f"{self._cmd_syntax}:S{x}") + ) + self._spectrogram = SvSpectrogram(device, f"{self._cmd_syntax}:SPECtrogram") + + @property + def ch(self) -> Dict[int, SvChannel]: + """Return the ``SV:CH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:CH?`` query. + - Using the ``.verify(value)`` method will send the ``SV:CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.select``: The ``SV:CH:SELect`` command tree. + """ + return self._ch + + @property + def lockcenter(self) -> SvLockcenter: + """Return the ``SV:LOCKCenter`` command. + + Description: + - This command sets or queries whether the Center Frequency setting is locked across all + channels in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``SV:LOCKCenter?`` query. + - Using the ``.verify(value)`` method will send the ``SV:LOCKCenter?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:LOCKCenter value`` command. + + SCPI Syntax: + ``` + - SV:LOCKCenter {ON|1|OFF|0} + - SV:LOCKCenter? + ``` + + Info: + - ``ON`` sets all spectrum traces channels in the Spectrum View window to use the same + center frequency value. When the center frequency of any channel is changed, the + center frequency of all other channels is automatically changed to match that value. + - ``1`` sets all spectrum traces channels in the Spectrum View window to use the same + center frequency value. When the center frequency of any channel is changed, the + center frequency of all other channels is automatically changed to match that value. + - ``0`` enables use of different center frequency values for each spectrum trace + channel. The center frequencies of all channels are independent. + - ``OFF`` enables use of different center frequency values for each spectrum trace + channel. The center frequencies of all channels are independent. + """ + return self._lockcenter + + @property + def lockspectrum(self) -> SvLockspectrum: + """Return the ``SV:LOCKSpectrum`` command. + + Description: + - This command sets or queries whether the Spectrum Time value is locked across all + spectrum trace channels in the Spectrum View. + + Usage: + - Using the ``.query()`` method will send the ``SV:LOCKSpectrum?`` query. + - Using the ``.verify(value)`` method will send the ``SV:LOCKSpectrum?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``SV:LOCKSpectrum value`` command. + + SCPI Syntax: + ``` + - SV:LOCKSpectrum {ON|1|OFF|0} + - SV:LOCKSpectrum? + ``` + + Info: + - ``ON`` sets all spectrum traces channels in the Spectrum View window to use the same + Spectrum Time value. When the Spectrum Time of any channel is changed, the Spectrum + Time of all other channels is automatically changed to match that value. + - ``1`` sets all spectrum traces channels in the Spectrum View window to use the same + Spectrum Time value. When the Spectrum Time of any channel is changed, the Spectrum + Time of all other channels is automatically changed to match that value. + - ``0`` enables use of different Spectrum Time values for each spectrum trace channel. + The Spectrum Time of all channels are independent. + - ``OFF`` enables use of different Spectrum Time values for each spectrum trace channel. + The Spectrum Time of all channels are independent. + """ + return self._lockspectrum + + @property + def marker(self) -> SvMarker: + """Return the ``SV:MARKER`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:MARKER?`` query. + - Using the ``.verify(value)`` method will send the ``SV:MARKER?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.peak``: The ``SV:MARKER:PEAK`` command tree. + - ``.peaks``: The ``SV:MARKER:PEAKS`` command tree. + - ``.reference``: The ``SV:MARKER:REFERence`` command. + - ``.type``: The ``SV:MARKER:TYPe`` command. + """ + return self._marker + + @property + def rf_phase(self) -> SvRfPhase: + """Return the ``SV:RF_PHASe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:RF_PHASe?`` query. + - Using the ``.verify(value)`` method will send the ``SV:RF_PHASe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.reference``: The ``SV:RF_PHASe:REFerence`` command tree. + """ + return self._rf_phase + + @property + def s(self) -> Dict[int, SvSItem]: + """Return the ``SV:S`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:S?`` query. + - Using the ``.verify(value)`` method will send the ``SV:S?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SV:S_CH`` command tree. + """ + return self._s + + @property + def spectrogram(self) -> SvSpectrogram: + """Return the ``SV:SPECtrogram`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV:SPECtrogram?`` query. + - Using the ``.verify(value)`` method will send the ``SV:SPECtrogram?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.cscale``: The ``SV:SPECtrogram:CSCale`` command tree. + - ``.cursor``: The ``SV:SPECtrogram:CURSor`` command tree. + """ + return self._spectrogram diff --git a/src/tm_devices/commands/gen_c3g61_tekscopepc/trigger.py b/src/tm_devices/commands/gen_c3g61_tekscopepc/trigger.py new file mode 100644 index 00000000..6691811c --- /dev/null +++ b/src/tm_devices/commands/gen_c3g61_tekscopepc/trigger.py @@ -0,0 +1,901 @@ +"""The trigger commands module. + +These commands are used in the following models: +TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - TRIGger:A:EDGE:COUPling {DC|HFRej|LFRej|NOISErej} + - TRIGger:A:EDGE:COUPling? + - TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:A:EDGE:SLOpe? + - TRIGger:A:EDGE:SOUrce {CH|CH_D|LINE|AUXiliary} + - TRIGger:A:EDGE:SOUrce? + - TRIGger:A:LEVel:CH + - TRIGger:A:LEVel:CH? + - TRIGger:A:TYPe {EDGE|WIDth|TIMEOut|RUNt|WINdow|LOGIc|SETHold|TRANsition|BUS} + - TRIGger:A:TYPe? + - TRIGger:B:EDGE:COUPling {DC|HFRej|LFRej|NOISErej} + - TRIGger:B:EDGE:COUPling? + - TRIGger:B:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:B:EDGE:SLOpe? + - TRIGger:B:EDGE:SOUrce {CH|CH_D|LINE|AUXiliary} + - TRIGger:B:EDGE:SOUrce? + - TRIGger:B:LEVel:CH + - TRIGger:B:LEVel:CH? + - TRIGger:B:TYPe {EDGE|WIDth|TIMEOut|RUNt|WINdow|LOGIc|SETHold|TRANsition|BUS} + - TRIGger:B:TYPe? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import DefaultDictPassKeyToFactory, SCPICmdRead, SCPICmdWrite, ValidatedChannel + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class TriggerBType(SCPICmdWrite, SCPICmdRead): + r"""The ``TRIGger:B:TYPe`` command. + + Description: + - This command sets or queries the type of A or B trigger. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:TYPe value`` command. + + SCPI Syntax: + ``` + - TRIGger:B:TYPe {EDGE|WIDth|TIMEOut|RUNt|WINdow|LOGIc|SETHold|TRANsition|BUS} + - TRIGger:B:TYPe? + ``` + + Info: + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``WIDth`` specifies that the trigger occurs when a pulse with a specified with is found. + - ``TIMEOut`` specifies that a trigger occurs when a pulse with the specified timeout is + found. + - ``RUNt`` specifies that a trigger occurs when a pulse with the specified parameters is + found. + - ``WINdow`` specifies that a trigger occurs when a signal with the specified window + parameters is found. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the TRIGger:{A\|B}``:LOGIc`` commands. + - ``SETHold`` specifies that a trigger occurs when a signal is found that meets the setup + and hold parameters. + - ``BUS`` specifies that a trigger occurs when a signal is found that meets the specified + bus setup parameters. + """ + + +class TriggerBLevelChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:LEVel:CH`` command. + + Description: + - This command sets or queries the CH trigger level for an Edge, Pulse Width, Runt or + Rise/Fall (Transition and Slew Rate) trigger when triggering on an analog channel + waveform. Each channel can have an independent trigger level. The is the channel + number. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LEVel:CH value`` command. + + SCPI Syntax: + ``` + - TRIGger:B:LEVel:CH + - TRIGger:B:LEVel:CH? + ``` + + Info: + - ```` specifies the trigger level in user units (usually volts). + """ + + +class TriggerBLevel(SCPICmdRead): + """The ``TRIGger:B:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:B:LEVel:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerBLevelChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerBLevelChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerBLevelChannel]: + """Return the ``TRIGger:B:LEVel:CH`` command. + + Description: + - This command sets or queries the CH trigger level for an Edge, Pulse Width, Runt or + Rise/Fall (Transition and Slew Rate) trigger when triggering on an analog channel + waveform. Each channel can have an independent trigger level. The is the channel + number. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:LEVel:CH value`` + command. + + SCPI Syntax: + ``` + - TRIGger:B:LEVel:CH + - TRIGger:B:LEVel:CH? + ``` + + Info: + - ```` specifies the trigger level in user units (usually volts). + """ + return self._ch + + +class TriggerBEdgeSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:SOUrce`` command. + + Description: + - This command sets or queries the source for the edge trigger. For instruments that have an + Auxiliary Input (such as the MSO58LP), AUXiliary can be selected as trigger source. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SOUrce value`` command. + + SCPI Syntax: + ``` + - TRIGger:B:EDGE:SOUrce {CH|CH_D|LINE|AUXiliary} + - TRIGger:B:EDGE:SOUrce? + ``` + + Info: + - ``CH`` specifies an analog channel as the edge trigger source. + - ``CH_D`` specifies a digital channel as the edge trigger source. + - ``LINE`` specifies AC line voltage, and is a valid source when B trigger is inactive. + - ``AUXiliary`` specifies the Auxiliary Input. + """ + + +class TriggerBEdgeSlope(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:SLOpe`` command. + + Description: + - This command sets or queries the slope for the edge trigger. This command is equivalent to + selecting Edge from the Trigger Type drop-down in the Trigger setup context menu, and then + choosing the desired Slope. This command is also equivalent to pressing the front-panel + Slope button. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SLOpe value`` command. + + SCPI Syntax: + ``` + - TRIGger:B:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:B:EDGE:SLOpe? + ``` + + Info: + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerBEdgeCoupling(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:B:EDGE:COUPling`` command. + + Description: + - This command sets or queries the type of coupling for the edge trigger. This command is + equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup context + menu, and choosing from the Coupling drop-down list. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:COUPling?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:COUPling value`` + command. + + SCPI Syntax: + ``` + - TRIGger:B:EDGE:COUPling {DC|HFRej|LFRej|NOISErej} + - TRIGger:B:EDGE:COUPling? + ``` + + Info: + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + """ + + +class TriggerBEdge(SCPICmdRead): + """The ``TRIGger:B:EDGE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.coupling``: The ``TRIGger:B:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:B:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:B:EDGE:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._coupling = TriggerBEdgeCoupling(device, f"{self._cmd_syntax}:COUPling") + self._slope = TriggerBEdgeSlope(device, f"{self._cmd_syntax}:SLOpe") + self._source = TriggerBEdgeSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def coupling(self) -> TriggerBEdgeCoupling: + """Return the ``TRIGger:B:EDGE:COUPling`` command. + + Description: + - This command sets or queries the type of coupling for the edge trigger. This command + is equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup + context menu, and choosing from the Coupling drop-down list. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:COUPling?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:COUPling value`` + command. + + SCPI Syntax: + ``` + - TRIGger:B:EDGE:COUPling {DC|HFRej|LFRej|NOISErej} + - TRIGger:B:EDGE:COUPling? + ``` + + Info: + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + """ + return self._coupling + + @property + def slope(self) -> TriggerBEdgeSlope: + """Return the ``TRIGger:B:EDGE:SLOpe`` command. + + Description: + - This command sets or queries the slope for the edge trigger. This command is + equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup + context menu, and then choosing the desired Slope. This command is also equivalent to + pressing the front-panel Slope button. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SLOpe value`` + command. + + SCPI Syntax: + ``` + - TRIGger:B:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:B:EDGE:SLOpe? + ``` + + Info: + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._slope + + @property + def source(self) -> TriggerBEdgeSource: + """Return the ``TRIGger:B:EDGE:SOUrce`` command. + + Description: + - This command sets or queries the source for the edge trigger. For instruments that + have an Auxiliary Input (such as the MSO58LP), AUXiliary can be selected as trigger + source. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:EDGE:SOUrce value`` + command. + + SCPI Syntax: + ``` + - TRIGger:B:EDGE:SOUrce {CH|CH_D|LINE|AUXiliary} + - TRIGger:B:EDGE:SOUrce? + ``` + + Info: + - ``CH`` specifies an analog channel as the edge trigger source. + - ``CH_D`` specifies a digital channel as the edge trigger source. + - ``LINE`` specifies AC line voltage, and is a valid source when B trigger is inactive. + - ``AUXiliary`` specifies the Auxiliary Input. + """ + return self._source + + +class TriggerB(SCPICmdRead): + """The ``TRIGger:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edge``: The ``TRIGger:B:EDGE`` command tree. + - ``.level``: The ``TRIGger:B:LEVel`` command tree. + - ``.type``: The ``TRIGger:B:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = TriggerBEdge(device, f"{self._cmd_syntax}:EDGE") + self._level = TriggerBLevel(device, f"{self._cmd_syntax}:LEVel") + self._type = TriggerBType(device, f"{self._cmd_syntax}:TYPe") + + @property + def edge(self) -> TriggerBEdge: + """Return the ``TRIGger:B:EDGE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:EDGE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.coupling``: The ``TRIGger:B:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:B:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:B:EDGE:SOUrce`` command. + """ + return self._edge + + @property + def level(self) -> TriggerBLevel: + """Return the ``TRIGger:B:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:LEVel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:B:LEVel:CH`` command. + """ + return self._level + + @property + def type(self) -> TriggerBType: + r"""Return the ``TRIGger:B:TYPe`` command. + + Description: + - This command sets or queries the type of A or B trigger. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:B:TYPe value`` command. + + SCPI Syntax: + ``` + - TRIGger:B:TYPe {EDGE|WIDth|TIMEOut|RUNt|WINdow|LOGIc|SETHold|TRANsition|BUS} + - TRIGger:B:TYPe? + ``` + + Info: + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``WIDth`` specifies that the trigger occurs when a pulse with a specified with is + found. + - ``TIMEOut`` specifies that a trigger occurs when a pulse with the specified timeout is + found. + - ``RUNt`` specifies that a trigger occurs when a pulse with the specified parameters is + found. + - ``WINdow`` specifies that a trigger occurs when a signal with the specified window + parameters is found. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the TRIGger:{A\|B}``:LOGIc`` commands. + - ``SETHold`` specifies that a trigger occurs when a signal is found that meets the + setup and hold parameters. + - ``BUS`` specifies that a trigger occurs when a signal is found that meets the + specified bus setup parameters. + """ + return self._type + + +class TriggerAType(SCPICmdWrite, SCPICmdRead): + r"""The ``TRIGger:A:TYPe`` command. + + Description: + - This command sets or queries the type of A or B trigger. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:TYPe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:TYPe value`` command. + + SCPI Syntax: + ``` + - TRIGger:A:TYPe {EDGE|WIDth|TIMEOut|RUNt|WINdow|LOGIc|SETHold|TRANsition|BUS} + - TRIGger:A:TYPe? + ``` + + Info: + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``WIDth`` specifies that the trigger occurs when a pulse with a specified with is found. + - ``TIMEOut`` specifies that a trigger occurs when a pulse with the specified timeout is + found. + - ``RUNt`` specifies that a trigger occurs when a pulse with the specified parameters is + found. + - ``WINdow`` specifies that a trigger occurs when a signal with the specified window + parameters is found. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the TRIGger:{A\|B}``:LOGIc`` commands. + - ``SETHold`` specifies that a trigger occurs when a signal is found that meets the setup + and hold parameters. + - ``BUS`` specifies that a trigger occurs when a signal is found that meets the specified + bus setup parameters. + """ + + +class TriggerALevelChannel(ValidatedChannel, SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:LEVel:CH`` command. + + Description: + - This command sets or queries the CH trigger level for an Edge, Pulse Width, Runt or + Rise/Fall (Transition and Slew Rate) trigger when triggering on an analog channel + waveform. Each channel can have an independent trigger level. The is the channel + number. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LEVel:CH value`` command. + + SCPI Syntax: + ``` + - TRIGger:A:LEVel:CH + - TRIGger:A:LEVel:CH? + ``` + + Info: + - ```` specifies the trigger level in user units (usually volts). + """ + + +class TriggerALevel(SCPICmdRead): + """The ``TRIGger:A:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.ch``: The ``TRIGger:A:LEVel:CH`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._ch: Dict[int, TriggerALevelChannel] = DefaultDictPassKeyToFactory( + lambda x: TriggerALevelChannel(device, f"{self._cmd_syntax}:CH{x}") + ) + + @property + def ch(self) -> Dict[int, TriggerALevelChannel]: + """Return the ``TRIGger:A:LEVel:CH`` command. + + Description: + - This command sets or queries the CH trigger level for an Edge, Pulse Width, Runt or + Rise/Fall (Transition and Slew Rate) trigger when triggering on an analog channel + waveform. Each channel can have an independent trigger level. The is the channel + number. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel:CH?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel:CH?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:LEVel:CH value`` + command. + + SCPI Syntax: + ``` + - TRIGger:A:LEVel:CH + - TRIGger:A:LEVel:CH? + ``` + + Info: + - ```` specifies the trigger level in user units (usually volts). + """ + return self._ch + + +class TriggerAEdgeSource(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:SOUrce`` command. + + Description: + - This command sets or queries the source for the edge trigger. For instruments that have an + Auxiliary Input (such as the MSO58LP), AUXiliary can be selected as trigger source. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SOUrce value`` command. + + SCPI Syntax: + ``` + - TRIGger:A:EDGE:SOUrce {CH|CH_D|LINE|AUXiliary} + - TRIGger:A:EDGE:SOUrce? + ``` + + Info: + - ``CH`` specifies an analog channel as the edge trigger source. + - ``CH_D`` specifies a digital channel as the edge trigger source. + - ``LINE`` specifies AC line voltage, and is a valid source when B trigger is inactive. + - ``AUXiliary`` specifies the Auxiliary Input. + """ + + +class TriggerAEdgeSlope(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:SLOpe`` command. + + Description: + - This command sets or queries the slope for the edge trigger. This command is equivalent to + selecting Edge from the Trigger Type drop-down in the Trigger setup context menu, and then + choosing the desired Slope. This command is also equivalent to pressing the front-panel + Slope button. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SLOpe value`` command. + + SCPI Syntax: + ``` + - TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:A:EDGE:SLOpe? + ``` + + Info: + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + + +class TriggerAEdgeCoupling(SCPICmdWrite, SCPICmdRead): + """The ``TRIGger:A:EDGE:COUPling`` command. + + Description: + - This command sets or queries the type of coupling for the edge trigger. This command is + equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup context + menu, and choosing from the Coupling drop-down list. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:COUPling?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:COUPling value`` + command. + + SCPI Syntax: + ``` + - TRIGger:A:EDGE:COUPling {DC|HFRej|LFRej|NOISErej} + - TRIGger:A:EDGE:COUPling? + ``` + + Info: + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + """ + + +class TriggerAEdge(SCPICmdRead): + """The ``TRIGger:A:EDGE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.coupling``: The ``TRIGger:A:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:A:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:A:EDGE:SOUrce`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._coupling = TriggerAEdgeCoupling(device, f"{self._cmd_syntax}:COUPling") + self._slope = TriggerAEdgeSlope(device, f"{self._cmd_syntax}:SLOpe") + self._source = TriggerAEdgeSource(device, f"{self._cmd_syntax}:SOUrce") + + @property + def coupling(self) -> TriggerAEdgeCoupling: + """Return the ``TRIGger:A:EDGE:COUPling`` command. + + Description: + - This command sets or queries the type of coupling for the edge trigger. This command + is equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup + context menu, and choosing from the Coupling drop-down list. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:COUPling?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:COUPling?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:COUPling value`` + command. + + SCPI Syntax: + ``` + - TRIGger:A:EDGE:COUPling {DC|HFRej|LFRej|NOISErej} + - TRIGger:A:EDGE:COUPling? + ``` + + Info: + - ``DC`` selects DC trigger coupling, which passes all input signals to the trigger + circuitry. + - ``HFRej`` coupling attenuates signals above 50 kHz before passing the signals to the + trigger circuitry. + - ``LFRej`` coupling attenuates signals below 80 kHz before passing the signals to the + trigger circuitry. + - ``NOISErej`` coupling provides stable triggering by increasing the trigger hysteresis. + Increased hysteresis reduces the trigger sensitivity to noise but can require greater + trigger signal amplitude. + """ + return self._coupling + + @property + def slope(self) -> TriggerAEdgeSlope: + """Return the ``TRIGger:A:EDGE:SLOpe`` command. + + Description: + - This command sets or queries the slope for the edge trigger. This command is + equivalent to selecting Edge from the Trigger Type drop-down in the Trigger setup + context menu, and then choosing the desired Slope. This command is also equivalent to + pressing the front-panel Slope button. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SLOpe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SLOpe value`` + command. + + SCPI Syntax: + ``` + - TRIGger:A:EDGE:SLOpe {RISe|FALL|EITher} + - TRIGger:A:EDGE:SLOpe? + ``` + + Info: + - ``RISe`` specifies to trigger on the rising or positive edge of a signal. + - ``FALL`` specifies to trigger on the falling or negative edge of a signal. + """ + return self._slope + + @property + def source(self) -> TriggerAEdgeSource: + """Return the ``TRIGger:A:EDGE:SOUrce`` command. + + Description: + - This command sets or queries the source for the edge trigger. For instruments that + have an Auxiliary Input (such as the MSO58LP), AUXiliary can be selected as trigger + source. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE:SOUrce?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:EDGE:SOUrce value`` + command. + + SCPI Syntax: + ``` + - TRIGger:A:EDGE:SOUrce {CH|CH_D|LINE|AUXiliary} + - TRIGger:A:EDGE:SOUrce? + ``` + + Info: + - ``CH`` specifies an analog channel as the edge trigger source. + - ``CH_D`` specifies a digital channel as the edge trigger source. + - ``LINE`` specifies AC line voltage, and is a valid source when B trigger is inactive. + - ``AUXiliary`` specifies the Auxiliary Input. + """ + return self._source + + +class TriggerA(SCPICmdRead): + """The ``TRIGger:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.edge``: The ``TRIGger:A:EDGE`` command tree. + - ``.level``: The ``TRIGger:A:LEVel`` command tree. + - ``.type``: The ``TRIGger:A:TYPe`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._edge = TriggerAEdge(device, f"{self._cmd_syntax}:EDGE") + self._level = TriggerALevel(device, f"{self._cmd_syntax}:LEVel") + self._type = TriggerAType(device, f"{self._cmd_syntax}:TYPe") + + @property + def edge(self) -> TriggerAEdge: + """Return the ``TRIGger:A:EDGE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:EDGE?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:EDGE?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.coupling``: The ``TRIGger:A:EDGE:COUPling`` command. + - ``.slope``: The ``TRIGger:A:EDGE:SLOpe`` command. + - ``.source``: The ``TRIGger:A:EDGE:SOUrce`` command. + """ + return self._edge + + @property + def level(self) -> TriggerALevel: + """Return the ``TRIGger:A:LEVel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:LEVel?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:LEVel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``TRIGger:A:LEVel:CH`` command. + """ + return self._level + + @property + def type(self) -> TriggerAType: + r"""Return the ``TRIGger:A:TYPe`` command. + + Description: + - This command sets or queries the type of A or B trigger. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A:TYPe?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A:TYPe?`` query and raise + an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TRIGger:A:TYPe value`` command. + + SCPI Syntax: + ``` + - TRIGger:A:TYPe {EDGE|WIDth|TIMEOut|RUNt|WINdow|LOGIc|SETHold|TRANsition|BUS} + - TRIGger:A:TYPe? + ``` + + Info: + - ``EDGE`` is a normal trigger. A trigger event occurs when a signal passes through a + specified voltage level in a specified direction and is controlled by the + ``TRIGger:A:EDGE`` commands. + - ``WIDth`` specifies that the trigger occurs when a pulse with a specified with is + found. + - ``TIMEOut`` specifies that a trigger occurs when a pulse with the specified timeout is + found. + - ``RUNt`` specifies that a trigger occurs when a pulse with the specified parameters is + found. + - ``WINdow`` specifies that a trigger occurs when a signal with the specified window + parameters is found. + - ``LOGIc`` specifies that a trigger occurs when specified conditions are met and is + controlled by the TRIGger:{A\|B}``:LOGIc`` commands. + - ``SETHold`` specifies that a trigger occurs when a signal is found that meets the + setup and hold parameters. + - ``BUS`` specifies that a trigger occurs when a signal is found that meets the + specified bus setup parameters. + """ + return self._type + + +class Trigger(SCPICmdRead): + """The ``TRIGger`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.a``: The ``TRIGger:A`` command tree. + - ``.b``: The ``TRIGger:B`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "TRIGger") -> None: + super().__init__(device, cmd_syntax) + self._a = TriggerA(device, f"{self._cmd_syntax}:A") + self._b = TriggerB(device, f"{self._cmd_syntax}:B") + + @property + def a(self) -> TriggerA: + """Return the ``TRIGger:A`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:A?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:A?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edge``: The ``TRIGger:A:EDGE`` command tree. + - ``.level``: The ``TRIGger:A:LEVel`` command tree. + - ``.type``: The ``TRIGger:A:TYPe`` command. + """ + return self._a + + @property + def b(self) -> TriggerB: + """Return the ``TRIGger:B`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger:B?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger:B?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.edge``: The ``TRIGger:B:EDGE`` command tree. + - ``.level``: The ``TRIGger:B:LEVel`` command tree. + - ``.type``: The ``TRIGger:B:TYPe`` command. + """ + return self._b diff --git a/src/tm_devices/commands/gen_e6lgg1_lpdmsodpomdo/__init__.py b/src/tm_devices/commands/gen_c69az_msotekscopepc/__init__.py similarity index 100% rename from src/tm_devices/commands/gen_e6lgg1_lpdmsodpomdo/__init__.py rename to src/tm_devices/commands/gen_c69az_msotekscopepc/__init__.py diff --git a/src/tm_devices/commands/gen_1zn03_mso/lic.py b/src/tm_devices/commands/gen_c69az_msotekscopepc/lic.py similarity index 99% rename from src/tm_devices/commands/gen_1zn03_mso/lic.py rename to src/tm_devices/commands/gen_c69az_msotekscopepc/lic.py index 3bf0a7a0..149252b1 100644 --- a/src/tm_devices/commands/gen_1zn03_mso/lic.py +++ b/src/tm_devices/commands/gen_c69az_msotekscopepc/lic.py @@ -1,7 +1,7 @@ """The lic commands module. These commands are used in the following models: -MSO2 +MSO2, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_1zn03_mso/license.py b/src/tm_devices/commands/gen_c69az_msotekscopepc/license.py similarity index 99% rename from src/tm_devices/commands/gen_1zn03_mso/license.py rename to src/tm_devices/commands/gen_c69az_msotekscopepc/license.py index 29523f53..ca16b434 100644 --- a/src/tm_devices/commands/gen_1zn03_mso/license.py +++ b/src/tm_devices/commands/gen_c69az_msotekscopepc/license.py @@ -1,7 +1,7 @@ """The license commands module. These commands are used in the following models: -MSO2 +MSO2, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3e9uu_lpdmso/ref.py b/src/tm_devices/commands/gen_e3e9uu_lpdmso/ref.py index ed677b6b..c99673a1 100644 --- a/src/tm_devices/commands/gen_e3e9uu_lpdmso/ref.py +++ b/src/tm_devices/commands/gen_e3e9uu_lpdmso/ref.py @@ -32,42 +32,6 @@ - REF:REF:LABel:YPOS - REF:REF:LABel:YPOS? - REF:REF:SOUrce - - REF_D:LABel:COLor - - REF_D:LABel:COLor? - - REF_D:LABel:FONT:BOLD {ON|OFF|} - - REF_D:LABel:FONT:BOLD? - - REF_D:LABel:FONT:ITALic {ON|OFF|} - - REF_D:LABel:FONT:ITALic? - - REF_D:LABel:FONT:SIZE - - REF_D:LABel:FONT:SIZE? - - REF_D:LABel:FONT:TYPE - - REF_D:LABel:FONT:TYPE? - - REF_D:LABel:FONT:UNDERline {ON|OFF|} - - REF_D:LABel:FONT:UNDERline? - - REF_D:LABel:NAMe - - REF_D:LABel:NAMe? - - REF_D:LABel:XPOS - - REF_D:LABel:XPOS? - - REF_D:LABel:YPOS - - REF_D:LABel:YPOS? - - REF_DALL:LABel:COLor - - REF_DALL:LABel:COLor? - - REF_DALL:LABel:FONT:BOLD {ON|OFF|} - - REF_DALL:LABel:FONT:BOLD? - - REF_DALL:LABel:FONT:ITALic {ON|OFF|} - - REF_DALL:LABel:FONT:ITALic? - - REF_DALL:LABel:FONT:SIZE - - REF_DALL:LABel:FONT:SIZE? - - REF_DALL:LABel:FONT:TYPE - - REF_DALL:LABel:FONT:TYPE? - - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} - - REF_DALL:LABel:FONT:UNDERline? - - REF_DALL:LABel:NAMe - - REF_DALL:LABel:NAMe? - - REF_DALL:LABel:XPOS - - REF_DALL:LABel:XPOS? - - REF_DALL:LABel:YPOS - - REF_DALL:LABel:YPOS? ``` """ @@ -77,7 +41,6 @@ DefaultDictPassKeyToFactory, SCPICmdRead, SCPICmdWrite, - ValidatedDigitalBit, ValidatedDynamicNumberCmd, ) @@ -85,1225 +48,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -class RefItemDallLabelYpos(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:YPOS`` command. - - Description: - - This command sets or queries the y-position of the label of the specified digital group. - The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:YPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:YPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:YPOS value`` command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:YPOS - - REF_DALL:LABel:YPOS? - ``` - - Info: - - ```` is the y-position, in pixels relative to the baseline of the waveform, of the - group. - """ - - -class RefItemDallLabelXpos(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:XPOS`` command. - - Description: - - This command sets or queries the x-position of the label of the specified digital group. - The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:XPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:XPOS value`` command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:XPOS - - REF_DALL:LABel:XPOS? - ``` - - Info: - - ```` is the x-position, in pixels relative to the left edge of the display, of the - group. - """ - - -class RefItemDallLabelName(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:NAMe`` command. - - Description: - - This command sets or queries the label of the specified digital group. The reference is - specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:NAMe?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:NAMe?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:NAMe value`` command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:NAMe - - REF_DALL:LABel:NAMe? - ``` - - Info: - - ```` is the name of the group. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefItemDallLabelFontUnderline(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:FONT:UNDERline`` command. - - Description: - - This command sets or queries the underline state of the specified digital group. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``REF_DALL:LABel:FONT:UNDERline value`` command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} - - REF_DALL:LABel:FONT:UNDERline? - ``` - - Info: - - ``OFF`` argument turns off underline font. - - ``ON`` argument turns on underline font. - - ```` = 0 turns off underline font; any other value turns on underline font. - """ - - -class RefItemDallLabelFontType(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:FONT:TYPE`` command. - - Description: - - This command sets or queries the font type of the specified digital group, such as Arial - or Times New Roman. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:TYPE - - REF_DALL:LABel:FONT:TYPE? - ``` - - Info: - - ```` is the font type. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefItemDallLabelFontSize(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:FONT:SIZE`` command. - - Description: - - This command sets or queries the font size of the specified digital group. The reference - is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:SIZE - - REF_DALL:LABel:FONT:SIZE? - ``` - - Info: - - ```` is the font size. - """ - - -class RefItemDallLabelFontItalic(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:FONT:ITALic`` command. - - Description: - - This command sets or queries the italic state of the specified digital group. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:ITALic {ON|OFF|} - - REF_DALL:LABel:FONT:ITALic? - ``` - - Info: - - ``OFF`` argument turns off italic font. - - ``ON`` argument turns on italic font. - - ```` = 0 turns off italic font; any other value turns on italic font. - """ - - -class RefItemDallLabelFontBold(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:FONT:BOLD`` command. - - Description: - - This command sets or queries the bold state of the specified digital group. The reference - is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:BOLD {ON|OFF|} - - REF_DALL:LABel:FONT:BOLD? - ``` - - Info: - - ``OFF`` argument turns off bold font. - - ``ON`` argument turns on bold font. - - ```` = 0 turns off bold font; any other value turns on bold font. - """ - - -class RefItemDallLabelFont(SCPICmdRead): - """The ``REF_DALL:LABel:FONT`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.bold``: The ``REF_DALL:LABel:FONT:BOLD`` command. - - ``.italic``: The ``REF_DALL:LABel:FONT:ITALic`` command. - - ``.size``: The ``REF_DALL:LABel:FONT:SIZE`` command. - - ``.type``: The ``REF_DALL:LABel:FONT:TYPE`` command. - - ``.underline``: The ``REF_DALL:LABel:FONT:UNDERline`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._bold = RefItemDallLabelFontBold(device, f"{self._cmd_syntax}:BOLD") - self._italic = RefItemDallLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") - self._size = RefItemDallLabelFontSize(device, f"{self._cmd_syntax}:SIZE") - self._type = RefItemDallLabelFontType(device, f"{self._cmd_syntax}:TYPE") - self._underline = RefItemDallLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") - - @property - def bold(self) -> RefItemDallLabelFontBold: - """Return the ``REF_DALL:LABel:FONT:BOLD`` command. - - Description: - - This command sets or queries the bold state of the specified digital group. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:BOLD {ON|OFF|} - - REF_DALL:LABel:FONT:BOLD? - ``` - - Info: - - ``OFF`` argument turns off bold font. - - ``ON`` argument turns on bold font. - - ```` = 0 turns off bold font; any other value turns on bold font. - """ - return self._bold - - @property - def italic(self) -> RefItemDallLabelFontItalic: - """Return the ``REF_DALL:LABel:FONT:ITALic`` command. - - Description: - - This command sets or queries the italic state of the specified digital group. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``REF_DALL:LABel:FONT:ITALic value`` command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:ITALic {ON|OFF|} - - REF_DALL:LABel:FONT:ITALic? - ``` - - Info: - - ``OFF`` argument turns off italic font. - - ``ON`` argument turns on italic font. - - ```` = 0 turns off italic font; any other value turns on italic font. - """ - return self._italic - - @property - def size(self) -> RefItemDallLabelFontSize: - """Return the ``REF_DALL:LABel:FONT:SIZE`` command. - - Description: - - This command sets or queries the font size of the specified digital group. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:SIZE - - REF_DALL:LABel:FONT:SIZE? - ``` - - Info: - - ```` is the font size. - """ - return self._size - - @property - def type(self) -> RefItemDallLabelFontType: - """Return the ``REF_DALL:LABel:FONT:TYPE`` command. - - Description: - - This command sets or queries the font type of the specified digital group, such as - Arial or Times New Roman. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:TYPE - - REF_DALL:LABel:FONT:TYPE? - ``` - - Info: - - ```` is the font type. - """ - return self._type - - @property - def underline(self) -> RefItemDallLabelFontUnderline: - """Return the ``REF_DALL:LABel:FONT:UNDERline`` command. - - Description: - - This command sets or queries the underline state of the specified digital group. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` - query. - - Using the ``.verify(value)`` method will send the - ``REF_DALL:LABel:FONT:UNDERline?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``REF_DALL:LABel:FONT:UNDERline value`` command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} - - REF_DALL:LABel:FONT:UNDERline? - ``` - - Info: - - ``OFF`` argument turns off underline font. - - ``ON`` argument turns on underline font. - - ```` = 0 turns off underline font; any other value turns on underline font. - """ - return self._underline - - -class RefItemDallLabelColor(SCPICmdWrite, SCPICmdRead): - """The ``REF_DALL:LABel:COLor`` command. - - Description: - - This command sets or queries the color of the specified digital group. The reference is - specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:COLor?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:COLor?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:COLor value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:COLor - - REF_DALL:LABel:COLor? - ``` - - Info: - - ```` is the color of the digital group label. To return the color to the default - color, send an empty string as in this example: ``:REF5_DALL:LABEL:COLOR`` ''. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefItemDallLabel(SCPICmdRead): - """The ``REF_DALL:LABel`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.color``: The ``REF_DALL:LABel:COLor`` command. - - ``.font``: The ``REF_DALL:LABel:FONT`` command tree. - - ``.name``: The ``REF_DALL:LABel:NAMe`` command. - - ``.xpos``: The ``REF_DALL:LABel:XPOS`` command. - - ``.ypos``: The ``REF_DALL:LABel:YPOS`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._color = RefItemDallLabelColor(device, f"{self._cmd_syntax}:COLor") - self._font = RefItemDallLabelFont(device, f"{self._cmd_syntax}:FONT") - self._name = RefItemDallLabelName(device, f"{self._cmd_syntax}:NAMe") - self._xpos = RefItemDallLabelXpos(device, f"{self._cmd_syntax}:XPOS") - self._ypos = RefItemDallLabelYpos(device, f"{self._cmd_syntax}:YPOS") - - @property - def color(self) -> RefItemDallLabelColor: - """Return the ``REF_DALL:LABel:COLor`` command. - - Description: - - This command sets or queries the color of the specified digital group. The reference - is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:COLor?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:COLor?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:COLor value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:COLor - - REF_DALL:LABel:COLor? - ``` - - Info: - - ```` is the color of the digital group label. To return the color to the - default color, send an empty string as in this example: ``:REF5_DALL:LABEL:COLOR`` ''. - """ - return self._color - - @property - def font(self) -> RefItemDallLabelFont: - """Return the ``REF_DALL:LABel:FONT`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.bold``: The ``REF_DALL:LABel:FONT:BOLD`` command. - - ``.italic``: The ``REF_DALL:LABel:FONT:ITALic`` command. - - ``.size``: The ``REF_DALL:LABel:FONT:SIZE`` command. - - ``.type``: The ``REF_DALL:LABel:FONT:TYPE`` command. - - ``.underline``: The ``REF_DALL:LABel:FONT:UNDERline`` command. - """ - return self._font - - @property - def name(self) -> RefItemDallLabelName: - """Return the ``REF_DALL:LABel:NAMe`` command. - - Description: - - This command sets or queries the label of the specified digital group. The reference - is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:NAMe?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:NAMe?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:NAMe value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:NAMe - - REF_DALL:LABel:NAMe? - ``` - - Info: - - ```` is the name of the group. - """ - return self._name - - @property - def xpos(self) -> RefItemDallLabelXpos: - """Return the ``REF_DALL:LABel:XPOS`` command. - - Description: - - This command sets or queries the x-position of the label of the specified digital - group. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:XPOS?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:XPOS value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:XPOS - - REF_DALL:LABel:XPOS? - ``` - - Info: - - ```` is the x-position, in pixels relative to the left edge of the display, of - the group. - """ - return self._xpos - - @property - def ypos(self) -> RefItemDallLabelYpos: - """Return the ``REF_DALL:LABel:YPOS`` command. - - Description: - - This command sets or queries the y-position of the label of the specified digital - group. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel:YPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:YPOS?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:YPOS value`` - command. - - SCPI Syntax: - ``` - - REF_DALL:LABel:YPOS - - REF_DALL:LABel:YPOS? - ``` - - Info: - - ```` is the y-position, in pixels relative to the baseline of the waveform, of - the group. - """ - return self._ypos - - -class RefItemDall(SCPICmdRead): - """The ``REF_DALL`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.label``: The ``REF_DALL:LABel`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._label = RefItemDallLabel(device, f"{self._cmd_syntax}:LABel") - - @property - def label(self) -> RefItemDallLabel: - """Return the ``REF_DALL:LABel`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL:LABel?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.color``: The ``REF_DALL:LABel:COLor`` command. - - ``.font``: The ``REF_DALL:LABel:FONT`` command tree. - - ``.name``: The ``REF_DALL:LABel:NAMe`` command. - - ``.xpos``: The ``REF_DALL:LABel:XPOS`` command. - - ``.ypos``: The ``REF_DALL:LABel:YPOS`` command. - """ - return self._label - - -class RefItemDigitalBitLabelYpos(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:YPOS`` command. - - Description: - - This command sets or queries the y-position of the label of the specified digital bit. The - channel is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:YPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:YPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:YPOS value`` command. - - SCPI Syntax: - ``` - - REF_D:LABel:YPOS - - REF_D:LABel:YPOS? - ``` - - Info: - - ```` is the y-position, in pixels relative to the baseline of the waveform, of the - label. - """ - - -class RefItemDigitalBitLabelXpos(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:XPOS`` command. - - Description: - - This command sets or queries the x-position of the label of the specified digital bit. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:XPOS?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:XPOS value`` command. - - SCPI Syntax: - ``` - - REF_D:LABel:XPOS - - REF_D:LABel:XPOS? - ``` - - Info: - - ```` is the x-position, in pixels relative to the left edge of the display, of the - label. - """ - - -class RefItemDigitalBitLabelName(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:NAMe`` command. - - Description: - - Sets or queries the label of the specified digital bit. The channel is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:NAMe?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:NAMe?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:NAMe value`` command. - - SCPI Syntax: - ``` - - REF_D:LABel:NAMe - - REF_D:LABel:NAMe? - ``` - - Info: - - ```` is the label. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:FONT:UNDERline`` command. - - Description: - - This command sets or queries the underline state of the label of the specified digital - bit. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:UNDERline?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:UNDERline?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``REF_D:LABel:FONT:UNDERline value`` command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:UNDERline {ON|OFF|} - - REF_D:LABel:FONT:UNDERline? - ``` - - Info: - - ``OFF`` argument turns off underline font. - - ``ON`` argument turns on underline font. - - ```` = 0 turns off underline font; any other value turns on underline font. - """ - - -class RefItemDigitalBitLabelFontType(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:FONT:TYPE`` command. - - Description: - - This command sets or queries the font type of the label of the specified digital bit, such - as Arial or Times New Roman. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:TYPE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:TYPE value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:TYPE - - REF_D:LABel:FONT:TYPE? - ``` - - Info: - - ```` is the font type of the label. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefItemDigitalBitLabelFontSize(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:FONT:SIZE`` command. - - Description: - - This command sets or queries the font size of the label of the specified digital bit. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:SIZE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:SIZE?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:SIZE value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:SIZE - - REF_D:LABel:FONT:SIZE? - ``` - - Info: - - ```` is the font size. - """ - - -class RefItemDigitalBitLabelFontItalic(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:FONT:ITALic`` command. - - Description: - - This command sets or queries the italic state of the label of the specified digital bit. - The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:ITALic?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:ITALic?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:ITALic value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:ITALic {ON|OFF|} - - REF_D:LABel:FONT:ITALic? - ``` - - Info: - - ``OFF`` argument turns off italic font. - - ``ON`` argument turns on italic font. - - ```` = 0 turns off italic font; any other value turns on italic font. - """ - - -class RefItemDigitalBitLabelFontBold(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:FONT:BOLD`` command. - - Description: - - This command sets or queries the bold state of the label of the specified digital bit. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:BOLD?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:BOLD?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:BOLD value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:BOLD {ON|OFF|} - - REF_D:LABel:FONT:BOLD? - ``` - - Info: - - ``OFF`` argument turns off bold font. - - ``ON`` argument turns on bold font. - - ```` = 0 turns off bold font; any other value turns on bold font. - """ - - -class RefItemDigitalBitLabelFont(SCPICmdRead): - """The ``REF_D:LABel:FONT`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.bold``: The ``REF_D:LABel:FONT:BOLD`` command. - - ``.italic``: The ``REF_D:LABel:FONT:ITALic`` command. - - ``.size``: The ``REF_D:LABel:FONT:SIZE`` command. - - ``.type``: The ``REF_D:LABel:FONT:TYPE`` command. - - ``.underline``: The ``REF_D:LABel:FONT:UNDERline`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._bold = RefItemDigitalBitLabelFontBold(device, f"{self._cmd_syntax}:BOLD") - self._italic = RefItemDigitalBitLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") - self._size = RefItemDigitalBitLabelFontSize(device, f"{self._cmd_syntax}:SIZE") - self._type = RefItemDigitalBitLabelFontType(device, f"{self._cmd_syntax}:TYPE") - self._underline = RefItemDigitalBitLabelFontUnderline( - device, f"{self._cmd_syntax}:UNDERline" - ) - - @property - def bold(self) -> RefItemDigitalBitLabelFontBold: - """Return the ``REF_D:LABel:FONT:BOLD`` command. - - Description: - - This command sets or queries the bold state of the label of the specified digital bit. - The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:BOLD?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:BOLD?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:BOLD value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:BOLD {ON|OFF|} - - REF_D:LABel:FONT:BOLD? - ``` - - Info: - - ``OFF`` argument turns off bold font. - - ``ON`` argument turns on bold font. - - ```` = 0 turns off bold font; any other value turns on bold font. - """ - return self._bold - - @property - def italic(self) -> RefItemDigitalBitLabelFontItalic: - """Return the ``REF_D:LABel:FONT:ITALic`` command. - - Description: - - This command sets or queries the italic state of the label of the specified digital - bit. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:ITALic?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:ITALic?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``REF_D:LABel:FONT:ITALic value`` command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:ITALic {ON|OFF|} - - REF_D:LABel:FONT:ITALic? - ``` - - Info: - - ``OFF`` argument turns off italic font. - - ``ON`` argument turns on italic font. - - ```` = 0 turns off italic font; any other value turns on italic font. - """ - return self._italic - - @property - def size(self) -> RefItemDigitalBitLabelFontSize: - """Return the ``REF_D:LABel:FONT:SIZE`` command. - - Description: - - This command sets or queries the font size of the label of the specified digital bit. - The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:SIZE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:SIZE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:SIZE value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:SIZE - - REF_D:LABel:FONT:SIZE? - ``` - - Info: - - ```` is the font size. - """ - return self._size - - @property - def type(self) -> RefItemDigitalBitLabelFontType: - """Return the ``REF_D:LABel:FONT:TYPE`` command. - - Description: - - This command sets or queries the font type of the label of the specified digital bit, - such as Arial or Times New Roman. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:TYPE?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:TYPE?`` - query and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:TYPE value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:TYPE - - REF_D:LABel:FONT:TYPE? - ``` - - Info: - - ```` is the font type of the label. - """ - return self._type - - @property - def underline(self) -> RefItemDigitalBitLabelFontUnderline: - """Return the ``REF_D:LABel:FONT:UNDERline`` command. - - Description: - - This command sets or queries the underline state of the label of the specified digital - bit. The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:UNDERline?`` - query. - - Using the ``.verify(value)`` method will send the - ``REF_D:LABel:FONT:UNDERline?`` query and raise an AssertionError if the - returned value does not match ``value``. - - Using the ``.write(value)`` method will send the - ``REF_D:LABel:FONT:UNDERline value`` command. - - SCPI Syntax: - ``` - - REF_D:LABel:FONT:UNDERline {ON|OFF|} - - REF_D:LABel:FONT:UNDERline? - ``` - - Info: - - ``OFF`` argument turns off underline font. - - ``ON`` argument turns on underline font. - - ```` = 0 turns off underline font; any other value turns on underline font. - """ - return self._underline - - -class RefItemDigitalBitLabelColor(SCPICmdWrite, SCPICmdRead): - """The ``REF_D:LABel:COLor`` command. - - Description: - - This command sets or queries the color of the label of the specified digital bit. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:COLor?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:COLor?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:COLor value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:COLor - - REF_D:LABel:COLor? - ``` - - Info: - - ```` is the label color. To return the color to the default color, send an empty - string as in this example: ``:REF5_D1:LABEL:COLOR`` ''. - """ - - _WRAP_ARG_WITH_QUOTES = True - - -class RefItemDigitalBitLabel(SCPICmdRead): - """The ``REF_D:LABel`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel?`` query and raise - an AssertionError if the returned value does not match ``value``. - - Properties: - - ``.color``: The ``REF_D:LABel:COLor`` command. - - ``.font``: The ``REF_D:LABel:FONT`` command tree. - - ``.name``: The ``REF_D:LABel:NAMe`` command. - - ``.xpos``: The ``REF_D:LABel:XPOS`` command. - - ``.ypos``: The ``REF_D:LABel:YPOS`` command. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._color = RefItemDigitalBitLabelColor(device, f"{self._cmd_syntax}:COLor") - self._font = RefItemDigitalBitLabelFont(device, f"{self._cmd_syntax}:FONT") - self._name = RefItemDigitalBitLabelName(device, f"{self._cmd_syntax}:NAMe") - self._xpos = RefItemDigitalBitLabelXpos(device, f"{self._cmd_syntax}:XPOS") - self._ypos = RefItemDigitalBitLabelYpos(device, f"{self._cmd_syntax}:YPOS") - - @property - def color(self) -> RefItemDigitalBitLabelColor: - """Return the ``REF_D:LABel:COLor`` command. - - Description: - - This command sets or queries the color of the label of the specified digital bit. The - reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:COLor?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:COLor?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:COLor value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:COLor - - REF_D:LABel:COLor? - ``` - - Info: - - ```` is the label color. To return the color to the default color, send an - empty string as in this example: ``:REF5_D1:LABEL:COLOR`` ''. - """ - return self._color - - @property - def font(self) -> RefItemDigitalBitLabelFont: - """Return the ``REF_D:LABel:FONT`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:FONT?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.bold``: The ``REF_D:LABel:FONT:BOLD`` command. - - ``.italic``: The ``REF_D:LABel:FONT:ITALic`` command. - - ``.size``: The ``REF_D:LABel:FONT:SIZE`` command. - - ``.type``: The ``REF_D:LABel:FONT:TYPE`` command. - - ``.underline``: The ``REF_D:LABel:FONT:UNDERline`` command. - """ - return self._font - - @property - def name(self) -> RefItemDigitalBitLabelName: - """Return the ``REF_D:LABel:NAMe`` command. - - Description: - - Sets or queries the label of the specified digital bit. The channel is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:NAMe?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:NAMe?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:NAMe value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:NAMe - - REF_D:LABel:NAMe? - ``` - - Info: - - ```` is the label. - """ - return self._name - - @property - def xpos(self) -> RefItemDigitalBitLabelXpos: - """Return the ``REF_D:LABel:XPOS`` command. - - Description: - - This command sets or queries the x-position of the label of the specified digital bit. - The reference is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:XPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:XPOS?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:XPOS value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:XPOS - - REF_D:LABel:XPOS? - ``` - - Info: - - ```` is the x-position, in pixels relative to the left edge of the display, of - the label. - """ - return self._xpos - - @property - def ypos(self) -> RefItemDigitalBitLabelYpos: - """Return the ``REF_D:LABel:YPOS`` command. - - Description: - - This command sets or queries the y-position of the label of the specified digital bit. - The channel is specified by x. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel:YPOS?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel:YPOS?`` query - and raise an AssertionError if the returned value does not match ``value``. - - Using the ``.write(value)`` method will send the ``REF_D:LABel:YPOS value`` - command. - - SCPI Syntax: - ``` - - REF_D:LABel:YPOS - - REF_D:LABel:YPOS? - ``` - - Info: - - ```` is the y-position, in pixels relative to the baseline of the waveform, of - the label. - """ - return self._ypos - - -class RefItemDigitalBit(ValidatedDigitalBit, SCPICmdRead): - """The ``REF_D`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_D?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.label``: The ``REF_D:LABel`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: - super().__init__(device, cmd_syntax) - self._label = RefItemDigitalBitLabel(device, f"{self._cmd_syntax}:LABel") - - @property - def label(self) -> RefItemDigitalBitLabel: - """Return the ``REF_D:LABel`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_D:LABel?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D:LABel?`` query and - raise an AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.color``: The ``REF_D:LABel:COLor`` command. - - ``.font``: The ``REF_D:LABel:FONT`` command tree. - - ``.name``: The ``REF_D:LABel:NAMe`` command. - - ``.xpos``: The ``REF_D:LABel:XPOS`` command. - - ``.ypos``: The ``REF_D:LABel:YPOS`` command. - """ - return self._label - - -class RefItem(ValidatedDynamicNumberCmd, SCPICmdRead): - """The ``REF`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF?`` query. - - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Properties: - - ``.d``: The ``REF_D`` command tree. - - ``.dall``: The ``REF_DALL`` command tree. - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REF") -> None: - super().__init__(device, cmd_syntax) - self._d: Dict[int, RefItemDigitalBit] = DefaultDictPassKeyToFactory( - lambda x: RefItemDigitalBit(device, f"{self._cmd_syntax}_D{x}") - ) - self._dall = RefItemDall(device, f"{self._cmd_syntax}_DALL") - - @property - def d(self) -> Dict[int, RefItemDigitalBit]: - """Return the ``REF_D`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_D?`` query. - - Using the ``.verify(value)`` method will send the ``REF_D?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.label``: The ``REF_D:LABel`` command tree. - """ - return self._d - - @property - def dall(self) -> RefItemDall: - """Return the ``REF_DALL`` command tree. - - Usage: - - Using the ``.query()`` method will send the ``REF_DALL?`` query. - - Using the ``.verify(value)`` method will send the ``REF_DALL?`` query and raise an - AssertionError if the returned value does not match ``value``. - - Sub-properties: - - ``.label``: The ``REF_DALL:LABel`` command tree. - """ - return self._dall - - class RefRefItemSource(SCPICmdWrite): """The ``REF:REF:SOUrce`` command. diff --git a/src/tm_devices/commands/gen_fteabn_lpdmsomdodpoafgawgdsa/__init__.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/__init__.py similarity index 100% rename from src/tm_devices/commands/gen_fteabn_lpdmsomdodpoafgawgdsa/__init__.py rename to src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/__init__.py diff --git a/src/tm_devices/commands/gen_e3e9uu_lpdmso/data.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/data.py similarity index 99% rename from src/tm_devices/commands/gen_e3e9uu_lpdmso/data.py rename to src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/data.py index bf963d1a..cdeb1298 100644 --- a/src/tm_devices/commands/gen_e3e9uu_lpdmso/data.py +++ b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/data.py @@ -1,7 +1,7 @@ """The data commands module. These commands are used in the following models: -LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3e9uu_lpdmso/eyemask.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/eyemask.py similarity index 99% rename from src/tm_devices/commands/gen_e3e9uu_lpdmso/eyemask.py rename to src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/eyemask.py index 7eb9331e..72bd66f0 100644 --- a/src/tm_devices/commands/gen_e3e9uu_lpdmso/eyemask.py +++ b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/eyemask.py @@ -1,7 +1,7 @@ """The eyemask commands module. These commands are used in the following models: -LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3e9uu_lpdmso/matharbflt.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/matharbflt.py similarity index 98% rename from src/tm_devices/commands/gen_e3e9uu_lpdmso/matharbflt.py rename to src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/matharbflt.py index fdd7dd6a..47da0f48 100644 --- a/src/tm_devices/commands/gen_e3e9uu_lpdmso/matharbflt.py +++ b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/matharbflt.py @@ -1,7 +1,7 @@ """The matharbflt commands module. These commands are used in the following models: -LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3e9uu_lpdmso/peakstable.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/peakstable.py similarity index 99% rename from src/tm_devices/commands/gen_e3e9uu_lpdmso/peakstable.py rename to src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/peakstable.py index 2d6ebd8e..37b9e78d 100644 --- a/src/tm_devices/commands/gen_e3e9uu_lpdmso/peakstable.py +++ b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/peakstable.py @@ -1,7 +1,7 @@ """The peakstable commands module. These commands are used in the following models: -LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/ref.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/ref.py new file mode 100644 index 00000000..b2eb2ef3 --- /dev/null +++ b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/ref.py @@ -0,0 +1,1281 @@ +"""The ref commands module. + +These commands are used in the following models: +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - REF_D:LABel:COLor + - REF_D:LABel:COLor? + - REF_D:LABel:FONT:BOLD {ON|OFF|} + - REF_D:LABel:FONT:BOLD? + - REF_D:LABel:FONT:ITALic {ON|OFF|} + - REF_D:LABel:FONT:ITALic? + - REF_D:LABel:FONT:SIZE + - REF_D:LABel:FONT:SIZE? + - REF_D:LABel:FONT:TYPE + - REF_D:LABel:FONT:TYPE? + - REF_D:LABel:FONT:UNDERline {ON|OFF|} + - REF_D:LABel:FONT:UNDERline? + - REF_D:LABel:NAMe + - REF_D:LABel:NAMe? + - REF_D:LABel:XPOS + - REF_D:LABel:XPOS? + - REF_D:LABel:YPOS + - REF_D:LABel:YPOS? + - REF_DALL:LABel:COLor + - REF_DALL:LABel:COLor? + - REF_DALL:LABel:FONT:BOLD {ON|OFF|} + - REF_DALL:LABel:FONT:BOLD? + - REF_DALL:LABel:FONT:ITALic {ON|OFF|} + - REF_DALL:LABel:FONT:ITALic? + - REF_DALL:LABel:FONT:SIZE + - REF_DALL:LABel:FONT:SIZE? + - REF_DALL:LABel:FONT:TYPE + - REF_DALL:LABel:FONT:TYPE? + - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} + - REF_DALL:LABel:FONT:UNDERline? + - REF_DALL:LABel:NAMe + - REF_DALL:LABel:NAMe? + - REF_DALL:LABel:XPOS + - REF_DALL:LABel:XPOS? + - REF_DALL:LABel:YPOS + - REF_DALL:LABel:YPOS? + ``` +""" + +from typing import Dict, Optional, TYPE_CHECKING + +from ..helpers import ( + DefaultDictPassKeyToFactory, + SCPICmdRead, + SCPICmdWrite, + ValidatedDigitalBit, + ValidatedDynamicNumberCmd, +) + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class RefItemDallLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the label of the specified digital group. + The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:YPOS value`` command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:YPOS + - REF_DALL:LABel:YPOS? + ``` + + Info: + - ```` is the y-position, in pixels relative to the baseline of the waveform, of the + group. + """ + + +class RefItemDallLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the label of the specified digital group. + The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:XPOS value`` command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:XPOS + - REF_DALL:LABel:XPOS? + ``` + + Info: + - ```` is the x-position, in pixels relative to the left edge of the display, of the + group. + """ + + +class RefItemDallLabelName(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:NAMe`` command. + + Description: + - This command sets or queries the label of the specified digital group. The reference is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:NAMe value`` command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:NAMe + - REF_DALL:LABel:NAMe? + ``` + + Info: + - ```` is the name of the group. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefItemDallLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified digital group. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF_DALL:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} + - REF_DALL:LABel:FONT:UNDERline? + ``` + + Info: + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + + +class RefItemDallLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified digital group, such as Arial + or Times New Roman. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:TYPE + - REF_DALL:LABel:FONT:TYPE? + ``` + + Info: + - ```` is the font type. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefItemDallLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified digital group. The reference + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:SIZE + - REF_DALL:LABel:FONT:SIZE? + ``` + + Info: + - ```` is the font size. + """ + + +class RefItemDallLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified digital group. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:ITALic {ON|OFF|} + - REF_DALL:LABel:FONT:ITALic? + ``` + + Info: + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + + +class RefItemDallLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified digital group. The reference + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:BOLD {ON|OFF|} + - REF_DALL:LABel:FONT:BOLD? + ``` + + Info: + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + + +class RefItemDallLabelFont(SCPICmdRead): + """The ``REF_DALL:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``REF_DALL:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF_DALL:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF_DALL:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF_DALL:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF_DALL:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = RefItemDallLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = RefItemDallLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = RefItemDallLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = RefItemDallLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = RefItemDallLabelFontUnderline(device, f"{self._cmd_syntax}:UNDERline") + + @property + def bold(self) -> RefItemDallLabelFontBold: + """Return the ``REF_DALL:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the specified digital group. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:BOLD {ON|OFF|} + - REF_DALL:LABel:FONT:BOLD? + ``` + + Info: + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + return self._bold + + @property + def italic(self) -> RefItemDallLabelFontItalic: + """Return the ``REF_DALL:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the specified digital group. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF_DALL:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:ITALic {ON|OFF|} + - REF_DALL:LABel:FONT:ITALic? + ``` + + Info: + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + return self._italic + + @property + def size(self) -> RefItemDallLabelFontSize: + """Return the ``REF_DALL:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the specified digital group. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:SIZE + - REF_DALL:LABel:FONT:SIZE? + ``` + + Info: + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> RefItemDallLabelFontType: + """Return the ``REF_DALL:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the specified digital group, such as + Arial or Times New Roman. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:TYPE + - REF_DALL:LABel:FONT:TYPE? + ``` + + Info: + - ```` is the font type. + """ + return self._type + + @property + def underline(self) -> RefItemDallLabelFontUnderline: + """Return the ``REF_DALL:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the specified digital group. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the + ``REF_DALL:LABel:FONT:UNDERline?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF_DALL:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:FONT:UNDERline {ON|OFF|} + - REF_DALL:LABel:FONT:UNDERline? + ``` + + Info: + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + return self._underline + + +class RefItemDallLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``REF_DALL:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified digital group. The reference is + specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:COLor + - REF_DALL:LABel:COLor? + ``` + + Info: + - ```` is the color of the digital group label. To return the color to the default + color, send an empty string as in this example: ``:REF5_DALL:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefItemDallLabel(SCPICmdRead): + """The ``REF_DALL:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``REF_DALL:LABel:COLor`` command. + - ``.font``: The ``REF_DALL:LABel:FONT`` command tree. + - ``.name``: The ``REF_DALL:LABel:NAMe`` command. + - ``.xpos``: The ``REF_DALL:LABel:XPOS`` command. + - ``.ypos``: The ``REF_DALL:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = RefItemDallLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = RefItemDallLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = RefItemDallLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = RefItemDallLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = RefItemDallLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> RefItemDallLabelColor: + """Return the ``REF_DALL:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the specified digital group. The reference + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:COLor + - REF_DALL:LABel:COLor? + ``` + + Info: + - ```` is the color of the digital group label. To return the color to the + default color, send an empty string as in this example: ``:REF5_DALL:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> RefItemDallLabelFont: + """Return the ``REF_DALL:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``REF_DALL:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF_DALL:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF_DALL:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF_DALL:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF_DALL:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> RefItemDallLabelName: + """Return the ``REF_DALL:LABel:NAMe`` command. + + Description: + - This command sets or queries the label of the specified digital group. The reference + is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:NAMe + - REF_DALL:LABel:NAMe? + ``` + + Info: + - ```` is the name of the group. + """ + return self._name + + @property + def xpos(self) -> RefItemDallLabelXpos: + """Return the ``REF_DALL:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the label of the specified digital + group. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:XPOS + - REF_DALL:LABel:XPOS? + ``` + + Info: + - ```` is the x-position, in pixels relative to the left edge of the display, of + the group. + """ + return self._xpos + + @property + def ypos(self) -> RefItemDallLabelYpos: + """Return the ``REF_DALL:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the label of the specified digital + group. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_DALL:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - REF_DALL:LABel:YPOS + - REF_DALL:LABel:YPOS? + ``` + + Info: + - ```` is the y-position, in pixels relative to the baseline of the waveform, of + the group. + """ + return self._ypos + + +class RefItemDall(SCPICmdRead): + """The ``REF_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.label``: The ``REF_DALL:LABel`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._label = RefItemDallLabel(device, f"{self._cmd_syntax}:LABel") + + @property + def label(self) -> RefItemDallLabel: + """Return the ``REF_DALL:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``REF_DALL:LABel:COLor`` command. + - ``.font``: The ``REF_DALL:LABel:FONT`` command tree. + - ``.name``: The ``REF_DALL:LABel:NAMe`` command. + - ``.xpos``: The ``REF_DALL:LABel:XPOS`` command. + - ``.ypos``: The ``REF_DALL:LABel:YPOS`` command. + """ + return self._label + + +class RefItemDigitalBitLabelYpos(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the label of the specified digital bit. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:YPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:YPOS value`` command. + + SCPI Syntax: + ``` + - REF_D:LABel:YPOS + - REF_D:LABel:YPOS? + ``` + + Info: + - ```` is the y-position, in pixels relative to the baseline of the waveform, of the + label. + """ + + +class RefItemDigitalBitLabelXpos(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the label of the specified digital bit. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:XPOS?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:XPOS value`` command. + + SCPI Syntax: + ``` + - REF_D:LABel:XPOS + - REF_D:LABel:XPOS? + ``` + + Info: + - ```` is the x-position, in pixels relative to the left edge of the display, of the + label. + """ + + +class RefItemDigitalBitLabelName(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:NAMe`` command. + + Description: + - Sets or queries the label of the specified digital bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:NAMe?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:NAMe value`` command. + + SCPI Syntax: + ``` + - REF_D:LABel:NAMe + - REF_D:LABel:NAMe? + ``` + + Info: + - ```` is the label. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefItemDigitalBitLabelFontUnderline(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the label of the specified digital + bit. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:UNDERline?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:UNDERline?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF_D:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:UNDERline {ON|OFF|} + - REF_D:LABel:FONT:UNDERline? + ``` + + Info: + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + + +class RefItemDigitalBitLabelFontType(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the label of the specified digital bit, such + as Arial or Times New Roman. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:TYPE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:TYPE + - REF_D:LABel:FONT:TYPE? + ``` + + Info: + - ```` is the font type of the label. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefItemDigitalBitLabelFontSize(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the label of the specified digital bit. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:SIZE?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:SIZE + - REF_D:LABel:FONT:SIZE? + ``` + + Info: + - ```` is the font size. + """ + + +class RefItemDigitalBitLabelFontItalic(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the label of the specified digital bit. + The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:ITALic?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:ITALic value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:ITALic {ON|OFF|} + - REF_D:LABel:FONT:ITALic? + ``` + + Info: + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + + +class RefItemDigitalBitLabelFontBold(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the label of the specified digital bit. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:BOLD?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:BOLD {ON|OFF|} + - REF_D:LABel:FONT:BOLD? + ``` + + Info: + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + + +class RefItemDigitalBitLabelFont(SCPICmdRead): + """The ``REF_D:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.bold``: The ``REF_D:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF_D:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF_D:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF_D:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF_D:LABel:FONT:UNDERline`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._bold = RefItemDigitalBitLabelFontBold(device, f"{self._cmd_syntax}:BOLD") + self._italic = RefItemDigitalBitLabelFontItalic(device, f"{self._cmd_syntax}:ITALic") + self._size = RefItemDigitalBitLabelFontSize(device, f"{self._cmd_syntax}:SIZE") + self._type = RefItemDigitalBitLabelFontType(device, f"{self._cmd_syntax}:TYPE") + self._underline = RefItemDigitalBitLabelFontUnderline( + device, f"{self._cmd_syntax}:UNDERline" + ) + + @property + def bold(self) -> RefItemDigitalBitLabelFontBold: + """Return the ``REF_D:LABel:FONT:BOLD`` command. + + Description: + - This command sets or queries the bold state of the label of the specified digital bit. + The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:BOLD?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:BOLD?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:BOLD value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:BOLD {ON|OFF|} + - REF_D:LABel:FONT:BOLD? + ``` + + Info: + - ``OFF`` argument turns off bold font. + - ``ON`` argument turns on bold font. + - ```` = 0 turns off bold font; any other value turns on bold font. + """ + return self._bold + + @property + def italic(self) -> RefItemDigitalBitLabelFontItalic: + """Return the ``REF_D:LABel:FONT:ITALic`` command. + + Description: + - This command sets or queries the italic state of the label of the specified digital + bit. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:ITALic?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:ITALic?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF_D:LABel:FONT:ITALic value`` command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:ITALic {ON|OFF|} + - REF_D:LABel:FONT:ITALic? + ``` + + Info: + - ``OFF`` argument turns off italic font. + - ``ON`` argument turns on italic font. + - ```` = 0 turns off italic font; any other value turns on italic font. + """ + return self._italic + + @property + def size(self) -> RefItemDigitalBitLabelFontSize: + """Return the ``REF_D:LABel:FONT:SIZE`` command. + + Description: + - This command sets or queries the font size of the label of the specified digital bit. + The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:SIZE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:SIZE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:SIZE value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:SIZE + - REF_D:LABel:FONT:SIZE? + ``` + + Info: + - ```` is the font size. + """ + return self._size + + @property + def type(self) -> RefItemDigitalBitLabelFontType: + """Return the ``REF_D:LABel:FONT:TYPE`` command. + + Description: + - This command sets or queries the font type of the label of the specified digital bit, + such as Arial or Times New Roman. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:TYPE?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT:TYPE?`` + query and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:FONT:TYPE value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:TYPE + - REF_D:LABel:FONT:TYPE? + ``` + + Info: + - ```` is the font type of the label. + """ + return self._type + + @property + def underline(self) -> RefItemDigitalBitLabelFontUnderline: + """Return the ``REF_D:LABel:FONT:UNDERline`` command. + + Description: + - This command sets or queries the underline state of the label of the specified digital + bit. The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT:UNDERline?`` + query. + - Using the ``.verify(value)`` method will send the + ``REF_D:LABel:FONT:UNDERline?`` query and raise an AssertionError if the + returned value does not match ``value``. + - Using the ``.write(value)`` method will send the + ``REF_D:LABel:FONT:UNDERline value`` command. + + SCPI Syntax: + ``` + - REF_D:LABel:FONT:UNDERline {ON|OFF|} + - REF_D:LABel:FONT:UNDERline? + ``` + + Info: + - ``OFF`` argument turns off underline font. + - ``ON`` argument turns on underline font. + - ```` = 0 turns off underline font; any other value turns on underline font. + """ + return self._underline + + +class RefItemDigitalBitLabelColor(SCPICmdWrite, SCPICmdRead): + """The ``REF_D:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the label of the specified digital bit. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:COLor?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:COLor + - REF_D:LABel:COLor? + ``` + + Info: + - ```` is the label color. To return the color to the default color, send an empty + string as in this example: ``:REF5_D1:LABEL:COLOR`` ''. + """ + + _WRAP_ARG_WITH_QUOTES = True + + +class RefItemDigitalBitLabel(SCPICmdRead): + """The ``REF_D:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Properties: + - ``.color``: The ``REF_D:LABel:COLor`` command. + - ``.font``: The ``REF_D:LABel:FONT`` command tree. + - ``.name``: The ``REF_D:LABel:NAMe`` command. + - ``.xpos``: The ``REF_D:LABel:XPOS`` command. + - ``.ypos``: The ``REF_D:LABel:YPOS`` command. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._color = RefItemDigitalBitLabelColor(device, f"{self._cmd_syntax}:COLor") + self._font = RefItemDigitalBitLabelFont(device, f"{self._cmd_syntax}:FONT") + self._name = RefItemDigitalBitLabelName(device, f"{self._cmd_syntax}:NAMe") + self._xpos = RefItemDigitalBitLabelXpos(device, f"{self._cmd_syntax}:XPOS") + self._ypos = RefItemDigitalBitLabelYpos(device, f"{self._cmd_syntax}:YPOS") + + @property + def color(self) -> RefItemDigitalBitLabelColor: + """Return the ``REF_D:LABel:COLor`` command. + + Description: + - This command sets or queries the color of the label of the specified digital bit. The + reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:COLor?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:COLor?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:COLor value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:COLor + - REF_D:LABel:COLor? + ``` + + Info: + - ```` is the label color. To return the color to the default color, send an + empty string as in this example: ``:REF5_D1:LABEL:COLOR`` ''. + """ + return self._color + + @property + def font(self) -> RefItemDigitalBitLabelFont: + """Return the ``REF_D:LABel:FONT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:FONT?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:FONT?`` query + and raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.bold``: The ``REF_D:LABel:FONT:BOLD`` command. + - ``.italic``: The ``REF_D:LABel:FONT:ITALic`` command. + - ``.size``: The ``REF_D:LABel:FONT:SIZE`` command. + - ``.type``: The ``REF_D:LABel:FONT:TYPE`` command. + - ``.underline``: The ``REF_D:LABel:FONT:UNDERline`` command. + """ + return self._font + + @property + def name(self) -> RefItemDigitalBitLabelName: + """Return the ``REF_D:LABel:NAMe`` command. + + Description: + - Sets or queries the label of the specified digital bit. The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:NAMe?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:NAMe?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:NAMe value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:NAMe + - REF_D:LABel:NAMe? + ``` + + Info: + - ```` is the label. + """ + return self._name + + @property + def xpos(self) -> RefItemDigitalBitLabelXpos: + """Return the ``REF_D:LABel:XPOS`` command. + + Description: + - This command sets or queries the x-position of the label of the specified digital bit. + The reference is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:XPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:XPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:XPOS value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:XPOS + - REF_D:LABel:XPOS? + ``` + + Info: + - ```` is the x-position, in pixels relative to the left edge of the display, of + the label. + """ + return self._xpos + + @property + def ypos(self) -> RefItemDigitalBitLabelYpos: + """Return the ``REF_D:LABel:YPOS`` command. + + Description: + - This command sets or queries the y-position of the label of the specified digital bit. + The channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel:YPOS?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel:YPOS?`` query + and raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``REF_D:LABel:YPOS value`` + command. + + SCPI Syntax: + ``` + - REF_D:LABel:YPOS + - REF_D:LABel:YPOS? + ``` + + Info: + - ```` is the y-position, in pixels relative to the baseline of the waveform, of + the label. + """ + return self._ypos + + +class RefItemDigitalBit(ValidatedDigitalBit, SCPICmdRead): + """The ``REF_D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_D?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.label``: The ``REF_D:LABel`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"], cmd_syntax: str) -> None: + super().__init__(device, cmd_syntax) + self._label = RefItemDigitalBitLabel(device, f"{self._cmd_syntax}:LABel") + + @property + def label(self) -> RefItemDigitalBitLabel: + """Return the ``REF_D:LABel`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_D:LABel?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D:LABel?`` query and + raise an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.color``: The ``REF_D:LABel:COLor`` command. + - ``.font``: The ``REF_D:LABel:FONT`` command tree. + - ``.name``: The ``REF_D:LABel:NAMe`` command. + - ``.xpos``: The ``REF_D:LABel:XPOS`` command. + - ``.ypos``: The ``REF_D:LABel:YPOS`` command. + """ + return self._label + + +class RefItem(ValidatedDynamicNumberCmd, SCPICmdRead): + """The ``REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Properties: + - ``.d``: The ``REF_D`` command tree. + - ``.dall``: The ``REF_DALL`` command tree. + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "REF") -> None: + super().__init__(device, cmd_syntax) + self._d: Dict[int, RefItemDigitalBit] = DefaultDictPassKeyToFactory( + lambda x: RefItemDigitalBit(device, f"{self._cmd_syntax}_D{x}") + ) + self._dall = RefItemDall(device, f"{self._cmd_syntax}_DALL") + + @property + def d(self) -> Dict[int, RefItemDigitalBit]: + """Return the ``REF_D`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_D?`` query. + - Using the ``.verify(value)`` method will send the ``REF_D?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.label``: The ``REF_D:LABel`` command tree. + """ + return self._d + + @property + def dall(self) -> RefItemDall: + """Return the ``REF_DALL`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF_DALL?`` query. + - Using the ``.verify(value)`` method will send the ``REF_DALL?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.label``: The ``REF_DALL:LABel`` command tree. + """ + return self._dall diff --git a/src/tm_devices/commands/gen_e3e9uu_lpdmso/visual.py b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/visual.py similarity index 99% rename from src/tm_devices/commands/gen_e3e9uu_lpdmso/visual.py rename to src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/visual.py index cd18304b..7d5d95b5 100644 --- a/src/tm_devices/commands/gen_e3e9uu_lpdmso/visual.py +++ b/src/tm_devices/commands/gen_e44yni_lpdmsotekscopepc/visual.py @@ -2,7 +2,7 @@ """The visual commands module. These commands are used in the following models: -LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fug7nl_lpdmsodpomdoawgdsa/__init__.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/__init__.py similarity index 100% rename from src/tm_devices/commands/gen_fug7nl_lpdmsodpomdoawgdsa/__init__.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/__init__.py diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/autosavepitimeout.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/autosavepitimeout.py similarity index 95% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/autosavepitimeout.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/autosavepitimeout.py index d693053c..e955db92 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/autosavepitimeout.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/autosavepitimeout.py @@ -1,7 +1,7 @@ """The autosavepitimeout commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/autosaveuitimeout.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/autosaveuitimeout.py similarity index 95% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/autosaveuitimeout.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/autosaveuitimeout.py index eef72093..6b577f95 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/autosaveuitimeout.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/autosaveuitimeout.py @@ -1,7 +1,7 @@ """The autosaveuitimeout commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/bustable.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/bustable.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/bustable.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/bustable.py index 6c82de8e..53a8e1ff 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/bustable.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/bustable.py @@ -1,7 +1,7 @@ """The bustable commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/configuration.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/configuration.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/configuration.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/configuration.py index d7809659..df2d1389 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/configuration.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/configuration.py @@ -1,7 +1,7 @@ """The configuration commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/curve.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/curve.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/curve.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/curve.py index d640011c..b3bafbf2 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/curve.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/curve.py @@ -1,7 +1,7 @@ """The curve commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/curvestream.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/curvestream.py similarity index 97% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/curvestream.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/curvestream.py index 03287b4e..33504bb6 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/curvestream.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/curvestream.py @@ -1,7 +1,7 @@ """The curvestream commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/customtable.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/customtable.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/customtable.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/customtable.py index b2029b53..eac97db7 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/customtable.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/customtable.py @@ -1,7 +1,7 @@ """The customtable commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/date.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/date.py similarity index 93% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/date.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/date.py index bd69255f..3368d1d1 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/date.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/date.py @@ -1,7 +1,7 @@ """The date commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/filesystem.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/filesystem.py similarity index 99% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/filesystem.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/filesystem.py index 95d0cffb..f15c8025 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/filesystem.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/filesystem.py @@ -1,7 +1,7 @@ """The filesystem commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/mainwindow.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/mainwindow.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/mainwindow.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/mainwindow.py index 5101d0c4..a02a53e5 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/mainwindow.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/mainwindow.py @@ -1,7 +1,7 @@ """The mainwindow commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/meastable.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/meastable.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/meastable.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/meastable.py index 43b7e763..d97c6dbb 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/meastable.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/meastable.py @@ -1,7 +1,7 @@ """The meastable commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/recall.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/recall.py similarity index 99% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/recall.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/recall.py index fa0a69f3..1d5cab11 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/recall.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/recall.py @@ -1,7 +1,7 @@ """The recall commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/socketserver.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/socketserver.py similarity index 99% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/socketserver.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/socketserver.py index c88ce0f4..07612cdc 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/socketserver.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/socketserver.py @@ -1,7 +1,7 @@ """The socketserver commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/time.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/time.py similarity index 98% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/time.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/time.py index 59a80c7c..2376ca76 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/time.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/time.py @@ -1,7 +1,7 @@ """The time commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/undo.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/undo.py similarity index 92% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/undo.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/undo.py index a768d241..2219343d 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/undo.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/undo.py @@ -1,7 +1,7 @@ """The undo commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/vertical.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/vertical.py similarity index 99% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/vertical.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/vertical.py index d3bc7c99..2abe5448 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/vertical.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/vertical.py @@ -1,7 +1,7 @@ """The vertical commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e3h2zs_lpdmso/wfmoutpre.py b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/wfmoutpre.py similarity index 99% rename from src/tm_devices/commands/gen_e3h2zs_lpdmso/wfmoutpre.py rename to src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/wfmoutpre.py index 11f6bd9b..b8fc85bd 100644 --- a/src/tm_devices/commands/gen_e3h2zs_lpdmso/wfmoutpre.py +++ b/src/tm_devices/commands/gen_e47rsg_lpdmsotekscopepc/wfmoutpre.py @@ -1,7 +1,7 @@ """The wfmoutpre commands module. These commands are used in the following models: -LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +LPD6, MSO2, MSO4, MSO4B, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/__init__.py b/src/tm_devices/commands/gen_e6bmgw_lpdmsotekscopepcdpomdo/__init__.py similarity index 100% rename from src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/__init__.py rename to src/tm_devices/commands/gen_e6bmgw_lpdmsotekscopepcdpomdo/__init__.py diff --git a/src/tm_devices/commands/gen_e6lgg1_lpdmsodpomdo/totaluptime.py b/src/tm_devices/commands/gen_e6bmgw_lpdmsotekscopepcdpomdo/totaluptime.py similarity index 94% rename from src/tm_devices/commands/gen_e6lgg1_lpdmsodpomdo/totaluptime.py rename to src/tm_devices/commands/gen_e6bmgw_lpdmsotekscopepcdpomdo/totaluptime.py index a2ccc0a5..1fb9bf45 100644 --- a/src/tm_devices/commands/gen_e6lgg1_lpdmsodpomdo/totaluptime.py +++ b/src/tm_devices/commands/gen_e6bmgw_lpdmsotekscopepcdpomdo/totaluptime.py @@ -2,7 +2,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, -MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5LP, MSO6, MSO6B +MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_e6wozn_lpdmsotekscopepcmdodpo/__init__.py b/src/tm_devices/commands/gen_e6wozn_lpdmsotekscopepcmdodpo/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/gen_e6606z_lpdmsomdodpo/pause.py b/src/tm_devices/commands/gen_e6wozn_lpdmsotekscopepcmdodpo/pause.py similarity index 97% rename from src/tm_devices/commands/gen_e6606z_lpdmsomdodpo/pause.py rename to src/tm_devices/commands/gen_e6wozn_lpdmsotekscopepcmdodpo/pause.py index 6cede25d..63974945 100644 --- a/src/tm_devices/commands/gen_e6606z_lpdmsomdodpo/pause.py +++ b/src/tm_devices/commands/gen_e6wozn_lpdmsotekscopepcmdodpo/pause.py @@ -2,7 +2,7 @@ These commands are used in the following models: DPO4K, DPO4KB, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5LP, MSO6, MSO6B +MSO5B, MSO5LP, MSO6, MSO6B, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fn2qbf_msodpo/errordetector.py b/src/tm_devices/commands/gen_fn2qbf_msodpo/errordetector.py index 4139d6b0..cfcbf771 100644 --- a/src/tm_devices/commands/gen_fn2qbf_msodpo/errordetector.py +++ b/src/tm_devices/commands/gen_fn2qbf_msodpo/errordetector.py @@ -122,7 +122,7 @@ - ERRORDetector:SCRAMBLED? - ERRORDetector:SENDEMAIL {OFF|ON} - ERRORDetector:SENDEMAIL? - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? - ERRORDetector:SSC {ON|OFF} - ERRORDetector:SSC? @@ -1391,7 +1391,7 @@ class ErrordetectorSignaltype(SCPICmdWrite, SCPICmdRead): SCPI Syntax: ``` - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? ``` @@ -5654,7 +5654,7 @@ def signaltype(self) -> ErrordetectorSignaltype: SCPI Syntax: ``` - - ERRORDetector:SIGnaltype {SATAGEN|PRBS7|PRBS11|USB3|PCIEGEN|PRBS23|CUSTOM|ANY8B10B|PRBS16|PRBS9} + - ERRORDetector:SIGnaltype {PRBS16|PCIEGEN|PRBS7|ANY8B10B|USB3|PRBS23|CUSTOM|PRBS9|SATAGEN|PRBS11} - ERRORDetector:SIGnaltype? ``` diff --git a/src/tm_devices/commands/gen_fpx9s1_dpodsamso/rosc.py b/src/tm_devices/commands/gen_fpx9s1_dpodsamso/rosc.py index 142617cf..69ff7356 100644 --- a/src/tm_devices/commands/gen_fpx9s1_dpodsamso/rosc.py +++ b/src/tm_devices/commands/gen_fpx9s1_dpodsamso/rosc.py @@ -12,7 +12,7 @@ ``` - ROSc:OUT:FREQuency {MHZ10|MHZ100} - ROSc:OUT:FREQuency? - - ROSc:SOUrce {EXTernal|ULTRAsync|INTERnal|TEKLink} + - ROSc:SOUrce {EXTernal|INTERnal|ULTRAsync|TEKLink} - ROSc:SOUrce? - ROSc:STATE? - ROSc:TRACking {STABle|FAST} @@ -93,7 +93,7 @@ class RoscSource(SCPICmdWrite, SCPICmdRead): SCPI Syntax: ``` - - ROSc:SOUrce {EXTernal|ULTRAsync|INTERnal|TEKLink} + - ROSc:SOUrce {EXTernal|INTERnal|ULTRAsync|TEKLink} - ROSc:SOUrce? ``` @@ -228,7 +228,7 @@ def source(self) -> RoscSource: SCPI Syntax: ``` - - ROSc:SOUrce {EXTernal|ULTRAsync|INTERnal|TEKLink} + - ROSc:SOUrce {EXTernal|INTERnal|ULTRAsync|TEKLink} - ROSc:SOUrce? ``` diff --git a/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/__init__.py b/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/miscellaneous.py b/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/miscellaneous.py new file mode 100644 index 00000000..06c1c786 --- /dev/null +++ b/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/miscellaneous.py @@ -0,0 +1,67 @@ +"""The miscellaneous commands module. + +These commands are used in the following models: +AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, +DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, +LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, +MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - *IDN? + - *TST? + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class Tst(SCPICmdRead): + """The ``*TST`` command. + + Description: + - Tests (self-test) the interface and returns a 0. + + Usage: + - Using the ``.query()`` method will send the ``*TST?`` query. + - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *TST? + ``` + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*TST") -> None: + super().__init__(device, cmd_syntax) + + +class Idn(SCPICmdRead): + """The ``*IDN`` command. + + Description: + - This query-only command returns the instrument identification code. + + Usage: + - Using the ``.query()`` method will send the ``*IDN?`` query. + - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *IDN? + ``` + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*IDN") -> None: + super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/status_and_error.py b/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/status_and_error.py similarity index 99% rename from src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/status_and_error.py rename to src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/status_and_error.py index 9efe7250..0260f2ac 100644 --- a/src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/status_and_error.py +++ b/src/tm_devices/commands/gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa/status_and_error.py @@ -4,7 +4,7 @@ AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, -MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa/__init__.py b/src/tm_devices/commands/gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/gen_fteabn_lpdmsomdodpoafgawgdsa/status_and_error.py b/src/tm_devices/commands/gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa/status_and_error.py similarity index 97% rename from src/tm_devices/commands/gen_fteabn_lpdmsomdodpoafgawgdsa/status_and_error.py rename to src/tm_devices/commands/gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa/status_and_error.py index 03fc6bd8..12b13ca4 100644 --- a/src/tm_devices/commands/gen_fteabn_lpdmsomdodpoafgawgdsa/status_and_error.py +++ b/src/tm_devices/commands/gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa/status_and_error.py @@ -4,7 +4,7 @@ AFG3K, AFG3KB, AFG3KC, AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, -MSO6, MSO6B, MSO70KC, MSO70KDX +MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py b/src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py index f5d2aedd..2d08ebef 100644 --- a/src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py +++ b/src/tm_devices/commands/gen_ft5uww_lpdmsodpomdoafgawgdsa/miscellaneous.py @@ -12,41 +12,18 @@ Commands and Queries: ``` - - *IDN? - *TRG - - *TST? ``` """ from typing import Optional, TYPE_CHECKING -from ..helpers import SCPICmdRead, SCPICmdWriteNoArguments +from ..helpers import SCPICmdWriteNoArguments if TYPE_CHECKING: from tm_devices.drivers.pi.pi_device import PIDevice -class Tst(SCPICmdRead): - """The ``*TST`` command. - - Description: - - Tests (self-test) the interface and returns a 0. - - Usage: - - Using the ``.query()`` method will send the ``*TST?`` query. - - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an - AssertionError if the returned value does not match ``value``. - - SCPI Syntax: - ``` - - *TST? - ``` - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*TST") -> None: - super().__init__(device, cmd_syntax) - - class Trg(SCPICmdWriteNoArguments): """The ``*TRG`` command. @@ -64,24 +41,3 @@ class Trg(SCPICmdWriteNoArguments): def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*TRG") -> None: super().__init__(device, cmd_syntax) - - -class Idn(SCPICmdRead): - """The ``*IDN`` command. - - Description: - - This query-only command returns the instrument identification code. - - Usage: - - Using the ``.query()`` method will send the ``*IDN?`` query. - - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an - AssertionError if the returned value does not match ``value``. - - SCPI Syntax: - ``` - - *IDN? - ``` - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*IDN") -> None: - super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa/__init__.py b/src/tm_devices/commands/gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/gen_fug7nl_lpdmsodpomdoawgdsa/status_and_error.py b/src/tm_devices/commands/gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa/status_and_error.py similarity index 98% rename from src/tm_devices/commands/gen_fug7nl_lpdmsodpomdoawgdsa/status_and_error.py rename to src/tm_devices/commands/gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa/status_and_error.py index 07ba1eb5..0e98ef82 100644 --- a/src/tm_devices/commands/gen_fug7nl_lpdmsodpomdoawgdsa/status_and_error.py +++ b/src/tm_devices/commands/gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa/status_and_error.py @@ -4,7 +4,7 @@ AWG5200, AWG5K, AWG5KC, AWG70KA, AWG70KB, AWG7K, AWG7KC, DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, -MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/__init__.py b/src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/alias.py b/src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/alias.py similarity index 99% rename from src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/alias.py rename to src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/alias.py index da090a2e..33448d26 100644 --- a/src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/alias.py +++ b/src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/alias.py @@ -2,7 +2,7 @@ These commands are used in the following models: DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, -MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/status_and_error.py b/src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/status_and_error.py similarity index 98% rename from src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/status_and_error.py rename to src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/status_and_error.py index 1d8a9d8c..aee8720f 100644 --- a/src/tm_devices/commands/gen_fuzvln_lpdmsodpodsa/status_and_error.py +++ b/src/tm_devices/commands/gen_fuq1mi_lpdmsotekscopepcdpodsa/status_and_error.py @@ -2,7 +2,7 @@ These commands are used in the following models: DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MSO2, -MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4, MSO4B, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/miscellaneous.py b/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/miscellaneous.py index fd9ee349..cf8a4e31 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/miscellaneous.py +++ b/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/miscellaneous.py @@ -13,7 +13,6 @@ ``` - *DDT {|} - *DDT? - - *LRN? ``` """ @@ -25,30 +24,6 @@ from tm_devices.drivers.pi.pi_device import PIDevice -class Lrn(SCPICmdRead): - """The ``*LRN`` command. - - Description: - - This query-only command returns the commands that list the instrument settings, allowing - you to record or 'learn' the current instrument settings. You can use these commands to - return the instrument to the state it was in when you made the ``*LRN?`` query. This - command is identical to the SET command. - - Usage: - - Using the ``.query()`` method will send the ``*LRN?`` query. - - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an - AssertionError if the returned value does not match ``value``. - - SCPI Syntax: - ``` - - *LRN? - ``` - """ - - def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*LRN") -> None: - super().__init__(device, cmd_syntax) - - class Ddt(SCPICmdWrite, SCPICmdRead): """The ``*DDT`` command. diff --git a/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/__init__.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/allev.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/allev.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/allev.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/allev.py index 5f3d616d..d118945e 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/allev.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/allev.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/busy.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/busy.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/busy.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/busy.py index af40267f..2731c532 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/busy.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/busy.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/dese.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/dese.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/dese.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/dese.py index d13f5f1e..00967374 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/dese.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/dese.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/event.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/event.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/event.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/event.py index 355eabb8..769d4f25 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/event.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/event.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/evmsg.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/evmsg.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/evmsg.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/evmsg.py index 6fbcc7b1..c8a3fced 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/evmsg.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/evmsg.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/evqty.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/evqty.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/evqty.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/evqty.py index 4fd91666..a0e7dfa3 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/evqty.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/evqty.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/factory.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/factory.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/factory.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/factory.py index b93efa4f..aba5456b 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/factory.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/factory.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/header.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/header.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/header.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/header.py index 90d4ebd3..0bd83d4b 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/header.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/header.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/id.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/id.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/id.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/id.py index 239903ef..7ae9c6d1 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/id.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/id.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/miscellaneous.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/miscellaneous.py new file mode 100644 index 00000000..feca1dcb --- /dev/null +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/miscellaneous.py @@ -0,0 +1,47 @@ +"""The miscellaneous commands module. + +These commands are used in the following models: +DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, +DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. + +Commands and Queries: + ``` + - *LRN? + ``` +""" + +from typing import Optional, TYPE_CHECKING + +from ..helpers import SCPICmdRead + +if TYPE_CHECKING: + from tm_devices.drivers.pi.pi_device import PIDevice + + +class Lrn(SCPICmdRead): + """The ``*LRN`` command. + + Description: + - This query-only command returns the commands that list the instrument settings, allowing + you to record or 'learn' the current instrument settings. You can use these commands to + return the instrument to the state it was in when you made the ``*LRN?`` query. This + command is identical to the SET command. + + Usage: + - Using the ``.query()`` method will send the ``*LRN?`` query. + - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *LRN? + ``` + """ + + def __init__(self, device: Optional["PIDevice"] = None, cmd_syntax: str = "*LRN") -> None: + super().__init__(device, cmd_syntax) diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/rem.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/rem.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/rem.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/rem.py index 22777d9d..31367900 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/rem.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/rem.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/set.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/set.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/set.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/set.py index cc0ff030..5ca9cee2 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/set.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/set.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/status_and_error.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/status_and_error.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/status_and_error.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/status_and_error.py index d6239092..ef52288c 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/status_and_error.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/status_and_error.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/verbose.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/verbose.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/verbose.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/verbose.py index a4cbc3c1..ed569ce0 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/verbose.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/verbose.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/wavfrm.py b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/wavfrm.py similarity index 98% rename from src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/wavfrm.py rename to src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/wavfrm.py index 0753961e..766a9af8 100644 --- a/src/tm_devices/commands/gen_fx54ua_lpdmsodpomdodsa/wavfrm.py +++ b/src/tm_devices/commands/gen_fxvtmy_lpdmsotekscopepcdpomdodsa/wavfrm.py @@ -3,7 +3,7 @@ These commands are used in the following models: DPO2K, DPO2KB, DPO4K, DPO4KB, DPO5K, DPO5KB, DPO70KC, DPO70KD, DPO70KDX, DPO70KSX, DPO7K, DPO7KC, DSA70KC, DSA70KD, LPD6, MDO3, MDO3K, MDO4K, MDO4KB, MDO4KC, MSO2, MSO2K, MSO2KB, MSO4, MSO4B, MSO4K, -MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX +MSO4KB, MSO5, MSO5B, MSO5K, MSO5KB, MSO5LP, MSO6, MSO6B, MSO70KC, MSO70KDX, TekScopePC THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. diff --git a/src/tm_devices/commands/lpd6_commands.py b/src/tm_devices/commands/lpd6_commands.py index c9a6b3d2..005f75e4 100644 --- a/src/tm_devices/commands/lpd6_commands.py +++ b/src/tm_devices/commands/lpd6_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mdo3_commands.py b/src/tm_devices/commands/mdo3_commands.py index 76c87eb2..9e43c8ce 100644 --- a/src/tm_devices/commands/mdo3_commands.py +++ b/src/tm_devices/commands/mdo3_commands.py @@ -54,35 +54,44 @@ from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_ujuvb_mdo.acquire import Acquire from .gen_ujuvb_mdo.configuration import Configuration from .gen_ujuvb_mdo.cursor import Cursor diff --git a/src/tm_devices/commands/mdo3k_commands.py b/src/tm_devices/commands/mdo3k_commands.py index c3836b58..0e26ab6a 100644 --- a/src/tm_devices/commands/mdo3k_commands.py +++ b/src/tm_devices/commands/mdo3k_commands.py @@ -64,35 +64,44 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .gen_usaa3_mdo.rf import Rf diff --git a/src/tm_devices/commands/mdo4k_commands.py b/src/tm_devices/commands/mdo4k_commands.py index 0d2dafdf..9dcf0091 100644 --- a/src/tm_devices/commands/mdo4k_commands.py +++ b/src/tm_devices/commands/mdo4k_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc from .gen_163n04_mdo.search import Search -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mdo4kb_commands.py b/src/tm_devices/commands/mdo4kb_commands.py index bef0da4f..c1f78165 100644 --- a/src/tm_devices/commands/mdo4kb_commands.py +++ b/src/tm_devices/commands/mdo4kb_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc from .gen_16x4xq_mdo.search import Search -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mdo4kc_commands.py b/src/tm_devices/commands/mdo4kc_commands.py index 7cc15e33..153a4c0d 100644 --- a/src/tm_devices/commands/mdo4kc_commands.py +++ b/src/tm_devices/commands/mdo4kc_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso2_commands.py b/src/tm_devices/commands/mso2_commands.py index 743b80b7..f2eded87 100644 --- a/src/tm_devices/commands/mso2_commands.py +++ b/src/tm_devices/commands/mso2_commands.py @@ -23,8 +23,6 @@ from .gen_1zn03_mso.display import Display from .gen_1zn03_mso.fpanel import Fpanel from .gen_1zn03_mso.horizontal import Horizontal -from .gen_1zn03_mso.lic import Lic -from .gen_1zn03_mso.license import License from .gen_1zn03_mso.mask import Mask from .gen_1zn03_mso.math import Math from .gen_1zn03_mso.measurement import Measurement @@ -39,57 +37,68 @@ from .gen_1zn03_mso.select import Select from .gen_1zn03_mso.touchscreen import Touchscreen from .gen_1zn03_mso.trigger import Trigger +from .gen_c69az_msotekscopepc.lic import Lic +from .gen_c69az_msotekscopepc.license import License from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso2k_commands.py b/src/tm_devices/commands/mso2k_commands.py index 7c1200f1..cd1f02b9 100644 --- a/src/tm_devices/commands/mso2k_commands.py +++ b/src/tm_devices/commands/mso2k_commands.py @@ -18,34 +18,43 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav from .gen_fkjfe8_msodpodsa.time import Time +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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/mso2kb_commands.py b/src/tm_devices/commands/mso2kb_commands.py index dc4c05bd..2bf6f44d 100644 --- a/src/tm_devices/commands/mso2kb_commands.py +++ b/src/tm_devices/commands/mso2kb_commands.py @@ -18,34 +18,43 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav from .gen_fkjfe8_msodpodsa.time import Time +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_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/mso4_commands.py b/src/tm_devices/commands/mso4_commands.py index 28d70058..ac8d6310 100644 --- a/src/tm_devices/commands/mso4_commands.py +++ b/src/tm_devices/commands/mso4_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso4b_commands.py b/src/tm_devices/commands/mso4b_commands.py index 9a082595..f01d2f91 100644 --- a/src/tm_devices/commands/mso4b_commands.py +++ b/src/tm_devices/commands/mso4b_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso4k_commands.py b/src/tm_devices/commands/mso4k_commands.py index dc34be04..a9a4f079 100644 --- a/src/tm_devices/commands/mso4k_commands.py +++ b/src/tm_devices/commands/mso4k_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso4kb_commands.py b/src/tm_devices/commands/mso4kb_commands.py index 39911192..2cdb6357 100644 --- a/src/tm_devices/commands/mso4kb_commands.py +++ b/src/tm_devices/commands/mso4kb_commands.py @@ -67,35 +67,44 @@ from .gen_1nmc1o_msodpomdo.status_and_error import Psc from .gen_1nmc1o_msodpomdo.usbdevice import Usbdevice from .gen_1nmc1o_msodpomdo.usbtmc import Usbtmc -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause from .gen_fhrp27_msodpomdodsa.curve import Curve from .gen_fhrp27_msodpomdodsa.date import Date from .gen_fhrp27_msodpomdodsa.mathvar import Mathvar from .gen_fhrp27_msodpomdodsa.save_and_recall import Rcl, Sav +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso5_commands.py b/src/tm_devices/commands/mso5_commands.py index 24dad760..1223a7b7 100644 --- a/src/tm_devices/commands/mso5_commands.py +++ b/src/tm_devices/commands/mso5_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso5b_commands.py b/src/tm_devices/commands/mso5b_commands.py index aea78549..445f954e 100644 --- a/src/tm_devices/commands/mso5b_commands.py +++ b/src/tm_devices/commands/mso5b_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso5k_commands.py b/src/tm_devices/commands/mso5k_commands.py index 47ba3e41..264fdb12 100644 --- a/src/tm_devices/commands/mso5k_commands.py +++ b/src/tm_devices/commands/mso5k_commands.py @@ -79,31 +79,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso5kb_commands.py b/src/tm_devices/commands/mso5kb_commands.py index 42837fcb..eaf9535d 100644 --- a/src/tm_devices/commands/mso5kb_commands.py +++ b/src/tm_devices/commands/mso5kb_commands.py @@ -81,31 +81,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso5lp_commands.py b/src/tm_devices/commands/mso5lp_commands.py index cacd1a41..64851b2a 100644 --- a/src/tm_devices/commands/mso5lp_commands.py +++ b/src/tm_devices/commands/mso5lp_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso6_commands.py b/src/tm_devices/commands/mso6_commands.py index 4a8327fd..4c41d39c 100644 --- a/src/tm_devices/commands/mso6_commands.py +++ b/src/tm_devices/commands/mso6_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso6b_commands.py b/src/tm_devices/commands/mso6b_commands.py index 396f8a1e..3d667094 100644 --- a/src/tm_devices/commands/mso6b_commands.py +++ b/src/tm_devices/commands/mso6b_commands.py @@ -16,25 +16,21 @@ from .gen_e3e9uu_lpdmso.bus import Bus from .gen_e3e9uu_lpdmso.callouts import Callouts from .gen_e3e9uu_lpdmso.ch import Channel -from .gen_e3e9uu_lpdmso.data import Data from .gen_e3e9uu_lpdmso.diag import Diag from .gen_e3e9uu_lpdmso.diggrp import DiggrpItem from .gen_e3e9uu_lpdmso.display import Display from .gen_e3e9uu_lpdmso.dvm import Dvm -from .gen_e3e9uu_lpdmso.eyemask import Eyemask from .gen_e3e9uu_lpdmso.fpanel import Fpanel from .gen_e3e9uu_lpdmso.histogram import Histogram from .gen_e3e9uu_lpdmso.horizontal import Horizontal from .gen_e3e9uu_lpdmso.license import License from .gen_e3e9uu_lpdmso.mask import Mask from .gen_e3e9uu_lpdmso.math import Math -from .gen_e3e9uu_lpdmso.matharbflt import MatharbfltItem from .gen_e3e9uu_lpdmso.measurement import Measurement -from .gen_e3e9uu_lpdmso.peakstable import Peakstable from .gen_e3e9uu_lpdmso.pilogger import Pilogger from .gen_e3e9uu_lpdmso.plot import Plot from .gen_e3e9uu_lpdmso.power import Power -from .gen_e3e9uu_lpdmso.ref import Ref, RefItem +from .gen_e3e9uu_lpdmso.ref import Ref from .gen_e3e9uu_lpdmso.rosc import Rosc from .gen_e3e9uu_lpdmso.save import Save from .gen_e3e9uu_lpdmso.saveon import Saveon @@ -46,58 +42,72 @@ from .gen_e3e9uu_lpdmso.touchscreen import Touchscreen from .gen_e3e9uu_lpdmso.trigger import Trigger from .gen_e3e9uu_lpdmso.tstamptable import Tstamptable -from .gen_e3e9uu_lpdmso.visual import Visual from .gen_e3h2zs_lpdmso.afg import Afg -from .gen_e3h2zs_lpdmso.autosavepitimeout import Autosavepitimeout -from .gen_e3h2zs_lpdmso.autosaveuitimeout import Autosaveuitimeout from .gen_e3h2zs_lpdmso.autoset import Autoset -from .gen_e3h2zs_lpdmso.bustable import Bustable from .gen_e3h2zs_lpdmso.calibrate import Calibrate -from .gen_e3h2zs_lpdmso.configuration import Configuration from .gen_e3h2zs_lpdmso.connected import Connected -from .gen_e3h2zs_lpdmso.curve import Curve -from .gen_e3h2zs_lpdmso.curvestream import Curvestream -from .gen_e3h2zs_lpdmso.customtable import Customtable -from .gen_e3h2zs_lpdmso.date import Date from .gen_e3h2zs_lpdmso.ethernet import Ethernet -from .gen_e3h2zs_lpdmso.filesystem import Filesystem -from .gen_e3h2zs_lpdmso.mainwindow import Mainwindow -from .gen_e3h2zs_lpdmso.meastable import Meastable -from .gen_e3h2zs_lpdmso.recall import Recall -from .gen_e3h2zs_lpdmso.socketserver import Socketserver -from .gen_e3h2zs_lpdmso.time import Time -from .gen_e3h2zs_lpdmso.undo import Undo from .gen_e3h2zs_lpdmso.usbdevice import Usbdevice -from .gen_e3h2zs_lpdmso.vertical import Vertical -from .gen_e3h2zs_lpdmso.wfmoutpre import Wfmoutpre from .gen_e4de2d_lpdmsomdo.clear import Clear -from .gen_e6lgg1_lpdmsodpomdo.totaluptime import Totaluptime -from .gen_e6606z_lpdmsomdodpo.pause import Pause +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso70kc_commands.py b/src/tm_devices/commands/mso70kc_commands.py index ac602e63..98ae0841 100644 --- a/src/tm_devices/commands/mso70kc_commands.py +++ b/src/tm_devices/commands/mso70kc_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/mso70kdx_commands.py b/src/tm_devices/commands/mso70kdx_commands.py index 6a7b7b4b..1296a8e9 100644 --- a/src/tm_devices/commands/mso70kdx_commands.py +++ b/src/tm_devices/commands/mso70kdx_commands.py @@ -80,31 +80,40 @@ from .gen_fpx9s1_dpodsamso.counter import Counter from .gen_fpx9s1_dpodsamso.linktraining import Linktraining from .gen_fpx9s1_dpodsamso.rosc import Rosc +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt from .gen_ft5uww_lpdmsodpomdoafgawgdsa.calibration import Cal -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Idn, Trg, Tst -from .gen_ft5uww_lpdmsodpomdoafgawgdsa.status_and_error import Cls, Esr, Opc, Rst, Stb, Wai -from .gen_fteabn_lpdmsomdodpoafgawgdsa.status_and_error import Opt -from .gen_fug7nl_lpdmsodpomdoawgdsa.status_and_error import Ese, Sre -from .gen_fuzvln_lpdmsodpodsa.alias import Alias -from .gen_fuzvln_lpdmsodpodsa.status_and_error import Psc -from .gen_fx54ua_lpdmsodpomdodsa.allev import Allev -from .gen_fx54ua_lpdmsodpomdodsa.busy import Busy -from .gen_fx54ua_lpdmsodpomdodsa.dese import Dese -from .gen_fx54ua_lpdmsodpomdodsa.event import Event -from .gen_fx54ua_lpdmsodpomdodsa.evmsg import Evmsg -from .gen_fx54ua_lpdmsodpomdodsa.evqty import Evqty -from .gen_fx54ua_lpdmsodpomdodsa.factory import Factory -from .gen_fx54ua_lpdmsodpomdodsa.header import Header -from .gen_fx54ua_lpdmsodpomdodsa.id import Id -from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt, Lrn +from .gen_ft5uww_lpdmsodpomdoafgawgdsa.miscellaneous import Trg +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fx54ua_lpdmsodpomdodsa.miscellaneous import Ddt from .gen_fx54ua_lpdmsodpomdodsa.newpass import Newpass from .gen_fx54ua_lpdmsodpomdodsa.password import Password -from .gen_fx54ua_lpdmsodpomdodsa.rem import Rem -from .gen_fx54ua_lpdmsodpomdodsa.set import Set -from .gen_fx54ua_lpdmsodpomdodsa.status_and_error import Pud from .gen_fx54ua_lpdmsodpomdodsa.teksecure import Teksecure -from .gen_fx54ua_lpdmsodpomdodsa.verbose import Verbose -from .gen_fx54ua_lpdmsodpomdodsa.wavfrm import Wavfrm +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +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_fzn174_lpdmsodpomdodsa.lock import Lock from .gen_fzn174_lpdmsodpomdodsa.unlock import Unlock from .helpers import DefaultDictPassKeyToFactory diff --git a/src/tm_devices/commands/tekscopepc_commands.py b/src/tm_devices/commands/tekscopepc_commands.py new file mode 100644 index 00000000..73e465ef --- /dev/null +++ b/src/tm_devices/commands/tekscopepc_commands.py @@ -0,0 +1,3188 @@ +"""The TekScopePC commands module. + +THIS FILE IS AUTO-GENERATED, IT SHOULD NOT BE MANUALLY MODIFIED. + +Please report an issue if one is found. +""" + +from typing import Any, Dict, Optional + +from tm_devices.drivers.pi.pi_device import PIDevice + +from .gen_c3g61_tekscopepc.actonevent import Actonevent +from .gen_c3g61_tekscopepc.bus import Bus +from .gen_c3g61_tekscopepc.callouts import Callouts +from .gen_c3g61_tekscopepc.ch import Channel +from .gen_c3g61_tekscopepc.display import Display +from .gen_c3g61_tekscopepc.filesys import Filesys +from .gen_c3g61_tekscopepc.histogram import Histogram +from .gen_c3g61_tekscopepc.horizontal import Horizontal +from .gen_c3g61_tekscopepc.mask import Mask +from .gen_c3g61_tekscopepc.math import Math +from .gen_c3g61_tekscopepc.measu import Measu +from .gen_c3g61_tekscopepc.measurement import Measurement +from .gen_c3g61_tekscopepc.plot import Plot +from .gen_c3g61_tekscopepc.power import Power +from .gen_c3g61_tekscopepc.ref import Ref +from .gen_c3g61_tekscopepc.remote import Remote +from .gen_c3g61_tekscopepc.s import SItem +from .gen_c3g61_tekscopepc.save import Save +from .gen_c3g61_tekscopepc.saveonevent import Saveonevent +from .gen_c3g61_tekscopepc.search import Search +from .gen_c3g61_tekscopepc.searchtable import Searchtable +from .gen_c3g61_tekscopepc.sv import Sv +from .gen_c3g61_tekscopepc.trigger import Trigger +from .gen_c69az_msotekscopepc.lic import Lic +from .gen_c69az_msotekscopepc.license import License +from .gen_e6bmgw_lpdmsotekscopepcdpomdo.totaluptime import Totaluptime +from .gen_e6wozn_lpdmsotekscopepcmdodpo.pause import Pause +from .gen_e44yni_lpdmsotekscopepc.data import Data +from .gen_e44yni_lpdmsotekscopepc.eyemask import Eyemask +from .gen_e44yni_lpdmsotekscopepc.matharbflt import MatharbfltItem +from .gen_e44yni_lpdmsotekscopepc.peakstable import Peakstable +from .gen_e44yni_lpdmsotekscopepc.ref import RefItem +from .gen_e44yni_lpdmsotekscopepc.visual import Visual +from .gen_e47rsg_lpdmsotekscopepc.autosavepitimeout import Autosavepitimeout +from .gen_e47rsg_lpdmsotekscopepc.autosaveuitimeout import Autosaveuitimeout +from .gen_e47rsg_lpdmsotekscopepc.bustable import Bustable +from .gen_e47rsg_lpdmsotekscopepc.configuration import Configuration +from .gen_e47rsg_lpdmsotekscopepc.curve import Curve +from .gen_e47rsg_lpdmsotekscopepc.curvestream import Curvestream +from .gen_e47rsg_lpdmsotekscopepc.customtable import Customtable +from .gen_e47rsg_lpdmsotekscopepc.date import Date +from .gen_e47rsg_lpdmsotekscopepc.filesystem import Filesystem +from .gen_e47rsg_lpdmsotekscopepc.mainwindow import Mainwindow +from .gen_e47rsg_lpdmsotekscopepc.meastable import Meastable +from .gen_e47rsg_lpdmsotekscopepc.recall import Recall +from .gen_e47rsg_lpdmsotekscopepc.socketserver import Socketserver +from .gen_e47rsg_lpdmsotekscopepc.time import Time +from .gen_e47rsg_lpdmsotekscopepc.undo import Undo +from .gen_e47rsg_lpdmsotekscopepc.vertical import Vertical +from .gen_e47rsg_lpdmsotekscopepc.wfmoutpre import Wfmoutpre +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.miscellaneous import Idn, Tst +from .gen_fsksdy_lpdmsotekscopepcdpomdoafgawgdsa.status_and_error import ( + Cls, + Esr, + Opc, + Rst, + Stb, + Wai, +) +from .gen_fst7sp_lpdmsotekscopepcmdodpoafgawgdsa.status_and_error import Opt +from .gen_fu6dog_lpdmsotekscopepcdpomdoawgdsa.status_and_error import Ese, Sre +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.alias import Alias +from .gen_fuq1mi_lpdmsotekscopepcdpodsa.status_and_error import Psc +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.allev import Allev +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.busy import Busy +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.dese import Dese +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.event import Event +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 +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.set import Set +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.status_and_error import Pud +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.verbose import Verbose +from .gen_fxvtmy_lpdmsotekscopepcdpomdodsa.wavfrm import Wavfrm +from .helpers import DefaultDictPassKeyToFactory + + +# pylint: disable=too-few-public-methods +class TekScopePCCommandConstants: + """The TekScopePC command argument constants. + + This provides access to all the string constants which can be used as arguments for TekScopePC + commands. + """ + + A = "A" + ABC = "ABC" + ABCB = "ABCB" + ABORT = "ABORT" + # ABORT = "ABORt" + ABSOLUTE = "ABSOLUTE" + # ABSOLUTE = "ABSolute" + AC = "AC" + ACB = "ACB" + ACBC = "ACBC" + ACCM = "ACCM" + ACDC = "ACDC" + ACK = "ACK" + ACKMISS = "ACKMISS" + ADD = "ADD" + ADDR10 = "ADDR10" + ADDR7 = "ADDR7" + ADDRANDDATA = "ADDRANDDATA" + ADDRESS = "ADDRESS" # ADDRess + ADVANCED = "ADVANCED" # ADVanced + AFREQUENCIES = "AFREQUENCIES" # AFREQuencies + ALARMSEARCH = "ALARMSEARCH" # ALARMSEARch + ALL = "ALL" + ALLBITS = "ALLBITS" # ALLBits + AMPLINEAR = "AMPLINEAR" # AMPLINear + AN = "AN" + AND = "AND" + ANY = "ANY" + ANYERROR = "ANYERROR" # ANYERRor + APASS = "APASS" # APASs + APPLY = "APPLY" + APPPWR = "APPPWR" + APPPWRSUM = "APPPWRSUM" + APRD = "APRD" + APRW = "APRW" + APWR = "APWR" + ARBITRARY = "ARBITRARY" # ARBitrary + ARINC429 = "ARINC429" + ARMW = "ARMW" + ARROW = "ARROW" + ASCII = "ASCII" + # ASCII = "ASCIi" + # ASCII = "ASCii" + AUDIO = "AUDIO" # AUDio + AUTHENTICATE = "AUTHENTICATE" # AUTHenticate + AUTO = "AUTO" + # AUTO = "Auto" + AUTOMATIC = "AUTOMATIC" # AUTOmatic + AUXILIARY = "AUXILIARY" # AUXiliary + AVERAGE = "AVERAGE" # AVErage + B = "B" + BACA = "BACA" + BACKWARD = "BACKWARD" # BACKWard + BADDR = "BADDR" # BADDr + BADGE = "BADGE" + BASIC = "BASIC" # BASic + BDIFFBP = "BDIFFBP" + BEACON = "BEACON" # BEACon + BESSELCUSTOM = "BESSELCUSTOM" # BESSelCUSTom + BINARY = "BINARY" + # BINARY = "BINary" + BITS = "BITS" + BITSTUFFING = "BITSTUFFING" # BITSTUFFing + BLACKMANHARRIS = "BLACKMANHARRIS" # BLACKMANHarris + # BLACKMANHARRIS = "BLACkmanharris" + BLOCKID = "BLOCKID" # BLOCkid + BM = "BM" + BMP = "BMP" + BMSGEND = "BMSGEND" # BMSGEnd + BN = "BN" + BOOKMARK = "BOOKMARK" + BOTH = "BOTH" + BPASS = "BPASS" # BPASs + BRD = "BRD" + BROADCAST = "BROADCAST" # BROadcast + BRW = "BRW" + BSTOP = "BSTOP" # BSTop + BUS = "BUS" + # BUS = "Bus" + BUSANDWAVEFORM = "BUSANDWAVEFORM" + BUSTURNAROUND = "BUSTURNAROUND" # BUSTURNAROUnd + BUSY = "BUSY" + BUTTERWORTH = "BUTTERWORTH" # BUTTerworth + BWR = "BWR" + BYTE = "BYTE" # BYTe + CAN = "CAN" + CAN2X = "CAN2X" + CDATA = "CDATA" # CDATa + CGS = "CGS" + CHANNEL = "CHANNEL" # CHANnel + CHEBYONE = "CHEBYONE" # CHEBYONe + CHEBYTWO = "CHEBYTWO" # CHEBYTWo + CHECKSUM = "CHECKSUM" # CHecksum + CHINDEPENDENT = "CHINDEPENDENT" # CHINDependent + CHIPSELECT = "CHIPSELECT" # ChipSelect + CIRCULATING = "CIRCULATING" # CIRCulating + CLASSA = "CLASSA" + CLASSB = "CLASSB" + CLASSC = "CLASSC" + CLASSD = "CLASSD" + CLEAR = "CLEAR" + # CLEAR = "CLEar" + CLOCK = "CLOCK" + CLOCKEDGE = "CLOCKEDGE" # ClockEdge + CMD = "CMD" + CMDOPCODE = "CMDOPCODE" # CMDOPCODe + CN = "CN" + CNT = "CNT" + COMMAND = "COMMAND" + # COMMAND = "COMMand" + COMPLETE = "COMPLETE" # COMPlete + COMPRESSION = "COMPRESSION" # COMPression + CONFIGURE = "CONFIGURE" # CONFigure + CONNECT = "CONNECT" # CONNect + CONSTANT = "CONSTANT" # CONSTant + CONSTANTCLOCK = "CONSTANTCLOCK" + CONTINUOUS = "CONTINUOUS" # CONTINuous + # CONTINUOUS = "CONTinuous" + CONTROL = "CONTROL" # CONTrol + CONTROLCHAR = "CONTROLCHAR" + CONTROLCODE = "CONTROLCODE" # CONTROLCODe + CONTROLMESSAGE = "CONTROLMESSAGE" # CONTROLMESSage + COUNTER = "COUNTER" # COUNter + CR = "CR" + CRC = "CRC" + CRC16 = "CRC16" + CRC5 = "CRC5" + CRCERROR = "CRCERROR" # CRCERRor + CRCHEADER = "CRCHEADER" # CRCHeader + CRCTRAILER = "CRCTRAILER" # CRCTrailer + CSI = "CSI" + CSPLIT = "CSPLIT" + CURRENT = "CURRENT" + # CURRENT = "CURRent" + # CURRENT = "Current" + CURSOR = "CURSOR" # CURSor + CUSTOM = "CUSTOM" + # CUSTOM = "CUSTom" + CYCLE = "CYCLE" + CYCLECOUNT = "CYCLECOUNT" # CYCLEcount + CYCLETYPE = "CYCLETYPE" # CYCLETYPe + DADDR = "DADDR" # DADDr + DATA = "DATA" + # DATA = "DATa" + DATA0 = "DATA0" + DATA1 = "DATA1" + DATA2 = "DATA2" + DATAGRAM = "DATAGRAM" # DATagram + DATAPACKET = "DATAPACKET" # DATAPacket + DBM = "DBM" + DBMA = "DBMA" + DBMV = "DBMV" + DBUA = "DBUA" + DBUV = "DBUV" + DBUW = "DBUW" + DC = "DC" + DCDC = "DCDC" + DCP1W2 = "DCP1W2" + DCPWR = "DCPWR" + DDATA = "DDATA" # DDATa + DDR = "DDR" + DDR3 = "DDR3" + DDRREAD = "DDRREAD" # DDRRead + DDRREADWRITE = "DDRREADWRITE" # DDRREADWrite + DDRWRITE = "DDRWRITE" # DDRWrite + DECIMAL = "DECIMAL" + DEFECT = "DEFECT" # DEFect + DEFER = "DEFER" # DEFer + DEGREES = "DEGREES" + DELTA = "DELTA" + DETAIL = "DETAIL" # DETail + DEVERROR = "DEVERROR" # DEVERRor + DEVICE = "DEVICE" # DEVice + DEVICEADDR = "DEVICEADDR" + DEVICECHIRP = "DEVICECHIRP" # DEVICEChirp + DEVICEDESCMASTERREAD = "DEVICEDESCMASTERREAD" # DEVICEDESCMASTERREAd + DEVICEDESCSLAVEREAD = "DEVICEDESCSLAVEREAD" # DEVICEDESCSLAVEREAd + DEVICETYPE = "DEVICETYPE" # DEVICETYPe + DIFF = "DIFF" + DIFFERENTIATOR = "DIFFERENTIATOR" # DIFFerentiator + DIRECT = "DIRECT" # DIRect + DISCMODE = "DISCMODE" # DISCMODe + DISCRETE = "DISCRETE" # DISCrete + DISLAVE = "DISLAVE" # DISLave + DISPARITY = "DISPARITY" # DISParity + DIVIDE = "DIVIDE" # DIVide + DLC = "DLC" + DMSGEND = "DMSGEND" # DMSGEnd + DONTCARE = "DONTCARE" # DONTcare + DONTINCLUDE = "DONTINCLUDE" # DONTInclude + DOTS = "DOTS" # DOTs + DOUBLE = "DOUBLE" + DPMAUTOSET = "DPMAUTOSET" # DPMAutoset + DPMPRESET = "DPMPRESET" # DPMPReset + DQ0 = "DQ0" + DQDQS = "DQDQS" + DRA = "DRA" + DRB = "DRB" + DSI = "DSI" + DUAL = "DUAL" + DYNAMIC = "DYNAMIC" + EACHCLOCKCYCLE = "EACHCLOCKCYCLE" + EBIT = "EBIT" + ECATHEADERLENGTH = "ECATHEADERLENGTH" # ECATHEADERLENGth + ECC = "ECC" + ECUDATA = "ECUDATA" # ECUDATa + ECUSENSOR = "ECUSENSOR" # ECUSENSor + EDGE = "EDGE" + EEP = "EEP" + EFFICIENCY = "EFFICIENCY" # EFFiciency + EIGHT = "EIGHT" # EIGHt + EIGHTBIT = "EIGHTBIT" + EIGHTHUNDREDHZ = "EIGHTHUNDREDHZ" # EIGHTHUNDREdhz + EITHER = "EITHER" + # EITHER = "EITHer" + # EITHER = "EITher" + ELLIPTICAL = "ELLIPTICAL" # ELLiptical + END = "END" + ENDOFPACKET = "ENDOFPACKET" # ENDOFPACKet + ENET100 = "ENET100" + ENET1000 = "ENET1000" + ENGINEERING = "ENGINEERING" # ENGineering + ENSLAVE = "ENSLAVE" # ENSLave + ENTASX = "ENTASX" # ENTasx + ENTERSWINDOW = "ENTERSWINDOW" # ENTERSWindow + ENTRDYA = "ENTRDYA" # ENTRDya + ENTRTSTMODE = "ENTRTSTMODE" # ENTRTSTMode + EOF = "EOF" + EOP = "EOP" + # EOP = "EOp" + EOT = "EOT" + EOTPDATA = "EOTPDATA" # EOTPDATa + EOW = "EOW" + EQUAL = "EQUAL" # EQUal + # EQUAL = "EQual" + EQUALS = "EQUALS" # Equals + ERROR = "ERROR" # ERROr + # ERROR = "ERRor" + ERRORS = "ERRORS" # ERRors + ERRSERVICEDATA = "ERRSERVICEDATA" # ERRSERVICEDATa + ESC = "ESC" + ESCAPEMODE = "ESCAPEMODE" # ESCAPEMODe + ETHERNET = "ETHERNET" # ETHernet + EUSB = "EUSB" + EVEN = "EVEN" + EVERY = "EVERY" + EXECUTE = "EXECUTE" + # EXECUTE = "EXECute" + # EXECUTE = "Execute" + EXITSWINDOW = "EXITSWINDOW" # EXITSWindow + EXPLICITCLOCK = "EXPLICITCLOCK" + EXTDLC = "EXTDLC" + EXTENDED = "EXTENDED" # EXTENDed + EXTIME = "EXTIME" # EXTime + EXTREGREAD = "EXTREGREAD" # EXTREGREAd + EXTREGWRITE = "EXTREGWRITE" # EXTREGWRIte + EYEHISTOGRAM = "EYEHISTOGRAM" # EYEhistogram + FACHANNEL = "FACHANNEL" # FACHANnel + FACTORY = "FACTORY" # FACtory + FALL = "FALL" + FALLING = "FALLING" + # FALLING = "FALLing" + FALSE = "FALSE" # FALSe + # FALSE = "False" + # FALSE = "false" + FAST = "FAST" + # FAST = "FAst" + FASTERTHAN = "FASTERTHAN" # FASTERthan + FATAL = "FATAL" # FATal + FBD1 = "FBD1" + FBD2 = "FBD2" + FBD3 = "FBD3" + FC1063 = "FC1063" + FC133 = "FC133" + FC2125 = "FC2125" + FC266 = "FC266" + FC4250 = "FC4250" + FC531 = "FC531" + FC8500 = "FC8500" + FCDATA = "FCDATA" # FCData + FCDFIRST = "FCDFIRST" # FCDFirst + FCDTWO = "FCDTWO" # FCDTwo + FCS = "FCS" + FCSERROR = "FCSERROR" # FCSERRor + # FCSERROR = "FCSError" + FCT = "FCT" + FDBITS = "FDBITS" + FDISO = "FDISO" + FDNONISO = "FDNONISO" + FFREQUENCY = "FFREQUENCY" # FFREQuency + FFT = "FFT" + FIBRECHANNEL = "FIBRECHANNEL" # FIBREchannel + FIFTEEN = "FIFTEEN" # FIFTeen + FIFTY = "FIFTY" + # FIFTY = "FIFTy" + FIFTYHZ = "FIFTYHZ" + # FIFTYHZ = "FIFTyhz" + FILTER = "FILTER" + FIRST = "FIRST" + FIVE = "FIVE" # FIVe + FIVEHUNDRED = "FIVEHUNDRED" # FIVEHundred + FIXED = "FIXED" + # FIXED = "FIXed" + FLASHERASE = "FLASHERASE" # FLASHERASe + FLASHREAD = "FLASHREAD" + FLASHWRITE = "FLASHWRITE" # FLASHWRITe + FLATNESS = "FLATNESS" + FLATTOP2 = "FLATTOP2" + # FLATTOP2 = "FLATtop2" + FLEXRAY = "FLEXRAY" + FLSUCCESSDATA = "FLSUCCESSDATA" # FLSUCCESSDATa + FLSUCCESSNODATA = "FLSUCCESSNODATA" # FLSUCCESSNODATa + FLUNSUCCESSNODATA = "FLUNSUCCESSNODATA" # FLUNSUCCESSNODATa + FLYBACK = "FLYBACK" + FORMERROR = "FORMERROR" # FORMERRor + FORWARD = "FORWARD" # FORWard + # FORWARD = "forward" + FOUR = "FOUR" + FOURBIT = "FOURBIT" + FOURHUNDREDHZ = "FOURHUNDREDHZ" + # FOURHUNDREDHZ = "FOURHUNDREdhz" + FOURTEENTEN = "FOURTEENTEN" # FOURTEENten + FP = "FP" + FPBINARY = "FPBINARY" # FPBinary + FPRD = "FPRD" + FPRW = "FPRW" + FPULSE = "FPULSE" # FPULse + FPWR = "FPWR" + FRAME = "FRAME" # FRAMe + # FRAME = "FRame" + FRAMEID = "FRAMEID" + FRAMELENGTH = "FRAMELENGTH" # FRAMELENgth + FRAMEREJ = "FRAMEREJ" + FRAMES = "FRAMES" # FRAMes + FRAMETYPE = "FRAMETYPE" # FRAMEType + # FRAMETYPE = "FRAMEtype" + FREQUENCY = "FREQUENCY" # FREQuency + FRMW = "FRMW" + FTLB = "FTLB" + FULL = "FULL" + FULLSCREEN = "FULLSCREEN" # FULLScreen + FULLSPEED = "FULLSPEED" + FUNCTIONCODE = "FUNCTIONCODE" # FUNCTIONCODe + FW1394BS1600B = "FW1394BS1600B" + FW1394BS400B = "FW1394BS400B" + FW1394BS800B = "FW1394BS800B" + GAP = "GAP" + GAUSSIAN = "GAUSSIAN" # GAUSSian + # GAUSSIAN = "GAUSsian" + GET = "GET" + GETBUSCH = "GETBUSCH" # GETBusch + GETCONFIG = "GETCONFIG" # GETCONFig + GETDEVCH = "GETDEVCH" # GETDevch + GETFLASHNP = "GETFLASHNP" + GETMRDL = "GETMRDL" # GETMRdl + GETMWRL = "GETMWRL" # GETMWrl + GETNP = "GETNP" + GETOOB = "GETOOB" + GETPC = "GETPC" + GETPRID = "GETPRID" # GETPrid + GETREG = "GETREG" # GETReg + GETREGPKTALERT = "GETREGPKTALERT" # GETRegpktalert + GETREGPKTBAD = "GETREGPKTBAD" # GETRegpktbad + GETREGPKTRECENT = "GETREGPKTRECENT" # GETRegpktrecent + GETREGTESTCFG = "GETREGTESTCFG" # GETRegtestcfg + GETREGVENDOR = "GETREGVENDOR" # GETRegvendor + GETREGVREVENT = "GETREGVREVENT" # GETRegvrevent + GETSLAVE = "GETSLAVE" # GETSlave + GETSTATUS = "GETSTATUS" # GETSTATus + GETVWIRE = "GETVWIRE" # GETVWIRe + GLOBAL = "GLOBAL" # GLOBal + GRATICULE = "GRATICULE" + GREATERTHAN = "GREATERTHAN" # GREATERthan + H = "H" + HAMMING = "HAMMING" # HAMMing + HANDSHAKEPACKET = "HANDSHAKEPACKET" # HANDSHAKEPacket + HANNING = "HANNING" # HANNing + HASH = "HASH" + HBARS = "HBARS" # HBArs + HDRCAPABILITY = "HDRCAPABILITY" # HDRCapability + HDREXIT = "HDREXIT" # HDRExit + HDRRESTART = "HDRRESTART" # HDRRestart + HEADER = "HEADER" # HEADer + HEX = "HEX" + HEXAGON = "HEXAGON" # HEXAgon + HFREJ = "HFREJ" # HFRej + HI = "HI" + HIGH = "HIGH" + HIGHZ = "HIGHZ" + HILBERT = "HILBERT" # HILBert + HORIZONTAL = "HORIZONTAL" # HORizontal + HORIZONTALSCALE = "HORIZONTALSCALE" # HORIZontalscale + HOSTADDR = "HOSTADDR" + HOSTCHIRP = "HOSTCHIRP" # HOSTChirp + HOTJOIN = "HOTJOIN" # HOTJoin + HPASS = "HPASS" # HPASs + HS = "HS" + HSENSOR = "HSENSOR" + HUNDRED = "HUNDRED" # HUNdred + HUNDREDBASET1 = "HUNDREDBASET1" + HUNDREDBASETX = "HUNDREDBASETX" + HZ = "HZ" + I2C = "I2C" + I2S = "I2S" + I3C = "I3C" + IBA2500 = "IBA2500" + IBA_GEN2 = "IBA_GEN2" + IBS = "IBS" + IC = "IC" + ID = "ID" + IDANDDATA = "IDANDDATA" + IDENTIFIER = "IDENTIFIER" # IDentifier + IDLE = "IDLE" + # IDLE = "IDLe" + IDX = "IDX" + IGBT = "IGBT" + IMAGINARY = "IMAGINARY" # IMAGinary + IN = "IN" + INCHLB = "INCHLB" + INCLUDE = "INCLUDE" # INCLude + INDEPENDENT = "INDEPENDENT" + INDEX = "INDEX" # INDex + INFINITE = "INFINITE" # INFInite + INFORMATION = "INFORMATION" # INFormation + INFPERSIST = "INFPERSIST" # INFPersist + INIT = "INIT" + INPUT = "INPUT" + INPWR = "INPWR" + INPWRSUM = "INPWRSUM" + INRANGE = "INRANGE" # INrange + # INRANGE = "Inrange" + INSIDEGREATER = "INSIDEGREATER" # INSIDEGreater + INSIDERANGE = "INSIDERANGE" # INSIDErange + INVERT = "INVERT" # INVert + INVERTED = "INVERTED" # INVERTed + # INVERTED = "INVErted" + # INVERTED = "INVerted" + IPDATA = "IPDATA" # IPData + IPHEADER = "IPHEADER" # IPHEADer + # IPHEADER = "IPHeader" + IRMS = "IRMS" + IRQ = "IRQ" + ISOALL = "ISOALL" + ISOEND = "ISOEND" + ISOMID = "ISOMID" + ISOSTART = "ISOSTART" + JPG = "JPG" + KAISERBESSEL = "KAISERBESSEL" # KAISERBessel + # KAISERBESSEL = "KAISerbessel" + L = "L" + LABEL = "LABEL" # LABel + LABELANDDATA = "LABELANDDATA" + LATCH = "LATCH" # LATCh + LCHANNEL = "LCHANNEL" # LCHannel + LEFT = "LEFT" # LEFt + LEN = "LEN" + LENGTH = "LENGTH" # LENGth + LESSEQUAL = "LESSEQUAL" # LESSEQual + LESSTHAN = "LESSTHAN" # LESSthan + LF = "LF" + LFREJ = "LFREJ" # LFRej + LIN = "LIN" + LINE = "LINE" + LINEAR = "LINEAR" + # LINEAR = "LINEAr" + # LINEAR = "LINear" + LJ = "LJ" + LOG = "LOG" + LOGARITHM = "LOGARITHM" + LOGIC = "LOGIC" # LOGIc + LOGICAL = "LOGICAL" # LOGical + LOGICSTATE = "LOGICSTATE" # LogicState + LONG = "LONG" + LONGEXTREGREAD = "LONGEXTREGREAD" # LONGEXTREGREAd + LONGEXTREGWRITE = "LONGEXTREGWRITE" # LONGEXTREGWRIte + LOW = "LOW" + LOWSPEED = "LOWSPEED" + LP = "LP" + LPASS = "LPASS" # LPASs + LPDDR3 = "LPDDR3" + LPDT = "LPDT" + LRD = "LRD" + LRW = "LRW" + LSB = "LSB" + LSLAVE = "LSLAVE" # LSLave + LTR = "LTR" + LWR = "LWR" + MACADDRESS = "MACADDRESS" # MACADDRess + MACLENGTH = "MACLENGTH" # MACLENgth + MAGNITUDE = "MAGNITUDE" + # MAGNITUDE = "MAGNitude" + MAILBOX = "MAILBOX" + # MAILBOX = "MAILbox" + MAILBOXHEADER = "MAILBOXHEADER" # MAILBOXHEADer + MANCHESTER = "MANCHESTER" # MANChester + MANUAL = "MANUAL" + # MANUAL = "MANual" + # MANUAL = "Manual" + MASTER = "MASTER" # MASTer + MASTERREAD = "MASTERREAD" # MASTERREAd + MASTERWRITE = "MASTERWRITE" # MASTERWRIte + MATCHROM = "MATCHROM" + MAXHOLD = "MAXHOLD" # MAXHold + MAXIMUM = "MAXIMUM" # MAXimum + MCTP = "MCTP" + MDATA = "MDATA" + MDATASPEED = "MDATASPEED" # MDATASpeed + MDIO = "MDIO" + MEAN = "MEAN" + MEANHISTOGRAM = "MEANHISTOGRAM" # MEANhistogram + MEASURED = "MEASURED" # MEASured + MEDIAN = "MEDIAN" # MEDian + MEDIUM = "MEDIUM" # MEDium + MEMRD32 = "MEMRD32" + MEMRD64 = "MEMRD64" + MEMRDWR32 = "MEMRDWR32" + MEMRDWR64 = "MEMRDWR64" + MEMWR32 = "MEMWR32" + MEMWR64 = "MEMWR64" + MESSAGE = "MESSAGE" # MESSage + MID = "MID" + MIL1553B = "MIL1553B" + MINHOLD = "MINHOLD" # MINHold + MINMAX = "MINMAX" # MINMax + MISO = "MISO" # MISo + MISODATA = "MISODATA" # MISOdata + MIXED = "MIXED" + # MIXED = "MIXed" + MIXEDASCII = "MIXEDASCII" + MIXEDHEX = "MIXEDHEX" + MODE = "MODE" + # MODE = "MODe" + MODEHISTOGRAM = "MODEHISTOGRAM" # MODEhistogram + MOREEQUA = "MOREEQUA" # MOREEQua + MOREEQUAL = "MOREEQUAL" # MOREEQual + MORETHAN = "MORETHAN" # MOREthan + MOSFET = "MOSFET" + MOSI = "MOSI" # MOSi + MOSIDATA = "MOSIDATA" # MOSIdata + MOVEABLE = "MOVEABLE" + MPAYLOAD = "MPAYLOAD" # MPAYload + MPULSE = "MPULSE" # MPULse + MSB = "MSB" + MSGWITHDATA = "MSGWITHDATA" # MSGWITHDATa + MULTIPLY = "MULTIPLY" # MULTiply + NACK = "NACK" + NAK = "NAK" + NAND = "NAND" # NANd + NATIVE = "NATIVE" # NATive + NEGATIVE = "NEGATIVE" # NEGAtive + # NEGATIVE = "NEGative" + NETMN = "NETMN" + NETWORK = "NETWORK" # Network + NETWORKVARIABLE = "NETWORKVARIABLE" # NETWORKVARiable + NETWORKVARIABLES = "NETWORKVARIABLES" # NETWORKVARiables + NIBBLE = "NIBBLE" # NIBBLe + NINE = "NINE" # NINe + NM = "NM" + NO = "NO" + NOCARE = "NOCARE" + NOISEREJ = "NOISEREJ" # NOISErej + NOMINAL = "NOMINAL" # NOMinal + NONFATAL = "NONFATAL" # NONFATal + NONTRANSITION = "NONTRANSITION" # NONTRANsition + NOP = "NOP" + NOPARITY = "NOPARITY" # NOPARity + NOR = "NOR" + NORESPONSE = "NORESPONSE" # NORESPonse + NORMAL = "NORMAL" # NORMal + # NORMAL = "NORmal" + NOSTATION = "NOSTATION" # NOSTATion + NOTE = "NOTE" + NOTEQUAL = "NOTEQUAL" # NOTEQual + NOTEQUALS = "NOTEQUALS" # NOTEQuals + NULL = "NULL" + # NULL = "NULl" + NULLFRDYNAMIC = "NULLFRDYNAMIC" # NULLFRDynamic + NULLFRSTATIC = "NULLFRSTATIC" # NULLFRStatic + NUMERICORDER = "NUMERICORDER" # NUMERICORDer + NVDATA = "NVDATA" # NVDATa + NVHEADER = "NVHEADER" # NVHEADer + NVLEN = "NVLEN" + NWVARIABLEDATA = "NWVARIABLEDATA" # NWVariabledata + NYET = "NYET" + OC1 = "OC1" + OC12 = "OC12" + OC3 = "OC3" + OC48 = "OC48" + OCCURS = "OCCURS" + ODD = "ODD" + OFF = "OFF" + OFFSET = "OFFSET" # OFFSet + ON = "ON" + ONE = "ONE" + ONEPAIRI = "ONEPAIRI" + ONEPAIRV = "ONEPAIRV" + ONEPAIRVI = "ONEPAIRVI" + OOBCHANNEL = "OOBCHANNEL" # OOBCHANnel + OOBSMBUS = "OOBSMBUS" + OPCODEERROR = "OPCODEERROR" # OPCODEERRor + OPPOSITEAS = "OPPOSITEAS" # OPPositeas + OPTIONAL = "OPTIONAL" # OPTional + OPTIONALPARAM = "OPTIONALPARAM" # OPTIONALPARam + OR = "OR" + OUT = "OUT" + OUTPUT = "OUTPUT" + OUTPWR = "OUTPWR" + OUTPWRSUM = "OUTPWRSUM" + OUTRANGE = "OUTRANGE" # OUTrange + OUTSIDE = "OUTSIDE" # OUTside + OUTSIDEGREATER = "OUTSIDEGREATER" # OUTSIDEGreater + OUTSIDERANGE = "OUTSIDERANGE" # OUTSIDErange + OVERDRIVE = "OVERDRIVE" # OVErdrive + OVERLAY = "OVERLAY" # OVErlay + OVERLOAD = "OVERLOAD" # OVERLoad + OZINCH = "OZINCH" + P1W2V1I1 = "P1W2V1I1" + P1W3V2I2 = "P1W3V2I2" + P3W3 = "P3W3" + P3W3V2I2 = "P3W3V2I2" + P3W3V3I3 = "P3W3V3I3" + P3W4 = "P3W4" + PACKET = "PACKET" + PACKETOFFDATA = "PACKETOFFDATA" # packetOffData + PACKETS = "PACKETS" # PACKets + PARALLEL = "PARALLEL" # PARallel + PARITY = "PARITY" # PARity + PARITYERROR = "PARITYERROR" # PARItyerror + PAUSE = "PAUSE" + PAYLOAD = "PAYLOAD" # PAYLoad + # PAYLOAD = "PAYload" + PCIEXPRESS = "PCIEXPRESS" # PCIExpress + PCIE_GEN1 = "PCIE_GEN1" + PCIE_GEN2 = "PCIE_GEN2" + PCIE_GEN3 = "PCIE_GEN3" + PDU = "PDU" + PEC = "PEC" + PERCENT = "PERCENT" # PERCent + PERICHANNEL = "PERICHANNEL" # PERICHANnel + PERSOURCE = "PERSOURCE" # PERSource + PFC = "PFC" + PHASE = "PHASE" + # PHASE = "PHASe" + PHASEONE = "PHASEONE" + PHASETHREE = "PHASETHREE" + PHASETWO = "PHASETWO" + PHYSICALADDRESS = "PHYSICALADDRESS" # PHYSICALADDRess + PID = "PID" + PING = "PING" + PIXELNUMBER = "PIXELNUMBER" # PIXELNUMBer + PIXELVALUE = "PIXELVALUE" # PIXELVALue + PIXMAP = "PIXMAP" # PIXmap + PLL = "PLL" + PNG = "PNG" + PNJUNCTION = "PNJUNCTION" + POLLINGLONG = "POLLINGLONG" + POLLINGNORMAL = "POLLINGNORMAL" # POLLINGNORMal + PORTCONFIGURATION = "PORTCONFIGURATION" # PORTConfiguration + PORTRESET = "PORTRESET" # PORTReset + POSITION = "POSITION" # POSition + POSITIVE = "POSITIVE" # POSITIVe + # POSITIVE = "POSitive" + POWLINEAR = "POWLINEAR" # POWLINear + POWLOG = "POWLOG" + PREAMBLE = "PREAMBLE" # PREamble + PRECISE = "PRECISE" + PRESENCE = "PRESENCE" # PREsence + PRIORITY = "PRIORITY" # PRIority + PROFILE = "PROFILE" # PROFile + PROTOCOL = "PROTOCOL" # PROTocol + PTYPE = "PTYPE" # PTYPe + PUBHEADER = "PUBHEADER" # PUBHEADer + PULSEWIDTH = "PULSEWIDTH" # PULSEWIDTh + # PULSEWIDTH = "PULSEWidth" + PUTFLASHC = "PUTFLASHC" + PUTIORDSHORT = "PUTIORDSHORT" # PUTIORDSHORt + PUTIOWRSHORT = "PUTIOWRSHORT" # PUTIOWRSHORt + PUTMEMRD32SHORT = "PUTMEMRD32SHORT" # PUTMEMRD32SHORt + PUTMEMWR32SHORT = "PUTMEMWR32SHORT" # PUTMEMWR32SHORt + PUTNP = "PUTNP" + PUTOOB = "PUTOOB" + PUTPC = "PUTPC" + PUTVWIRE = "PUTVWIRE" # PUTVWIRe + Q = "Q" + QEI = "QEI" + QTAG = "QTAG" + RADIANS = "RADIANS" + RAPDATA = "RAPDATA" # RAPDATa + RATED = "RATED" # RATed + RC = "RC" + RCHANNEL = "RCHANNEL" # RCHannel + RDATA = "RDATA" # RDATa + READ = "READ" + READROM = "READROM" + READY = "READY" # READy + REAL = "REAL" + RECORD = "RECORD" + RECORDLENGTH = "RECORDLENGTH" # RECORDLength + RECTANGLE = "RECTANGLE" + # RECTANGLE = "RECTangle" + RECTANGULAR = "RECTANGULAR" # RECTANGular + # RECTANGULAR = "RECTangular" + REG0WRITE = "REG0WRITE" # REG0WRIte + REGADDRTESTCONFG = "REGADDRTESTCONFG" # REGAddrtestconfg + REGADDRVENDOR = "REGADDRVENDOR" # REGAddrvendor + REGDATATESTCONFG = "REGDATATESTCONFG" # REGDatatestconfg + REGDATAVENDOR = "REGDATAVENDOR" # REGDatavendor + REGISTERADDRESS = "REGISTERADDRESS" # REGISTERADDRess + REGREAD = "REGREAD" # REGREAd + REGWRITE = "REGWRITE" # REGWRIte + REJ = "REJ" + REJECT = "REJECT" # REJect + REMOTE = "REMOTE" # REMote + REPEATERHOST = "REPEATERHOST" # REPEATERHOSt + REPEATERPERIPHERAL = "REPEATERPERIPHERAL" + REPEATING = "REPEATING" # REPeating + REPEATSTART = "REPEATSTART" # REPEATSTARt + # REPEATSTART = "REPEATStart" + # REPEATSTART = "REPEATstart" + REPWR = "REPWR" + REPWRSUM = "REPWRSUM" + REQDISCONNECT = "REQDISCONNECT" # REQDISConnect + REQSETINIT = "REQSETINIT" + RERUN = "RERUN" + RESERVED = "RESERVED" # RESERVed + # RESERVED = "RESERved" + # RESERVED = "REServed" + RESET = "RESET" + # RESET = "RESet" + RESETTRIGGER = "RESETTRIGGER" # RESETTRIGger + RESPONSE = "RESPONSE" + # RESPONSE = "RESPonse" + RESPONSECODE = "RESPONSECODE" # RESPONSECODe + RESPONSEHEADER = "RESPONSEHEADER" # RESPONSEHEADer + RESPONSENOHEADER = "RESPONSENOHEADER" # RESPONSENOHEADer + RESUME = "RESUME" + REVERSE = "REVERSE" # reverse + RFVSTIME = "RFVSTIME" # RFvsTime + RI = "RI" + RIBINARY = "RIBINARY" # RIBinary + RIGHT = "RIGHT" # RIGht + RIO125 = "RIO125" + RIO250 = "RIO250" + RIO3125 = "RIO3125" + RISE = "RISE" + # RISE = "RISe" + RISING = "RISING" + # RISING = "RISing" + RJ = "RJ" + RMS = "RMS" + RNR = "RNR" + RP = "RP" + RPBINARY = "RPBINARY" # RPBinary + RPM = "RPM" + RR = "RR" + RRC = "RRC" + RS232C = "RS232C" + RSTDYA = "RSTDYA" # RSTDya + RUN = "RUN" + RUNT = "RUNT" + # RUNT = "RUNt" + RX = "RX" + RXDATA = "RXDATA" # RXData + SAME = "SAME" + SAMEAS = "SAMEAS" # SAMEas + SAS12_NOSSC = "SAS12_NOSSC" + SAS12_SSC = "SAS12_SSC" + SAS15_NOSSC = "SAS15_NOSSC" + SAS15_SSC = "SAS15_SSC" + SAS3_NOSSC = "SAS3_NOSSC" + SAS3_SSC = "SAS3_SSC" + SAS6_NOSSC = "SAS6_NOSSC" + SAS6_SSC = "SAS6_SSC" + SATA_GEN1 = "SATA_GEN1" + SATA_GEN2 = "SATA_GEN2" + SATA_GEN3 = "SATA_GEN3" + SAVG = "SAVG" + SCIENTIFIC = "SCIENTIFIC" # SCIentific + SCRAMBLING = "SCRAMBLING" # SCRambling + SCREEN = "SCREEN" + # SCREEN = "SCReen" + SDATA = "SDATA" # SDATa + SDIDATA = "SDIDATA" + SDIDATASSM = "SDIDATASSM" + SDRBROADCAST = "SDRBROADCAST" # SDRBroadcast + SDRDIRECT = "SDRDIRECT" # SDRDirect + SEARCH1 = "SEARCH1" + SEARCHROM = "SEARCHROM" + SEARCHTOTRIGGER = "SEARCHTOTRIGGER" # SEARCHtotrigger + SEGMENTS = "SEGMENTS" # SEGments + SENSOR = "SENSOR" + SENSORADDRESS = "SENSORADDRESS" # SENSORADDRess + SENSORECU = "SENSORECU" + SENSORSTATUS = "SENSORSTATUS" # SENSORSTATus + SENT = "SENT" + SEQUENCE = "SEQUENCE" # SEQuence + SERVICEDATA = "SERVICEDATA" # SERVICEDATa + SERVICEMODE = "SERVICEMODE" # SERVICEMODe + SET = "SET" + SETBRT = "SETBRT" # SETBrt + SETCONFIG = "SETCONFIG" # SETCONFig + SETDECAY = "SETDECAY" # SETDecay + SETDYA = "SETDYA" # SETDya + SETEXT = "SETEXT" # SEText + SETFAST = "SETFAST" # SETFast + SETHOLD = "SETHOLD" # SETHold + SETMRDL = "SETMRDL" # SETMrdl + SETMWRL = "SETMWRL" # SETMwrl + SETNDYA = "SETNDYA" # SETNdya + SETPS = "SETPS" # SETPs + SETREGADDR = "SETREGADDR" # SETRegaddr + SETREGDATA = "SETREGDATA" # SETRegdata + SETSLOW = "SETSLOW" # SETSlow + SETUP = "SETUP" + SETWP = "SETWP" # SETWp + SEVEN = "SEVEN" # SEVEn + SFD = "SFD" + SFPBINARY = "SFPBINARY" # SFPbinary + SHORT = "SHORT" # SHORt + SHUTDOWN = "SHUTDOWN" # SHUTdown + SI = "SI" + SINGLE = "SINGLE" + # SINGLE = "SINGle" + SINX = "SINX" + SIX = "SIX" + SIXBIT = "SIXBIT" + SIXFIFTYHZ = "SIXFIFTYHZ" # SIXFIFTyhz + SIXTEENEIGHT = "SIXTEENEIGHT" # SIXTEENeight + SIXTYHZ = "SIXTYHZ" + # SIXTYHZ = "SIXTyhz" + SKIPROM = "SKIPROM" + SLAVE = "SLAVE" # SLAVe + SLAVEADDRESS = "SLAVEADDRESS" # SLAVEADDRess + SLEEP = "SLEEP" + # SLEEP = "SLEep" + SLOW = "SLOW" + SLOWERTHAN = "SLOWERTHAN" # SLOWERthan + SMPS = "SMPS" + SNAP = "SNAP" # SNAp + SNRM = "SNRM" + SNRME = "SNRME" + SOCKET = "SOCKET" # Socket + SOF = "SOF" + SOT = "SOT" + SOW = "SOW" + SPACE = "SPACE" # SPace + SPAYLOAD = "SPAYLOAD" # SPAYload + SPECIALPACKET = "SPECIALPACKET" # SPECIALPacket + SPECTRAL = "SPECTRAL" + SPECTRALBUJ = "SPECTRALBUJ" + SPI = "SPI" + SPLIT = "SPLIT" + # SPLIT = "SPLit" + SPMI = "SPMI" + SPULSE = "SPULSE" # SPULse + SRIBINARY = "SRIBINARY" # SRIbinary + SRPBINARY = "SRPBINARY" # SRPbinary + SS = "SS" + SSC = "SSC" + SSD = "SSD" + SSEQ = "SSEQ" + SSPLIT = "SSPLIT" + STACKED = "STACKED" # STAcked + STALL = "STALL" + STANDARD = "STANDARD" # STAndard + # STANDARD = "STandard" + START = "START" + # START = "STARt" + # START = "Start" + STARTBIT = "STARTBIT" + STARTCONDITION = "STARTCONDITION" # STARTCONDition + STARTOFFRAME = "STARTOFFRAME" # STARTofframe + STARTPACKET = "STARTPACKET" # STARTPACKet + STARTUP = "STARTUP" # STARTup + STARTUPNOSYNC = "STARTUPNOSYNC" # STARTupnosync + STATIC = "STATIC" + STATIONADDR = "STATIONADDR" # STATIONADDr + STATUS = "STATUS" # STATus + STAYSHIGH = "STAYSHIGH" # STAYSHigh + STAYSLOW = "STAYSLOW" # STAYSLow + STEPRESPONSE = "STEPRESPONSE" + STOP = "STOP" + # STOP = "STop" + # STOP = "Stop" + SUBTRACT = "SUBTRACT" # SUBtract + SUCCESSDATA = "SUCCESSDATA" # SUCCESSDATa + SUCCESSNODATA = "SUCCESSNODATA" # SUCCESSNODATa + SUPERVISORY = "SUPERVISORY" # SUPervisory + SUSPEND = "SUSPEND" + SV = "SV" + SVID = "SVID" + SWITCHING = "SWITCHING" + SYMB = "SYMB" + SYMBOL = "SYMBOL" # SYMBol + # SYMBOL = "Symbol" + SYMBOLS = "SYMBOLS" # SYMbols + SYNC = "SYNC" + SYNCBITS = "SYNCBITS" + SYNCFIELD = "SYNCFIELD" # SYNCfield + SYNCFRAME = "SYNCFRAME" # SYNCFrame + TBIT = "TBIT" + TCI = "TCI" + TCPHEADER = "TCPHEADER" # TCPHeader + TDATA = "TDATA" # TDATa + TDM = "TDM" + TDMCHANNEL = "TDMCHANNEL" # TDMChannel + TEKEXPONENTIAL = "TEKEXPONENTIAL" # TEKEXPonential + TENBASET = "TENBASET" + TENNINETY = "TENNINETY" # TENNinety + TEST = "TEST" + TESTMODE = "TESTMODE" # TESTmode + THREE = "THREE" + # THREE = "THRee" + THREEPHASEAUTOSET = "THREEPHASEAUTOSET" # THREEPHASEAUTOset + THREESIXTYHZ = "THREESIXTYHZ" # THREESIXTyhz + TIMECODE = "TIMECODE" # TIMECODe + TIMEOUT = "TIMEOUT" # TIMEOut + TOKENPACKET = "TOKENPACKET" # TOKENPacket + TOLERANCES = "TOLERANCES" # TOLerances + TOOTHGAP = "TOOTHGAP" + TOTALEFFICIENCY = "TOTALEFFICIENCY" # TOTALEFFiciency + TRACK = "TRACK" + TRAILER = "TRAILER" # TRAiler + TRANSFERBUSOWNERSHIP = "TRANSFERBUSOWNERSHIP" # TRANSferbusownership + TRANSITION = "TRANSITION" # TRANSition + # TRANSITION = "TRANsition" + TRAPEZOID = "TRAPEZOID" # TRAPezoid + TRIANGLE = "TRIANGLE" # TRIAngle + TRIGGER = "TRIGGER" # TRIGger + TRIGGERTOSEARCH = "TRIGGERTOSEARCH" # TRIGgertosearch + TRPWR = "TRPWR" + TRPWRSUM = "TRPWRSUM" + TRUE = "TRUE" # TRUe + # TRUE = "True" + # TRUE = "true" + TWELVETWELVE = "TWELVETWELVE" # TWELVEtwelve + TWENTYBIT = "TWENTYBIT" + TWENTYEIGHTY = "TWENTYEIGHTY" # TWENtyeighty + TWENTYFIVE = "TWENTYFIVE" # TWENtyfive + TWO = "TWO" + TWOBIT = "TWOBIT" + TWOCLOCKCYCLES = "TWOCLOCKCYCLES" + TWOFIFTY = "TWOFIFTY" # TWOFifty + TWOTHOUSAND = "TWOTHOUSAND" # TWOThousand + TX = "TX" + TXDATA = "TXDATA" # TXData + TXRX = "TXRX" + TYPE = "TYPE" # TYPe + UACK = "UACK" + UDIDDATA = "UDIDDATA" # UDIDDATa + UDPIP = "UDPIP" + UDPIPHEADER = "UDPIPHEADER" # UDPIPHEADer + UI = "UI" + ULPS = "ULPS" + UNEQUAL = "UNEQUAL" # UNEQual + UNIQUE = "UNIQUE" # UNIQue + UNLOCKED = "UNLOCKED" # UNLocked + UNNUMBERED = "UNNUMBERED" # UNNumbered + UNSUCCESSNODATA = "UNSUCCESSNODATA" # UNSUCCESSNODATa + UP = "UP" + USB = "USB" + USB3 = "USB3" + V1X = "V1X" + V2X = "V2X" + VBARS = "VBARS" # VBArs + VCE = "VCE" + VDS = "VDS" + VECTOR = "VECTOR" # VECtor + VECTORS = "VECTORS" # VECtors + VERTICAL = "VERTICAL" # VERTical + VGE = "VGE" + VISA = "VISA" # Visa + VOLTAGE = "VOLTAGE" + # VOLTAGE = "VOLTage" + VRMS = "VRMS" + VWCHANNEL = "VWCHANNEL" # VWCHANnel + WAIT = "WAIT" + WAKEUP = "WAKEUP" # WAKEup + # WAKEUP = "WAKeup" + WAVEFORM = "WAVEFORM" + # WAVEFORM = "WAVEform" + WBGPRESET = "WBGPRESET" # WBGPREset + WIDTH = "WIDTH" # WIDth + WINDOW = "WINDOW" # WINdow + WITHIN = "WITHIN" # WIThin + WKC = "WKC" + WORD = "WORD" + # WORD = "Word" + WRITE = "WRITE" + # WRITE = "WRITe" + X = "X" + XAUI = "XAUI" + XAUI_GEN2 = "XAUI_GEN2" + XFF = "XFF" + XID = "XID" + XN = "XN" + XYZY = "XYZY" + XZYZ = "XZYZ" + YES = "YES" + YN = "YN" + YXZX = "YXZX" + ZERO = "ZERO" # ZERo + ZN = "ZN" + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods +class TekScopePCCommands: + """The TekScopePC commands. + + This provides access to all the commands for the TekScopePC device. See the documentation of + each property for more usage information. + + Properties: + - ``.actonevent``: The ``ACTONEVent`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.autosavepitimeout``: The ``AUTOSAVEPITIMEOUT`` command. + - ``.autosaveuitimeout``: The ``AUTOSAVEUITIMEOUT`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.bustable``: The ``BUSTABle`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.callouts``: The ``CALLOUTS`` command tree. + - ``.ch``: The ``CH`` command. + - ``.cls``: The ``*CLS`` command. + - ``.configuration``: The ``CONFIGuration`` command tree. + - ``.curve``: The ``CURVe`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.customtable``: The ``CUSTOMTABle`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.dese``: The ``DESE`` command. + - ``.display``: The ``DISplay`` command. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.eyemask``: The ``EYEMASK`` command tree. + - ``.factory``: The ``FACtory`` command. + - ``.filesys``: The ``FILESYS`` command tree. + - ``.filesystem``: The ``FILESystem`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. + - ``.horizontal``: The ``HORizontal`` command tree. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.lic``: The ``LIC`` command tree. + - ``.license``: The ``LICense`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mainwindow``: The ``MAINWindow`` command tree. + - ``.mask``: The ``MASK`` command tree. + - ``.math``: The ``MATH`` command tree. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.meastable``: The ``MEASTABle`` command tree. + - ``.measu``: The ``MEASU`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opt``: The ``*OPT`` command. + - ``.pause``: The ``PAUSe`` command. + - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.plot``: The ``PLOT`` command tree. + - ``.power``: The ``POWer`` command tree. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.refx``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.remote``: The ``REMOTE`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.s``: The ``S`` command tree. + - ``.save``: The ``SAVe`` command tree. + - ``.saveonevent``: The ``SAVEONEVent`` command tree. + - ``.search``: The ``SEARCH`` command tree. + - ``.searchtable``: The ``SEARCHTABle`` command. + - ``.set``: The ``SET`` command. + - ``.socketserver``: The ``SOCKETServer`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.sv``: The ``SV`` command tree. + - ``.time``: The ``TIMe`` command. + - ``.totaluptime``: The ``TOTaluptime`` command. + - ``.trigger``: The ``TRIGger`` command tree. + - ``.tst``: The ``*TST`` command. + - ``.undo``: The ``UNDO`` command. + - ``.verbose``: The ``VERBose`` command. + - ``.vertical``: The ``VERTical`` command tree. + - ``.visual``: The ``VISual`` command tree. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + """ + + # pylint: disable=too-many-statements + def __init__(self, device: Optional[PIDevice] = None) -> None: # noqa: PLR0915 + self._actonevent = Actonevent(device) + self._alias = Alias(device) + self._allev = Allev(device) + self._autosavepitimeout = Autosavepitimeout(device) + self._autosaveuitimeout = Autosaveuitimeout(device) + self._bus = Bus(device) + self._bustable = Bustable(device) + self._busy = Busy(device) + self._callouts = Callouts(device) + self._ch: Dict[int, Channel] = DefaultDictPassKeyToFactory( + lambda x: Channel(device, f"CH{x}") + ) + self._cls = Cls(device) + self._configuration = Configuration(device) + self._curve = Curve(device) + self._curvestream = Curvestream(device) + self._customtable = Customtable(device) + self._data = Data(device) + self._date = Date(device) + self._dese = Dese(device) + self._display = Display(device) + self._ese = Ese(device) + self._esr = Esr(device) + self._event = Event(device) + self._evmsg = Evmsg(device) + self._evqty = Evqty(device) + self._eyemask = Eyemask(device) + self._factory = Factory(device) + self._filesys = Filesys(device) + self._filesystem = Filesystem(device) + self._header = Header(device) + self._histogram = Histogram(device) + self._horizontal = Horizontal(device) + self._id = Id(device) + self._idn = Idn(device) + self._lic = Lic(device) + self._license = License(device) + self._lrn = Lrn(device) + self._mainwindow = Mainwindow(device) + self._mask = Mask(device) + self._math = Math(device) + self._matharbflt: Dict[int, MatharbfltItem] = DefaultDictPassKeyToFactory( + lambda x: MatharbfltItem(device, f"MATHArbflt{x}") + ) + self._meastable = Meastable(device) + self._measu = Measu(device) + self._measurement = Measurement(device) + self._opc = Opc(device) + self._opt = Opt(device) + self._pause = Pause(device) + self._peakstable = Peakstable(device) + self._plot = Plot(device) + self._power = Power(device) + self._psc = Psc(device) + self._pud = Pud(device) + self._recall = Recall(device) + self._ref = Ref(device) + self._refx: Dict[int, RefItem] = DefaultDictPassKeyToFactory( + lambda x: RefItem(device, f"REF{x}") + ) + self._rem = Rem(device) + self._remote = Remote(device) + self._rst = Rst(device) + self._s: Dict[int, SItem] = DefaultDictPassKeyToFactory(lambda x: SItem(device, f"S{x}")) + self._save = Save(device) + self._saveonevent = Saveonevent(device) + self._search = Search(device) + self._searchtable = Searchtable(device) + self._set = Set(device) + self._socketserver = Socketserver(device) + self._sre = Sre(device) + self._stb = Stb(device) + self._sv = Sv(device) + self._time = Time(device) + self._totaluptime = Totaluptime(device) + self._trigger = Trigger(device) + self._tst = Tst(device) + self._undo = Undo(device) + self._verbose = Verbose(device) + self._vertical = Vertical(device) + self._visual = Visual(device) + self._wai = Wai(device) + self._wavfrm = Wavfrm(device) + self._wfmoutpre = Wfmoutpre(device) + + @property + def actonevent(self) -> Actonevent: + """Return the ``ACTONEVent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``ACTONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``ACTONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enable``: The ``ACTONEVent:ENable`` command. + - ``.numsaves``: The ``ACTONEVent:NUMSAVEs`` command. + - ``.timer``: The ``ACTONEVent:TIMER`` command tree. + - ``.timercount``: The ``ACTONEVent:TIMERCount`` command. + - ``.timerinterval``: The ``ACTONEVent:TIMERInterval`` command. + - ``.type``: The ``ACTONEVent:Type`` command. + """ + return self._actonevent + + @property + def alias(self) -> Alias: + """Return the ``ALIas`` command. + + Description: + - This command sets or queries the state of alias functionality, and it is identical to + the ``ALIAS:STATE`` command. + + Usage: + - Using the ``.query()`` method will send the ``ALIas?`` query. + - Using the ``.verify(value)`` method will send the ``ALIas?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``ALIas value`` command. + + SCPI Syntax: + ``` + - ALIas {ON|OFF|} + - ALIas? + ``` + + Info: + - ``OFF`` turns Alias expansion off. + - ``ON`` turns Alias expansion on. When a defined alias is received, the specified + command sequence is substituted for the alias and executed. + - ```` = 0 disables Alias mode; any other value enables Alias mode. + + Sub-properties: + - ``.catalog``: The ``ALIas:CATalog`` command. + - ``.define``: The ``ALIas:DEFine`` command. + - ``.delete``: The ``ALIas:DELEte`` command. + - ``.state``: The ``ALIas:STATE`` command. + """ + return self._alias + + @property + def allev(self) -> Allev: + """Return the ``ALLEv`` command. + + Description: + - This query-only command prompts the instrument to return all events and their messages + (delimited by commas), and removes the returned events from the Event Queue. Use the + ``*ESR?`` query to enable the events to be returned. This command is similar to + repeatedly sending ``*EVMsg?`` queries to the instrument. + + Usage: + - Using the ``.query()`` method will send the ``ALLEv?`` query. + - Using the ``.verify(value)`` method will send the ``ALLEv?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - ALLEv? + ``` + """ + return self._allev + + @property + def autosavepitimeout(self) -> Autosavepitimeout: + """Return the ``AUTOSAVEPITIMEOUT`` command. + + Description: + - This command sets or queries the idle time from the programmable interface before + auto-save occurs. + + Usage: + - Using the ``.query()`` method will send the ``AUTOSAVEPITIMEOUT?`` query. + - Using the ``.verify(value)`` method will send the ``AUTOSAVEPITIMEOUT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``AUTOSAVEPITIMEOUT value`` command. + + SCPI Syntax: + ``` + - AUTOSAVEPITIMEOUT + - AUTOSAVEPITIMEOUT? + ``` + + Info: + - ```` + """ + return self._autosavepitimeout + + @property + def autosaveuitimeout(self) -> Autosaveuitimeout: + """Return the ``AUTOSAVEUITIMEOUT`` command. + + Description: + - This command sets or queries the idle time from the user interface before auto-save + occurs. + + Usage: + - Using the ``.query()`` method will send the ``AUTOSAVEUITIMEOUT?`` query. + - Using the ``.verify(value)`` method will send the ``AUTOSAVEUITIMEOUT?`` query and + raise an AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``AUTOSAVEUITIMEOUT value`` command. + + SCPI Syntax: + ``` + - AUTOSAVEUITIMEOUT + - AUTOSAVEUITIMEOUT? + ``` + + Info: + - ```` + """ + return self._autosaveuitimeout + + @property + def bus(self) -> Bus: + """Return the ``BUS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUS?`` query. + - Using the ``.verify(value)`` method will send the ``BUS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``BUS:ADDNew`` command. + - ``.b``: The ``BUS:B`` command tree. + - ``.delete``: The ``BUS:DELete`` command. + - ``.list``: The ``BUS:LIST`` command. + """ + return self._bus + + @property + def bustable(self) -> Bustable: + """Return the ``BUSTABle`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``BUSTABle?`` query. + - Using the ``.verify(value)`` method will send the ``BUSTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``BUSTABle:ADDNew`` command. + - ``.delete``: The ``BUSTABle:DELete`` command. + - ``.list``: The ``BUSTABle:LIST`` command. + """ + return self._bustable + + @property + def busy(self) -> Busy: + """Return the ``BUSY`` command. + + Description: + - This query-only command returns the status of the instrument. This command allows you + to synchronize the operation of the instrument with your application program. + + Usage: + - Using the ``.query()`` method will send the ``BUSY?`` query. + - Using the ``.verify(value)`` method will send the ``BUSY?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - BUSY? + ``` + """ + return self._busy + + @property + def callouts(self) -> Callouts: + """Return the ``CALLOUTS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CALLOUTS?`` query. + - Using the ``.verify(value)`` method will send the ``CALLOUTS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.callout``: The ``CALLOUTS:CALLOUT`` command. + """ + return self._callouts + + @property + def ch(self) -> Dict[int, Channel]: + """Return the ``CH`` command. + + Description: + - This query-only command returns the vertical parameters for the specified channel. The + channel is specified by x. + + Usage: + - Using the ``.query()`` method will send the ``CH?`` query. + - Using the ``.verify(value)`` method will send the ``CH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CH? + ``` + + Sub-properties: + - ``.bandwidth``: The ``CH:BANdwidth`` command. + - ``.ditherrange``: The ``CH:DITHERrange`` command. + - ``.invert``: The ``CH:INVert`` command. + - ``.probecontrol``: The ``CH:PROBECOntrol`` command. + - ``.probecal``: The ``CH:PROBECal`` command. + - ``.probefunc``: The ``CH:PROBEFunc`` command tree. + - ``.probe``: The ``CH:PRObe`` command. + - ``.scaleratio``: The ``CH:SCALERATio`` command. + - ``.sv``: The ``CH:SV`` command tree. + - ``.termination``: The ``CH:TERmination`` command. + - ``.vterm``: The ``CH:VTERm`` command tree. + - ``.d``: The ``CH_D`` command tree. + - ``.dall``: The ``CH_DALL`` command tree. + """ + return self._ch + + @property + def cls(self) -> Cls: + """Return the ``*CLS`` command. + + Description: + - This command (no query form) clears the following: Event Queue Standard Event Status + Register Status Byte Register (except the MAV bit) If the ``*CLS`` command immediately + follows an , the Output Queue and MAV bit (Status Byte Register bit 4) are also + cleared. MAV indicates that information is in the output queue. The device clear (DCL) + control message will clear the output queue and thus MAV. ``*CLS`` does not clear the + output queue or MAV. ``*CLS`` can suppress a Service Request that is to be generated + by an ``*OPC``. This will happen if a single sequence acquisition operation is still + being processed when the ``*CLS`` command is executed. + + Usage: + - Using the ``.write()`` method will send the ``*CLS`` command. + + SCPI Syntax: + ``` + - *CLS + ``` + """ + return self._cls + + @property + def configuration(self) -> Configuration: + """Return the ``CONFIGuration`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CONFIGuration?`` query. + - Using the ``.verify(value)`` method will send the ``CONFIGuration?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.analog``: The ``CONFIGuration:ANALOg`` command tree. + """ + return self._configuration + + @property + def curve(self) -> Curve: + """Return the ``CURVe`` command. + + Description: + - This command transfers waveform data from the instrument. Each waveform that is + transferred has an associated waveform preamble that contains information such as data + format and scale. The ``CURVe?`` query transfers data from the instrument. The data + source is specified by the ``DATA:SOURCE`` command. The first and last data points are + specified by the ``DATA:START`` and ``DATA:STOP`` commands. For digital sources, + ``CH_D`` or CH _DALL, when the ``:DATa:WIDth`` is 1, the returned data is + state only. When the ``:DATa:WIDth`` is 2, the returned data is transition data with 2 + bits per digital channel representing the transition information as follows: 0 0 low 0 + 1 high 1 1 multiple transitions in interval ending with high 1 0 multiple transitions + in interval ending with low For individual digital channels (such as ``CH_D`` ), + ``:DATa:WIDth 2`` provides the 2-bit transition data with the upper 14 bits zero. + ``:DATa:WIDth 1`` provides only the state in the LSB with the upper 7 bits all zero. + For ``CH_DAll`` sources, ``:DATa:WIDth 2`` provides the 2-bit transition data for + each of the 8 constituent channels with the D7 bit represented in the 2 most + significant bits, D6 in the next 2, and so on. ``:DATa:WIDth 1`` provides the states + of each of the 8 constituent channels with D7 represented in the most significant bit + and D0 in the least significant bit. Depending on the sample rate, multi-transition + data may not be available and ``:CURVe?`` queries for digital channels with + ``:DATa:WIDth 2`` may result in a warning event 'Execution warning: Multi-transition + data not available'. In this case, the transition data returned will be 0 0 or 0 1. + For MATH sources, only 8-byte double precision floating point data is returned in + ``:CURVe?`` queries. A Fast Acquisition waveform Pixmap data is a 500 (vertical) by + 1000 (horizontal) point bitmap. Each point represents display intensity for that + screen location. 500 (vertical) which is the row count in the bitmap, might vary based + on how many channels enabled from same FastAcq group. To query and get the Fast Acq + Pixel Map data, the following command set should be sent: ``ACQuire:FASTAcq:STATE ON`` + ``DATA:MODe PIXmap`` When the FastAcq is on, Curve? on Ch will return pixmap data + (if ``DATA:MODe`` is PIXmap). The number of rows in the pixmap will vary based on how + many ch sources are turned on and how they are grouped in acquisition HW. The + grouping can vary from model to model. The number of columns in pixmap data is fixed + to 1000. For example, on a MSO58 instrument, Ch1 to Ch4 is 'group1' and Ch5 to Ch8 is + 'group2'. If Ch1 is turned on (in group1) then Ch1 rows will be 500. If Ch2 and Ch3 + are turned on (in group1) then Ch2 and Ch3 rows will be 250 each. When all Ch1/2/3/4 + are turned on (in group1) then 125 rows per channel. If Ch1 (in group1) and Ch8 (in + group2) are turned on then 500 rows will be returned for each channel. To calculate + the number of rows, you can use- (number of bytes from curve header/``BYT_NR``)/1000. + + Usage: + - Using the ``.query()`` method will send the ``CURVe?`` query. + - Using the ``.verify(value)`` method will send the ``CURVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CURVe? + ``` + """ + return self._curve + + @property + def curvestream(self) -> Curvestream: + """Return the ``CURVEStream`` command. + + Description: + - This query-only command continuously transfers waveform data from the instrument as it + is acquired. This command puts the instrument into a streaming data mode, allowing the + controller to receive waveform records as fast as they are acquired. Use the + ``DATA:SOURCE`` command to specify the waveform sources. The command supports all the + same data formatting options as the CURVE command. Control of the instrument through + the user interface or other external clients is not allowed while in streaming data + mode. The GPIB controller must take the instrument out of this streaming data mode to + terminate the query and allow other input sources to resume communication with the + instrument. The following options are available to transition out of streaming data + mode: Send a device clear over the bus Send another command or query to the instrument + Turning the waveform screen display mode off ( ``:DISplay:WAVEform OFF`` ) may + increase waveform throughput during streaming mode. Using a data encoding of SRIbinary + ( ``DATa:ENCdg SRIbinary`` ) may also increase the waveform throughput since that is + the raw native data format of the oscilloscope. While in streaming data mode, two + extreme conditions can occur. If the waveform records are being acquired slowly (high + resolution), configure the controller for a long time-out threshold, as the data is + not sent out until each complete record is acquired. If the waveform records are being + acquired rapidly (low resolution), and the controller is not reading the data off the + bus fast enough, the trigger rate is slowed to allow each waveform to be sent + sequentially. + + Usage: + - Using the ``.query()`` method will send the ``CURVEStream?`` query. + - Using the ``.verify(value)`` method will send the ``CURVEStream?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - CURVEStream? + ``` + """ + return self._curvestream + + @property + def customtable(self) -> Customtable: + """Return the ``CUSTOMTABle`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``CUSTOMTABle?`` query. + - Using the ``.verify(value)`` method will send the ``CUSTOMTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``CUSTOMTABle:ADDNew`` command. + - ``.delete``: The ``CUSTOMTABle:DELete`` command. + - ``.list``: The ``CUSTOMTABle:LIST`` command. + """ + return self._customtable + + @property + def data(self) -> Data: + """Return the ``DATa`` command. + + Description: + - This command sets or queries the format and location of the waveform data that is + transferred with the CURVE command. + + Usage: + - Using the ``.query()`` method will send the ``DATa?`` query. + - Using the ``.verify(value)`` method will send the ``DATa?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DATa value`` command. + + SCPI Syntax: + ``` + - DATa {INIT|SNAp} + - DATa? + ``` + + Info: + - ``INIT`` initializes the waveform data parameters to their factory defaults except for + ``DATa:STOP``, which isset to the current acquisition record length. + - ``SNAp`` Sets ``DATa:STARt`` and ``DATa:STOP`` to match the current waveform cursor + positions of WAVEVIEW1 CURSOR1 if these waveform cursors are currently on. If these + waveform cursors are not on when the ``DATa SNAp`` command is sent, it is silently + ignored and ``DATa:STARt`` and ``:STOP`` remain unchanged. + + Sub-properties: + - ``.encdg``: The ``DATa:ENCdg`` command. + - ``.framestart``: The ``DATa:FRAMESTARt`` command. + - ``.framestop``: The ``DATa:FRAMESTOP`` command. + - ``.mode``: The ``DATa:MODe`` command. + - ``.resample``: The ``DATa:RESample`` command. + - ``.source``: The ``DATa:SOUrce`` command. + - ``.start``: The ``DATa:STARt`` command. + - ``.stop``: The ``DATa:STOP`` command. + - ``.width``: The ``DATa:WIDth`` command. + """ + return self._data + + @property + def date(self) -> Date: + """Return the ``DATE`` command. + + Description: + - This command queries the date that the instrument displays. + + Usage: + - Using the ``.query()`` method will send the ``DATE?`` query. + - Using the ``.verify(value)`` method will send the ``DATE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DATE? + ``` + """ + return self._date + + @property + def dese(self) -> Dese: + """Return the ``DESE`` command. + + Description: + - This command sets and queries the bits in the Device Event Status Enable Register + (DESER). The DESER is the mask that determines whether events are reported to the + Standard Event Status Register (SESR), and entered into the Event Queue. For a more + detailed discussion of the use of these registers, see Registers. + + Usage: + - Using the ``.query()`` method will send the ``DESE?`` query. + - Using the ``.verify(value)`` method will send the ``DESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``DESE value`` command. + + SCPI Syntax: + ``` + - DESE + - DESE? + ``` + + Info: + - ```` The binary bits of the DESER are set according to this value, which ranges + from 1 through 255. For example, ``DESE 209`` sets the DESER to the binary value + 11010001 (that is, the most significant bit in the register is set to 1, the next most + significant bit to 1, the next bit to 0, etc.). + """ + return self._dese + + @property + def display(self) -> Display: + """Return the ``DISplay`` command. + + Description: + - This query-only command returns the current Display settings. + + Usage: + - Using the ``.query()`` method will send the ``DISplay?`` query. + - Using the ``.verify(value)`` method will send the ``DISplay?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - DISplay? + ``` + + Sub-properties: + - ``.colors``: The ``DISplay:COLors`` command. + - ``.global``: The ``DISplay:GLObal`` command tree. + - ``.intensity``: The ``DISplay:INTENSITy`` command. + - ``.mathfftview1``: The ``DISplay:MATHFFTView1`` command tree. + - ``.persistence``: The ``DISplay:PERSistence`` command. + - ``.plotview``: The ``DISplay:PLOTVIEW`` command tree. + - ``.plotview1``: The ``DISplay:PLOTView1`` command tree. + - ``.reffftview``: The ``DISplay:REFFFTView`` command tree. + - ``.select``: The ``DISplay:SELect`` command tree. + - ``.specview1``: The ``DISplay:SPECView1`` command tree. + - ``.varpersist``: The ``DISplay:VARpersist`` command. + - ``.waveview``: The ``DISplay:WAVEView`` command tree. + - ``.waveview1``: The ``DISplay:WAVEView1`` command tree. + - ``.waveform``: The ``DISplay:WAVEform`` command. + - ``.ch``: The ``DISplay:CH`` command tree. + - ``.math``: The ``DISplay:Math`` command tree. + - ``.ref``: The ``DISplay:REF`` command tree. + """ + return self._display + + @property + def ese(self) -> Ese: + """Return the ``*ESE`` command. + + Description: + - This command sets and queries the bits in the Event Status Enable Register (ESER). The + ESER prevents events from being reported to the Status Byte Register (STB). For a more + detailed discussion of the use of these registers, see Registers. + + Usage: + - Using the ``.query()`` method will send the ``*ESE?`` query. + - Using the ``.verify(value)`` method will send the ``*ESE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*ESE value`` command. + + SCPI Syntax: + ``` + - *ESE + - *ESE? + ``` + + Info: + - ```` specifies the binary bits of the ESER according to this value, which ranges + from 0 through 255. + """ + return self._ese + + @property + def esr(self) -> Esr: + """Return the ``*ESR`` command. + + Description: + - This query-only command returns the contents of the Standard Event Status Register + (SESR). ``*ESR?`` also clears the SESR (since reading the SESR clears it). For a more + detailed discussion of the use of these registers, see Registers. + + Usage: + - Using the ``.query()`` method will send the ``*ESR?`` query. + - Using the ``.verify(value)`` method will send the ``*ESR?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *ESR? + ``` + """ + return self._esr + + @property + def event(self) -> Event: + """Return the ``EVENT`` command. + + Description: + - This query-only command returns an event code from the Event Queue that provides + information about the results of the last ESR read. ``EVENT?`` also removes the + returned value from the Event Queue. + + Usage: + - Using the ``.query()`` method will send the ``EVENT?`` query. + - Using the ``.verify(value)`` method will send the ``EVENT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - EVENT? + ``` + """ + return self._event + + @property + def evmsg(self) -> Evmsg: + """Return the ``EVMsg`` command. + + Description: + - This query-only command removes a single event code from the Event Queue that is + associated with the results of the last ESR read and returns the event code with an + explanatory message. For more information, see Event Handling. + + Usage: + - Using the ``.query()`` method will send the ``EVMsg?`` query. + - Using the ``.verify(value)`` method will send the ``EVMsg?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - EVMsg? + ``` + """ + return self._evmsg + + @property + def evqty(self) -> Evqty: + """Return the ``EVQty`` command. + + Description: + - This query-only command returns the number of events that are enabled in the queue. + This is useful when using the ALLEV query, since it lets you know exactly how many + events will be returned. + + Usage: + - Using the ``.query()`` method will send the ``EVQty?`` query. + - Using the ``.verify(value)`` method will send the ``EVQty?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - EVQty? + ``` + """ + return self._evqty + + @property + def eyemask(self) -> Eyemask: + """Return the ``EYEMASK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``EYEMASK?`` query. + - Using the ``.verify(value)`` method will send the ``EYEMASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``EYEMASK:MASK`` command tree. + """ + return self._eyemask + + @property + def factory(self) -> Factory: + """Return the ``FACtory`` command. + + Description: + - This command (no query form) resets the instrument to its factory default settings. + This command is equivalent to pressing the DEFAULT SETUP button located on the + instrument front panel or selecting Default Setup from the File menu. This command + Performs the following in addition to what is done for the ``*RST`` command: Clears + any pending OPC operations. Resets the following IEEE488.2 registers: ``*ESE 0`` + (Event Status Enable Register) ``*SRE 0`` (Service Request Enable Register) DESE 255 + (Device Event Status Enable Register) ``*PSC 1`` (Power-on Status Clear Flag) Deletes + all defined aliases. Enables command headers (``:HEADer 1``). + + Usage: + - Using the ``.write()`` method will send the ``FACtory`` command. + + SCPI Syntax: + ``` + - FACtory + ``` + """ + return self._factory + + @property + def filesys(self) -> Filesys: + """Return the ``FILESYS`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``FILESYS?`` query. + - Using the ``.verify(value)`` method will send the ``FILESYS?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.collectlogfiles``: The ``FILESYS:COLLECTLOGFILES`` command. + """ + return self._filesys + + @property + def filesystem(self) -> Filesystem: + """Return the ``FILESystem`` command. + + Description: + - This query-only command returns the directory listing of the current working + directory. This query is the same as the ``FILESystem:DIR?`` query. + + Usage: + - Using the ``.query()`` method will send the ``FILESystem?`` query. + - Using the ``.verify(value)`` method will send the ``FILESystem?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - FILESystem? + ``` + + Sub-properties: + - ``.copy``: The ``FILESystem:COPy`` command. + - ``.cwd``: The ``FILESystem:CWD`` command. + - ``.delete``: The ``FILESystem:DELEte`` command. + - ``.dir``: The ``FILESystem:DIR`` command. + - ``.homedir``: The ``FILESystem:HOMEDir`` command. + - ``.ldir``: The ``FILESystem:LDIR`` command. + - ``.mkdir``: The ``FILESystem:MKDir`` command. + - ``.mount``: The ``FILESystem:MOUNT`` command tree. + - ``.readfile``: The ``FILESystem:READFile`` command. + - ``.rename``: The ``FILESystem:REName`` command. + - ``.rmdir``: The ``FILESystem:RMDir`` command. + - ``.tekdrive``: The ``FILESystem:TEKDrive`` command tree. + - ``.unmount``: The ``FILESystem:UNMOUNT`` command tree. + - ``.writefile``: The ``FILESystem:WRITEFile`` command. + """ + return self._filesystem + + @property + def header(self) -> Header: + """Return the ``HEADer`` command. + + Description: + - This command sets or queries the Response Header Enable State that causes the + instrument to either include or omit headers on query responses. Whether the long or + short form of header keywords and enumerations are returned is dependent upon the + state of ``:VERBose``. + + Usage: + - Using the ``.query()`` method will send the ``HEADer?`` query. + - Using the ``.verify(value)`` method will send the ``HEADer?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``HEADer value`` command. + + SCPI Syntax: + ``` + - HEADer {ON|OFF|} + - HEADer? + ``` + + Info: + - ```` = 0 sets the Response Header Enable State to false; any other value sets + this state to true. + - ``OFF`` sets the Response Header Enable State to false. This causes the instrument to + omit headers on query responses, so that only the argument is returned. + - ``ON`` sets the Response Header Enable State to true. This causes the instrument to + include headers on applicable query responses. You can then use the query response as + a command. + """ + return self._header + + @property + def histogram(self) -> Histogram: + """Return the ``HISTogram`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HISTogram?`` query. + - Using the ``.verify(value)`` method will send the ``HISTogram?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``HISTogram:ADDNew`` command. + - ``.deleteall``: The ``HISTogram:DELETEALL`` command. + - ``.delete``: The ``HISTogram:DELete`` command. + - ``.histogram``: The ``HISTogram:HISTogram`` command tree. + - ``.list``: The ``HISTogram:LIST`` command. + """ + return self._histogram + + @property + def horizontal(self) -> Horizontal: + """Return the ``HORizontal`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``HORizontal?`` query. + - Using the ``.verify(value)`` method will send the ``HORizontal?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.delay``: The ``HORizontal:DELay`` command tree. + - ``.mode``: The ``HORizontal:MODe`` command. + - ``.position``: The ``HORizontal:POSition`` command. + - ``.samplerate``: The ``HORizontal:SAMPLERate`` command. + - ``.scale``: The ``HORizontal:SCAle`` command. + """ + return self._horizontal + + @property + def id(self) -> Id: + """Return the ``ID`` command. + + Description: + - This query-only command returns identifying information about the instrument and + related firmware similar to that returned by the ``*IDN?`` IEEE488.2 common query but + does not include the instrument serial number. + + Usage: + - Using the ``.query()`` method will send the ``ID?`` query. + - Using the ``.verify(value)`` method will send the ``ID?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - ID? + ``` + """ + return self._id + + @property + def idn(self) -> Idn: + """Return the ``*IDN`` command. + + Description: + - This query-only command returns the instrument identification code. + + Usage: + - Using the ``.query()`` method will send the ``*IDN?`` query. + - Using the ``.verify(value)`` method will send the ``*IDN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *IDN? + ``` + """ + return self._idn + + @property + def lic(self) -> Lic: + """Return the ``LIC`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``LIC?`` query. + - Using the ``.verify(value)`` method will send the ``LIC?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.uninstall``: The ``LIC:UNINSTALL`` command. + """ + return self._lic + + @property + def license(self) -> License: + """Return the ``LICense`` command. + + Description: + - This query-only command returns all license parameters. + + Usage: + - Using the ``.query()`` method will send the ``LICense?`` query. + - Using the ``.verify(value)`` method will send the ``LICense?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - LICense? + ``` + + Sub-properties: + - ``.appid``: The ``LICense:APPID`` command. + - ``.count``: The ``LICense:COUNt`` command. + - ``.error``: The ``LICense:ERRor`` command. + - ``.gmt``: The ``LICense:GMT`` command. + - ``.hid``: The ``LICense:HID`` command. + - ``.install``: The ``LICense:INSTall`` command. + - ``.item``: The ``LICense:ITEM`` command. + - ``.list``: The ``LICense:LIST`` command. + - ``.validate``: The ``LICense:VALidate`` command. + """ + return self._license + + @property + def lrn(self) -> Lrn: + """Return the ``*LRN`` command. + + Description: + - This query-only command returns the commands that list the instrument settings, + allowing you to record or 'learn' the current instrument settings. You can use these + commands to return the instrument to the state it was in when you made the ``*LRN?`` + query. This command is identical to the SET command. + + Usage: + - Using the ``.query()`` method will send the ``*LRN?`` query. + - Using the ``.verify(value)`` method will send the ``*LRN?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *LRN? + ``` + """ + return self._lrn + + @property + def mainwindow(self) -> Mainwindow: + """Return the ``MAINWindow`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MAINWindow?`` query. + - Using the ``.verify(value)`` method will send the ``MAINWindow?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.badge``: The ``MAINWindow:BADGe`` command tree. + - ``.fontsize``: The ``MAINWindow:FONTSize`` command. + - ``.rrbdisplaystate``: The ``MAINWindow:RRBDisplaystate`` command. + """ + return self._mainwindow + + @property + def mask(self) -> Mask: + """Return the ``MASK`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MASK?`` query. + - Using the ``.verify(value)`` method will send the ``MASK?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.delete``: The ``MASK:DELete`` command. + - ``.mask``: The ``MASK:MASK`` command tree. + - ``.test``: The ``MASK:TESt`` command tree. + """ + return self._mask + + @property + def math(self) -> Math: + """Return the ``MATH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATH?`` query. + - Using the ``.verify(value)`` method will send the ``MATH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``MATH:ADDNew`` command. + - ``.delete``: The ``MATH:DELete`` command. + - ``.list``: The ``MATH:LIST`` command. + - ``.math``: The ``MATH:MATH`` command tree. + """ + return self._math + + @property + def matharbflt(self) -> Dict[int, MatharbfltItem]: + """Return the ``MATHArbflt`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MATHArbflt?`` query. + - Using the ``.verify(value)`` method will send the ``MATHArbflt?`` query and raise + an AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filepath``: The ``MATHArbflt:FILepath`` command. + """ + return self._matharbflt + + @property + def meastable(self) -> Meastable: + """Return the ``MEASTABle`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASTABle?`` query. + - Using the ``.verify(value)`` method will send the ``MEASTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``MEASTABle:ADDNew`` command. + - ``.delete``: The ``MEASTABle:DELETE`` command. + """ + return self._meastable + + @property + def measu(self) -> Measu: + """Return the ``MEASU`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``MEASU?`` query. + - Using the ``.verify(value)`` method will send the ``MEASU?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.meas1``: The ``MEASU:MEAS1`` command tree. + """ + return self._measu + + @property + def measurement(self) -> Measurement: + """Return the ``MEASUrement`` command. + + Description: + - This query-only command returns all measurement parameters. + + Usage: + - Using the ``.query()`` method will send the ``MEASUrement?`` query. + - Using the ``.verify(value)`` method will send the ``MEASUrement?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - MEASUrement? + ``` + + Sub-properties: + - ``.addmeas``: The ``MEASUrement:ADDMEAS`` command. + - ``.addnew``: The ``MEASUrement:ADDNew`` command. + - ``.annotate``: The ``MEASUrement:ANNOTate`` command. + - ``.autoset``: The ``MEASUrement:AUTOset`` command. + - ``.ch``: The ``MEASUrement:CH`` command tree. + - ``.clockrecovery``: The ``MEASUrement:CLOCKRecovery`` command tree. + - ``.deleteall``: The ``MEASUrement:DELETEALL`` command. + - ``.delete``: The ``MEASUrement:DELete`` command. + - ``.diracmodel``: The ``MEASUrement:DIRacmodel`` command. + - ``.displayunits``: The ``MEASUrement:DISPLAYUnits`` command. + - ``.edge``: The ``MEASUrement:EDGE`` command. + - ``.eyerender``: The ``MEASUrement:EYERENDER`` command. + - ``.filters``: The ``MEASUrement:FILTers`` command tree. + - ``.gating``: The ``MEASUrement:GATing`` command. + - ``.highlevel``: The ``MEASUrement:HIGHLEVel`` command tree. + - ``.interp``: The ``MEASUrement:INTERp`` command. + - ``.jittermodel``: The ``MEASUrement:JITTermodel`` command. + - ``.list``: The ``MEASUrement:LIST`` command. + - ``.lockrj``: The ``MEASUrement:LOCKRJ`` command. + - ``.lockrjvalue``: The ``MEASUrement:LOCKRJValue`` command. + - ``.math``: The ``MEASUrement:MATH`` command tree. + - ``.meas``: The ``MEASUrement:MEAS`` command tree. + - ``.measrange``: The ``MEASUrement:MEASRange`` command tree. + - ``.mech``: The ``MEASUrement:MECH`` command tree. + - ``.minui``: The ``MEASUrement:MINUI`` command. + - ``.population``: The ``MEASUrement:POPUlation`` command tree. + - ``.ref``: The ``MEASUrement:REF`` command tree. + - ``.reflevels``: The ``MEASUrement:REFLevels`` command tree. + - ``.results``: The ``MEASUrement:RESUlts`` command tree. + - ``.statistics``: The ``MEASUrement:STATIstics`` command tree. + - ``.wbg``: The ``MEASUrement:WBG`` command tree. + """ + return self._measurement + + @property + def opc(self) -> Opc: + """Return the ``*OPC`` command. + + Description: + - This command generates the operation complete message in the Standard Event Status + Register (SESR) when all pending commands that generate an OPC message are complete. + The ``*OPC?`` query places the ASCII character '1' into the output queue when all such + OPC commands are complete. The ``*OPC?`` response is not available to read until all + pending operations finish. For a complete discussion of the use of these registers and + the output queue, see Registers and Queues. The ``*OPC`` command allows you to + synchronize the operation of the instrument with your application program. For more + information, see Synchronization Methods. Refer to the Oscilloscope operations that + can generate OPC table for a list of commands that generate an OPC message. + + Usage: + - Using the ``.query()`` method will send the ``*OPC?`` query. + - Using the ``.verify(value)`` method will send the ``*OPC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write()`` method will send the ``*OPC`` command. + + SCPI Syntax: + ``` + - *OPC + - *OPC? + ``` + """ + return self._opc + + @property + def opt(self) -> Opt: + """Return the ``*OPT`` command. + + Description: + - This query-only command returns a comma separated list of installed options as an + arbitrary ASCII string (no quotes) of the form: + ``:``,``:``... The last + section of each entry (the text following the last hyphen) indicates the license type. + If no options are found, NONE is returned. + + Usage: + - Using the ``.query()`` method will send the ``*OPT?`` query. + - Using the ``.verify(value)`` method will send the ``*OPT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *OPT? + ``` + """ + return self._opt + + @property + def pause(self) -> Pause: + """Return the ``PAUSe`` command. + + Description: + - This command causes the interface to pause the specified number of seconds before + processing any other commands. + + Usage: + - Using the ``.write(value)`` method will send the ``PAUSe value`` command. + + SCPI Syntax: + ``` + - PAUSe + ``` + + Info: + - ```` is the specified number of seconds the interface is to pause before + processing any other commands. The pause time is specified as a floating point value + in seconds and must be > 0.0 and ≥1800.0. + """ + return self._pause + + @property + def peakstable(self) -> Peakstable: + """Return the ``PEAKSTABle`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PEAKSTABle?`` query. + - Using the ``.verify(value)`` method will send the ``PEAKSTABle?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``PEAKSTABle:ADDNew`` command. + - ``.delete``: The ``PEAKSTABle:DELete`` command. + - ``.list``: The ``PEAKSTABle:LIST`` command. + - ``.table``: The ``PEAKSTABle:TABle`` command tree. + """ + return self._peakstable + + @property + def plot(self) -> Plot: + """Return the ``PLOT`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``PLOT?`` query. + - Using the ``.verify(value)`` method will send the ``PLOT?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``PLOT:ADDNew`` command. + - ``.delete``: The ``PLOT:DELete`` command. + - ``.list``: The ``PLOT:LIST`` command. + - ``.plot``: The ``PLOT:PLOT`` command tree. + """ + return self._plot + + @property + def power(self) -> Power: + """Return the ``POWer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``POWer?`` query. + - Using the ``.verify(value)`` method will send the ``POWer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``POWer:ADDNew`` command. + - ``.delete``: The ``POWer:DELete`` command. + - ``.power``: The ``POWer:POWer`` command tree. + """ + return self._power + + @property + def psc(self) -> Psc: + """Return the ``*PSC`` command. + + Description: + - This command sets and queries the power-on status flag that controls the automatic + power-on handling of the DESER, SRER, and ESER registers. When ``*PSC`` is true, the + DESER register is set to 255 and the SRER and ESER registers are set to 0 at power-on. + When ``*PSC`` is false, the current values in the DESER, SRER, and ESER registers are + preserved in nonvolatile memory when power is shut off and are restored at power-on. + + Usage: + - Using the ``.query()`` method will send the ``*PSC?`` query. + - Using the ``.verify(value)`` method will send the ``*PSC?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PSC value`` command. + + SCPI Syntax: + ``` + - *PSC {ON|OFF|} + - *PSC? + ``` + + Info: + - ```` = 0 sets the power-on status clear flag to false, disables the power-on + clear and allows the instrument to possibly assert SRQ after power-on; any other value + sets the power-on status clear flag to true, enabling the power-on status clear and + prevents any SRQ assertion after power on. + - ``OFF`` sets the power-on status clear flag to false, disables the power-on clear and + allows the instrument to possibly assert SRQ after power-on. + - ``ON`` sets the power-on status clear flag to true, enabling the power-on status clear + and prevents any SRQ assertion after power on. + """ + return self._psc + + @property + def pud(self) -> Pud: + """Return the ``*PUD`` command. + + Description: + - This command sets or queries a string of Protected User Data. This data is protected + by the PASSWord command. You can modify it only by first entering the correct + password. This password is not necessary to query the data. + + Usage: + - Using the ``.query()`` method will send the ``*PUD?`` query. + - Using the ``.verify(value)`` method will send the ``*PUD?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*PUD value`` command. + + SCPI Syntax: + ``` + - *PUD {|} + - *PUD? + ``` + + Info: + - ```` is a block containing up to 100 characters. + - ```` is a string containing up to 100 characters. + """ + return self._pud + + @property + def recall(self) -> Recall: + """Return the ``RECAll`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``RECAll?`` query. + - Using the ``.verify(value)`` method will send the ``RECAll?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.mask``: The ``RECAll:MASK`` command. + - ``.session``: The ``RECAll:SESsion`` command. + - ``.setup``: The ``RECAll:SETUp`` command. + - ``.waveform``: The ``RECAll:WAVEform`` command. + """ + return self._recall + + @property + def ref(self) -> Ref: + """Return the ``REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``REF:ADDNew`` command. + - ``.delete``: The ``REF:DELete`` command. + - ``.list``: The ``REF:LIST`` command. + - ``.ref``: The ``REF:REF`` command tree. + """ + return self._ref + + @property + def refx(self) -> Dict[int, RefItem]: + """Return the ``REF`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REF?`` query. + - Using the ``.verify(value)`` method will send the ``REF?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.d``: The ``REF_D`` command tree. + - ``.dall``: The ``REF_DALL`` command tree. + """ + return self._refx + + @property + def rem(self) -> Rem: + """Return the ``REM`` command. + + Description: + - This command (no query form) embeds a comment within programs as a means of internally + documenting the programs. This is how to embed comments in a .set file. The instrument + ignores these embedded comment lines. + + Usage: + - Using the ``.write(value)`` method will send the ``REM value`` command. + + SCPI Syntax: + ``` + - REM + ``` + + Info: + - ```` is a string that can contain a maximum of 80 characters. + """ + return self._rem + + @property + def remote(self) -> Remote: + """Return the ``REMOTE`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``REMOTE?`` query. + - Using the ``.verify(value)`` method will send the ``REMOTE?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.acqmethod``: The ``REMOTE:ACQMethod`` command. + - ``.acqstatus``: The ``REMOTE:ACQStatus`` command. + - ``.acquire``: The ``REMOTE:ACQUIRE`` command. + - ``.addnew``: The ``REMOTE:ADDNew`` command. + - ``.comminter``: The ``REMOTE:COMMInter`` command. + - ``.control``: The ``REMOTE:CONTROL`` command. + - ``.delete``: The ``REMOTE:DELEte`` command. + - ``.logging``: The ``REMOTE:LOGGING`` command. + - ``.numacq``: The ``REMOTE:NUMACq`` command. + - ``.s``: The ``REMOTE:S`` command tree. + - ``.scope``: The ``REMOTE:SCOPe`` command tree. + - ``.sequence``: The ``REMOTE:SEQuence`` command tree. + - ``.sv``: The ``REMOTE:SV`` command tree. + - ``.usbdescriptors``: The ``REMOTE:USBDEscriptors`` command. + """ + return self._remote + + @property + def rst(self) -> Rst: + """Return the ``*RST`` command. + + Description: + - This command (no query form) resets the instrument to the factory default settings. + This command does the following: Recalls the default instrument setup. Clears the + current ``*DDT`` command. Disables aliases (``:ALIAS:STATE 0``). Disables the user + password (for the ``*PUD`` command). The ``*RST`` command does not change the + following: The current working directory ( ``:FILESystem:CWD`` command). The state of + command headers ( ``:HEADer`` command). The state of keyword and enumeration verbosity + ( ``:VERBose`` command). The Power-on Status Clear Flag ( ``*PSC`` command). The Event + Status Enable Register ( ``*ESE`` command). The Service Request Enable Register ( + ``*SRE`` command). The Device Event Status Enable Register ( DESE command). The user + password for protected user data ( ``:PASSWord`` command). The content of protected + user data ( ``*PUD`` command). The enabled state of the socket server ( + ``:SOCKETServer:ENAble`` command). The socket server port number ( + ``:SOCKETServer:PORT`` command). The socket server protocol ( + ``:SOCKETServer:PROTOCol`` command). The USBTMC port configuration ( + ``:USBDevice:CONFigure`` command). The destination reference waveform or file path for + the ``:CURVe`` command ( ``:DATa:DESTination`` command). The source waveform for the + ``:CURVe?`` or ``:WAVFrm?`` queries ( ``:DATa:SOUrce`` command). The waveform data + encoding for the ``:CURVe`` command or query or the ``:WAVFrm?`` query ( + ``:DATa:ENCdg`` command). The starting point for ``:CURVe?`` queries ( ``:DATa:STARt`` + command). The ending point for ``:CURVe?`` queries ( ``:DATa:STOP`` command). All + settings associated the ``:WFMInpre`` commands. All user settable settings associated + with the WFMOutpre commands. ``*RST`` only resets the programmable interface settings, + it does not change the user interface settings. + + Usage: + - Using the ``.write()`` method will send the ``*RST`` command. + + SCPI Syntax: + ``` + - *RST + ``` + """ + return self._rst + + @property + def s(self) -> Dict[int, SItem]: + """Return the ``S`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``S?`` query. + - Using the ``.verify(value)`` method will send the ``S?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``S_CH`` command tree. + """ + return self._s + + @property + def save(self) -> Save: + """Return the ``SAVe`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVe?`` query. + - Using the ``.verify(value)`` method will send the ``SAVe?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.eventtable``: The ``SAVe:EVENTtable`` command tree. + - ``.image``: The ``SAVe:IMAGe`` command. + - ``.plotdata``: The ``SAVe:PLOTData`` command. + - ``.report``: The ``SAVe:REPOrt`` command. + - ``.session``: The ``SAVe:SESsion`` command. + - ``.setup``: The ``SAVe:SETUp`` command. + - ``.waveform``: The ``SAVe:WAVEform`` command. + """ + return self._save + + @property + def saveonevent(self) -> Saveonevent: + """Return the ``SAVEONEVent`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SAVEONEVent?`` query. + - Using the ``.verify(value)`` method will send the ``SAVEONEVent?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.filedest``: The ``SAVEONEVent:FILEDest`` command. + - ``.filename``: The ``SAVEONEVent:FILEName`` command. + - ``.image``: The ``SAVEONEVent:IMAGe`` command tree. + - ``.waveform``: The ``SAVEONEVent:WAVEform`` command tree. + """ + return self._saveonevent + + @property + def search(self) -> Search: + """Return the ``SEARCH`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SEARCH?`` query. + - Using the ``.verify(value)`` method will send the ``SEARCH?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.addnew``: The ``SEARCH:ADDNew`` command. + - ``.deleteall``: The ``SEARCH:DELETEALL`` command. + - ``.delete``: The ``SEARCH:DELete`` command. + - ``.list``: The ``SEARCH:LIST`` command. + - ``.search``: The ``SEARCH:SEARCH`` command tree. + - ``.selected``: The ``SEARCH:SELected`` command. + """ + return self._search + + @property + def searchtable(self) -> Searchtable: + """Return the ``SEARCHTABle`` command. + + Description: + - This command adds or deletes a new search event table in an Option 5-WIN (Microsoft + Windows 10 OS) TekExpress compliance testing application. + + Usage: + - Using the ``.write(value)`` method will send the ``SEARCHTABle value`` command. + + SCPI Syntax: + ``` + - SEARCHTABle {ADDNew|DELete} + ``` + + Info: + - ``ADDNew`` adds a new search events table in the display area. + - ``DELete`` removes a displayed search events table from the display area. + - ```` contains the name of the search table. + """ + return self._searchtable + + @property + def set_(self) -> Set: + """Return the ``SET`` command. + + Description: + - This query-only command returns the commands that list the instrument settings, except + for configuration information for the calibration values. You can use these commands + to return the instrument to the state it was in when you made the ``SET?`` query. The + ``SET?`` query always returns command headers, regardless of the setting of the HEADER + command. This is because the returned commands are intended to be sent back to the + instrument as a command string. The VERBOSE command can still be used to specify + whether the returned headers should be abbreviated or full-length. This command is + identical to the LRN command. + + Usage: + - Using the ``.query()`` method will send the ``SET?`` query. + - Using the ``.verify(value)`` method will send the ``SET?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - SET? + ``` + """ + return self._set + + @property + def socketserver(self) -> Socketserver: + """Return the ``SOCKETServer`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SOCKETServer?`` query. + - Using the ``.verify(value)`` method will send the ``SOCKETServer?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.enable``: The ``SOCKETServer:ENAble`` command. + - ``.port``: The ``SOCKETServer:PORT`` command. + - ``.protocol``: The ``SOCKETServer:PROTOCol`` command. + """ + return self._socketserver + + @property + def sre(self) -> Sre: + """Return the ``*SRE`` command. + + Description: + - The ``*SRE`` (Service Request Enable) command sets and queries the bits in the Service + Request Enable Register. For more information, refer to Registers. + + Usage: + - Using the ``.query()`` method will send the ``*SRE?`` query. + - Using the ``.verify(value)`` method will send the ``*SRE?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``*SRE value`` command. + + SCPI Syntax: + ``` + - *SRE + - *SRE? + ``` + + Info: + - ```` is a value in the range from 0 through 255. The binary bits of the SRER are + set according to this value. Using an out-of-range value causes an execution error. + The power-on default for SRER is 0 if ``*PSC`` is 1. If ``*PSC`` is 0, the SRER + maintains the previous power cycle value through the current power cycle. + """ + return self._sre + + @property + def stb(self) -> Stb: + """Return the ``*STB`` command. + + Description: + - The ``*STB?`` (Read Status Byte) query returns the contents of the Status Byte + Register (SBR) using the Master Summary Status (MSS) bit. For more information, refer + to Registers. + + Usage: + - Using the ``.query()`` method will send the ``*STB?`` query. + - Using the ``.verify(value)`` method will send the ``*STB?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *STB? + ``` + """ + return self._stb + + @property + def sv(self) -> Sv: + """Return the ``SV`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``SV?`` query. + - Using the ``.verify(value)`` method will send the ``SV?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.ch``: The ``SV:CH`` command tree. + - ``.lockcenter``: The ``SV:LOCKCenter`` command. + - ``.lockspectrum``: The ``SV:LOCKSpectrum`` command. + - ``.marker``: The ``SV:MARKER`` command tree. + - ``.rf_phase``: The ``SV:RF_PHASe`` command tree. + - ``.s``: The ``SV:S`` command tree. + - ``.spectrogram``: The ``SV:SPECtrogram`` command tree. + """ + return self._sv + + @property + def time(self) -> Time: + """Return the ``TIMe`` command. + + Description: + - This command sets the time in the form ``hh:mm:ss`` where hh refers to a two-digit + hour number, mm refers to a two-digit minute number from 01 to 60, and ss refers to a + two-digit second number from 01 to 60. + + Usage: + - Using the ``.query()`` method will send the ``TIMe?`` query. + - Using the ``.verify(value)`` method will send the ``TIMe?`` query and raise an + AssertionError if the returned value does not match ``value``. + - Using the ``.write(value)`` method will send the ``TIMe value`` command. + + SCPI Syntax: + ``` + - TIMe + - TIMe? + ``` + + Info: + - ```` is a quoted string representing the desired time. + + Sub-properties: + - ``.zone``: The ``TIMe:ZONe`` command. + """ + return self._time + + @property + def totaluptime(self) -> Totaluptime: + """Return the ``TOTaluptime`` command. + + Description: + - Total number of hours the instrument has been turned on since the NV memory was last + programmed, usually during the initial manufacturing process. + + Usage: + - Using the ``.query()`` method will send the ``TOTaluptime?`` query. + - Using the ``.verify(value)`` method will send the ``TOTaluptime?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - TOTaluptime? + ``` + """ + return self._totaluptime + + @property + def trigger(self) -> Trigger: + """Return the ``TRIGger`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``TRIGger?`` query. + - Using the ``.verify(value)`` method will send the ``TRIGger?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.a``: The ``TRIGger:A`` command tree. + - ``.b``: The ``TRIGger:B`` command tree. + """ + return self._trigger + + @property + def tst(self) -> Tst: + """Return the ``*TST`` command. + + Description: + - Tests (self-test) the interface and returns a 0. + + Usage: + - Using the ``.query()`` method will send the ``*TST?`` query. + - Using the ``.verify(value)`` method will send the ``*TST?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - *TST? + ``` + """ + return self._tst + + @property + def undo(self) -> Undo: + """Return the ``UNDO`` command. + + Description: + - Reverts the instrument settings to a state before the previous command or user + interface action. + + Usage: + - Using the ``.write()`` method will send the ``UNDO`` command. + + SCPI Syntax: + ``` + - UNDO + ``` + """ + return self._undo + + @property + def verbose(self) -> Verbose: + """Return the ``VERBose`` command. + + Description: + - This command sets or queries the Verbose state that controls the length of keywords on + query responses. Keywords can be both headers and arguments. + + Usage: + - Using the ``.write(value)`` method will send the ``VERBose value`` command. + + SCPI Syntax: + ``` + - VERBose {ON|OFF|} + ``` + + Info: + - ```` = 0 disables Verbose, any other value enables Verbose. + - ``OFF`` sets the Verbose state to false, which returns minimum-length keywords for + applicable setting queries. + - ``ON`` sets the Verbose state to true, which returns full-length keywords for + applicable setting queries. + """ + return self._verbose + + @property + def vertical(self) -> Vertical: + """Return the ``VERTical`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``VERTical?`` query. + - Using the ``.verify(value)`` method will send the ``VERTical?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.deskew``: The ``VERTical:DESKew`` command tree. + """ + return self._vertical + + @property + def visual(self) -> Visual: + """Return the ``VISual`` command tree. + + Usage: + - Using the ``.query()`` method will send the ``VISual?`` query. + - Using the ``.verify(value)`` method will send the ``VISual?`` query and raise an + AssertionError if the returned value does not match ``value``. + + Sub-properties: + - ``.area``: The ``VISual:AREA`` command tree. + - ``.deleteall``: The ``VISual:DELETEALL`` command. + - ``.enable``: The ``VISual:ENAble`` command. + - ``.equation``: The ``VISual:EQUation`` command. + - ``.showareas``: The ``VISual:SHOWAReas`` command. + - ``.showcriteria``: The ``VISual:SHOWCRiteria`` command. + - ``.showequation``: The ``VISual:SHOWEQuation`` command. + """ + return self._visual + + @property + def wai(self) -> Wai: + """Return the ``*WAI`` command. + + Description: + - The ``*WAI`` (Wait) command (no query form) prevents the instrument from executing + further commands or queries until all pending commands that generate an OPC message + are complete. This command allows you to synchronize the operation of the instrument + with your application program. For more information, refer to Synchronization Methods. + + Usage: + - Using the ``.write()`` method will send the ``*WAI`` command. + + SCPI Syntax: + ``` + - *WAI + ``` + """ + return self._wai + + @property + def wavfrm(self) -> Wavfrm: + """Return the ``WAVFrm`` command. + + Description: + - This query-only command provides the Tektronix standard waveform query which returns + the waveform preamble followed by the waveform data for the source specified by + ``:DATa:SOUrce`` using the ``:DATa`` settings for encoding, width, and so forth. + + Usage: + - Using the ``.query()`` method will send the ``WAVFrm?`` query. + - Using the ``.verify(value)`` method will send the ``WAVFrm?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - WAVFrm? + ``` + """ + return self._wavfrm + + @property + def wfmoutpre(self) -> Wfmoutpre: + """Return the ``WFMOutpre`` command. + + Description: + - This query-only command queries the waveform formatting data for the waveform + specified by the ``DATA:SOURCE`` command. The preamble components are considered to be + of two types; formatting and interpretation. The formatting components are: ENCdg, + ``BN_Fmt``, ``BYT_Or``, ``BYT_Nr``, ``BIT_Nr``. The interpretation components are + derived from the ``DATa:SOUrce`` specified waveform. + + Usage: + - Using the ``.query()`` method will send the ``WFMOutpre?`` query. + - Using the ``.verify(value)`` method will send the ``WFMOutpre?`` query and raise an + AssertionError if the returned value does not match ``value``. + + SCPI Syntax: + ``` + - WFMOutpre? + ``` + + Sub-properties: + - ``.asc_fmt``: The ``WFMOutpre:ASC_Fmt`` command. + - ``.bit_nr``: The ``WFMOutpre:BIT_Nr`` command. + - ``.bn_fmt``: The ``WFMOutpre:BN_Fmt`` command. + - ``.byt_nr``: The ``WFMOutpre:BYT_Nr`` command. + - ``.byt_or``: The ``WFMOutpre:BYT_Or`` command. + - ``.centerfrequency``: The ``WFMOutpre:CENTERFREQuency`` command. + - ``.domain``: The ``WFMOutpre:DOMain`` command. + - ``.encdg``: The ``WFMOutpre:ENCdg`` command. + - ``.nr_pt``: The ``WFMOutpre:NR_Pt`` command. + - ``.pt_fmt``: The ``WFMOutpre:PT_Fmt`` command. + - ``.pt_order``: The ``WFMOutpre:PT_ORder`` command. + - ``.pt_off``: The ``WFMOutpre:PT_Off`` command. + - ``.resample``: The ``WFMOutpre:RESample`` command. + - ``.span``: The ``WFMOutpre:SPAN`` command. + - ``.wfid``: The ``WFMOutpre:WFId`` command. + - ``.wfmtype``: The ``WFMOutpre:WFMTYPe`` command. + - ``.xincr``: The ``WFMOutpre:XINcr`` command. + - ``.xunit``: The ``WFMOutpre:XUNit`` command. + - ``.xzero``: The ``WFMOutpre:XZEro`` command. + - ``.ymult``: The ``WFMOutpre:YMUlt`` command. + - ``.yoff``: The ``WFMOutpre:YOFf`` command. + - ``.yunit``: The ``WFMOutpre:YUNit`` command. + - ``.yzero``: The ``WFMOutpre:YZEro`` command. + """ + return self._wfmoutpre + + +class TekScopePCMixin: + """A mixin that provides access to the TekScopePC commands and constants. + + Properties: + - ``.command_argument_constants``: The TekScopePC command argument constants. + - ``.commands``: The TekScopePC commands. + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + device = self if isinstance(self, PIDevice) else None + self._command_argument_constants = TekScopePCCommandConstants() + self._commands = TekScopePCCommands(device) + + @property + def command_argument_constants(self) -> TekScopePCCommandConstants: + """Return the TekScopePC command argument constants. + + This provides access to all the string constants which can be used as arguments for + TekScopePC commands. + """ + return self._command_argument_constants + + @property + def commands(self) -> TekScopePCCommands: + """Return the TekScopePC commands. + + This provides access to all the commands for the TekScopePC device. See the documentation of + each sub-property for more usage information. + + Sub-properties: + - ``.actonevent``: The ``ACTONEVent`` command tree. + - ``.alias``: The ``ALIas`` command. + - ``.allev``: The ``ALLEv`` command. + - ``.autosavepitimeout``: The ``AUTOSAVEPITIMEOUT`` command. + - ``.autosaveuitimeout``: The ``AUTOSAVEUITIMEOUT`` command. + - ``.bus``: The ``BUS`` command tree. + - ``.bustable``: The ``BUSTABle`` command tree. + - ``.busy``: The ``BUSY`` command. + - ``.callouts``: The ``CALLOUTS`` command tree. + - ``.ch``: The ``CH`` command. + - ``.cls``: The ``*CLS`` command. + - ``.configuration``: The ``CONFIGuration`` command tree. + - ``.curve``: The ``CURVe`` command. + - ``.curvestream``: The ``CURVEStream`` command. + - ``.customtable``: The ``CUSTOMTABle`` command tree. + - ``.data``: The ``DATa`` command. + - ``.date``: The ``DATE`` command. + - ``.dese``: The ``DESE`` command. + - ``.display``: The ``DISplay`` command. + - ``.ese``: The ``*ESE`` command. + - ``.esr``: The ``*ESR`` command. + - ``.event``: The ``EVENT`` command. + - ``.evmsg``: The ``EVMsg`` command. + - ``.evqty``: The ``EVQty`` command. + - ``.eyemask``: The ``EYEMASK`` command tree. + - ``.factory``: The ``FACtory`` command. + - ``.filesys``: The ``FILESYS`` command tree. + - ``.filesystem``: The ``FILESystem`` command. + - ``.header``: The ``HEADer`` command. + - ``.histogram``: The ``HISTogram`` command tree. + - ``.horizontal``: The ``HORizontal`` command tree. + - ``.id``: The ``ID`` command. + - ``.idn``: The ``*IDN`` command. + - ``.lic``: The ``LIC`` command tree. + - ``.license``: The ``LICense`` command. + - ``.lrn``: The ``*LRN`` command. + - ``.mainwindow``: The ``MAINWindow`` command tree. + - ``.mask``: The ``MASK`` command tree. + - ``.math``: The ``MATH`` command tree. + - ``.matharbflt``: The ``MATHArbflt`` command tree. + - ``.meastable``: The ``MEASTABle`` command tree. + - ``.measu``: The ``MEASU`` command tree. + - ``.measurement``: The ``MEASUrement`` command. + - ``.opc``: The ``*OPC`` command. + - ``.opt``: The ``*OPT`` command. + - ``.pause``: The ``PAUSe`` command. + - ``.peakstable``: The ``PEAKSTABle`` command tree. + - ``.plot``: The ``PLOT`` command tree. + - ``.power``: The ``POWer`` command tree. + - ``.psc``: The ``*PSC`` command. + - ``.pud``: The ``*PUD`` command. + - ``.recall``: The ``RECAll`` command tree. + - ``.ref``: The ``REF`` command tree. + - ``.refx``: The ``REF`` command tree. + - ``.rem``: The ``REM`` command. + - ``.remote``: The ``REMOTE`` command tree. + - ``.rst``: The ``*RST`` command. + - ``.s``: The ``S`` command tree. + - ``.save``: The ``SAVe`` command tree. + - ``.saveonevent``: The ``SAVEONEVent`` command tree. + - ``.search``: The ``SEARCH`` command tree. + - ``.searchtable``: The ``SEARCHTABle`` command. + - ``.set``: The ``SET`` command. + - ``.socketserver``: The ``SOCKETServer`` command tree. + - ``.sre``: The ``*SRE`` command. + - ``.stb``: The ``*STB`` command. + - ``.sv``: The ``SV`` command tree. + - ``.time``: The ``TIMe`` command. + - ``.totaluptime``: The ``TOTaluptime`` command. + - ``.trigger``: The ``TRIGger`` command tree. + - ``.tst``: The ``*TST`` command. + - ``.undo``: The ``UNDO`` command. + - ``.verbose``: The ``VERBose`` command. + - ``.vertical``: The ``VERTical`` command tree. + - ``.visual``: The ``VISual`` command tree. + - ``.wai``: The ``*WAI`` command. + - ``.wavfrm``: The ``WAVFrm`` command. + - ``.wfmoutpre``: The ``WFMOutpre`` command. + """ + return self._commands diff --git a/src/tm_devices/components/dm_config_parser.py b/src/tm_devices/components/dm_config_parser.py index 3396ad72..53ec8b2b 100644 --- a/src/tm_devices/components/dm_config_parser.py +++ b/src/tm_devices/components/dm_config_parser.py @@ -314,18 +314,17 @@ def write_config_to_file( """ if config_file_path is None: config_file_path = self.defined_config_file_path - else: - config_file_path = cast(str, config_file_path) - with open(config_file_path, "w", encoding="utf-8") as config_file: - file_type = ( - DMConfigParser.FileType.TOML - if config_file_path.lower().endswith(".toml") - else DMConfigParser.FileType.YAML - ) - config_file.write(self.to_config_file_text(file_type=file_type)) + config_path_obj = pathlib.Path(config_file_path) - return config_file_path + file_type = ( + DMConfigParser.FileType.TOML + if config_path_obj.as_posix().lower().endswith(".toml") + else DMConfigParser.FileType.YAML + ) + config_path_obj.write_text(self.to_config_file_text(file_type=file_type), encoding="utf-8") + + return config_path_obj.as_posix() ################################################################################################ # Private Methods @@ -353,17 +352,24 @@ def __parse_env_options(self) -> DMConfigOptions: Raises: KeyError: Indicates unrecognized option name. """ - options_list = [ - arg.strip() for arg in os.getenv(self.OPTIONS_ENV_VARIABLE, "").split(",") if arg - ] + options_dict = { + arg.strip().split("=", maxsplit=1)[0]: bool(arg) + if "=" not in arg + else arg.split("=", maxsplit=1)[-1] + for arg in os.getenv(self.OPTIONS_ENV_VARIABLE, "").split(",") + if arg + } valid_config_options = {option.upper() for option in get_type_hints(DMConfigOptions)} - if valid_config_options.issuperset(options_list): + if valid_config_options.issuperset(options_dict): options = { - arg_name.lower(): arg_name in options_list for arg_name in valid_config_options + arg_name.lower(): int(options_dict[arg_name]) + if isinstance(options_dict[arg_name], str) and options_dict[arg_name].isdigit() # pyright: ignore[reportUnknownMemberType,reportAttributeAccessIssue] + else options_dict[arg_name] + for arg_name in options_dict } - return DMConfigOptions(**options) + return DMConfigOptions(**options) # pyright: ignore[reportArgumentType] msg = ( - f"Invalid configuration options found: {list(set(options_list) - valid_config_options)}" + f"Invalid configuration options found: {list(set(options_dict) - valid_config_options)}" ) raise KeyError(msg) diff --git a/src/tm_devices/device_manager.py b/src/tm_devices/device_manager.py index 422540fe..a995c867 100644 --- a/src/tm_devices/device_manager.py +++ b/src/tm_devices/device_manager.py @@ -20,6 +20,11 @@ from tm_devices.drivers.api.rest_api.margin_testers.margin_tester import MarginTester from tm_devices.drivers.api.rest_api.rest_api_device import RESTAPIDevice from tm_devices.drivers.device import Device + +# noinspection PyProtectedMember +from tm_devices.drivers.device_driver_mapping import ( + _DEVICE_DRIVER_MODEL_STR_MAPPING, # pyright: ignore[reportPrivateUsage] +) from tm_devices.drivers.pi.data_acquisition_systems.data_acquisition_system import ( DataAcquisitionSystem, ) @@ -138,6 +143,7 @@ def __init__( self.__teardown_cleanup_enabled: bool = NotImplemented self.__setup_cleanup_enabled: bool = NotImplemented self.__visa_library: str = NotImplemented + self.__default_visa_timeout: int = NotImplemented # Create the config self.__config = DMConfigParser() @@ -180,6 +186,17 @@ def __exit__( ################################################################################################ # Properties ################################################################################################ + @property + def default_visa_timeout(self) -> int: + """Return the default VISA timeout value.""" + return self.__default_visa_timeout + + @default_visa_timeout.setter + def default_visa_timeout(self, value: int) -> None: + """Set the default VISA timeout value.""" + self.__config.options.default_visa_timeout = value + self.__default_visa_timeout = value + @property def devices(self) -> Mapping[str, Union[RESTAPIDevice, PIDevice]]: """Return the dictionary of devices.""" @@ -1248,15 +1265,12 @@ def __create_device( SystemError: Indicates something went wrong when creating the device. AssertionError: Indicates something went wrong when creating the device. """ - # pylint: disable=import-outside-toplevel - from tm_devices.drivers import DEVICE_DRIVER_MODEL_MAPPING - if self._external_device_drivers is not None: device_drivers: Mapping[str, Type[Device]] = MappingProxyType( - {**self._external_device_drivers, **DEVICE_DRIVER_MODEL_MAPPING} + {**self._external_device_drivers, **_DEVICE_DRIVER_MODEL_STR_MAPPING} ) else: - device_drivers = DEVICE_DRIVER_MODEL_MAPPING + device_drivers = _DEVICE_DRIVER_MODEL_STR_MAPPING alias_string = f' "{device_config.alias}"' if device_config.alias else "" if device_config.device_type == DeviceTypes.UNSUPPORTED: @@ -1376,7 +1390,12 @@ def __select_visa_device_driver( try: model_series = get_model_series(idn_response.split(",")[1]) device_driver = cast(Type[PIDevice], device_drivers[model_series]) - new_device = device_driver(device_config, self.__verbose, visa_resource) + new_device = device_driver( + device_config, + self.__verbose, + visa_resource, + self.__default_visa_timeout, + ) except (KeyError, IndexError) as error: visa_resource.close() message = "Unable to determine which device driver to use." @@ -1398,6 +1417,11 @@ def __set_options(self, verbose: bool) -> None: ) self.__teardown_cleanup_enabled = bool(self.__config.options.teardown_cleanup) self.__setup_cleanup_enabled = bool(self.__config.options.setup_cleanup) + self.__default_visa_timeout = ( + 5000 + if self.__config.options.default_visa_timeout is None + else self.__config.options.default_visa_timeout + ) # Configure the VISA library if self.__config.options.standalone: self.__visa_library = PYVISA_PY_BACKEND diff --git a/src/tm_devices/driver_mixins/signal_generator_mixin.py b/src/tm_devices/driver_mixins/signal_generator_mixin.py index 88385891..a45ee9c9 100644 --- a/src/tm_devices/driver_mixins/signal_generator_mixin.py +++ b/src/tm_devices/driver_mixins/signal_generator_mixin.py @@ -58,7 +58,7 @@ def _validate_generated_function(function: _SignalSourceTypeVar) -> _SignalSourc Raises: TypeError: Tells the user that they are using an incorrect function type. """ - if not issubclass(type(function), SignalGeneratorFunctionBase): + if not issubclass(type(function), SignalGeneratorFunctionBase): # pyright: ignore[reportUnnecessaryIsInstance] msg = ( "Generate Waveform does not accept functions as non Enums. " "Please use 'source_device_constants.functions'." diff --git a/src/tm_devices/drivers/__init__.py b/src/tm_devices/drivers/__init__.py index 23ba4ec8..4e97f675 100644 --- a/src/tm_devices/drivers/__init__.py +++ b/src/tm_devices/drivers/__init__.py @@ -1,5 +1,9 @@ """Python drivers for all supported devices.""" +import sys +import warnings +from typing import Any + # NOTE: For documentation purposes, these imports must be sorted manually, not automatically # ruff: isort: skip_file from tm_devices.drivers.device_driver_mapping import DEVICE_DRIVER_MODEL_MAPPING @@ -27,7 +31,7 @@ from tm_devices.drivers.pi.scopes.tekscope.mso5lp import MSO5LP from tm_devices.drivers.pi.scopes.tekscope.mso6 import MSO6 from tm_devices.drivers.pi.scopes.tekscope.mso6b import MSO6B -from tm_devices.drivers.pi.scopes.tekscope.tekscopesw import TekScopeSW +from tm_devices.drivers.pi.scopes.tekscope.tekscopesw import TekScopePC from tm_devices.drivers.pi.scopes.tekscope_2k.dpo2k import DPO2K from tm_devices.drivers.pi.scopes.tekscope_2k.dpo2kb import DPO2KB from tm_devices.drivers.pi.scopes.tekscope_2k.mso2k import MSO2K @@ -105,6 +109,21 @@ from tm_devices.drivers.pi.systems_switches.ss3706a import SS3706A from tm_devices.drivers.api.rest_api.margin_testers.tmt4 import TMT4 +# TODO: deprecation: remove this function after TekScopeSW is fully removed +if not ("--doctest-modules" in sys.argv and sys.argv[-1] == "src"): # pragma: no cover + + def __getattr__(name: str) -> Any: + if name == "TekScopeSW": + warnings.warn( + f"{name} is deprecated and will be removed in a future version, " + f"please use TekScopePC instead.", + DeprecationWarning, + stacklevel=2, + ) + return TekScopePC + return globals()[name] + + __all__ = [ "DEVICE_DRIVER_MODEL_MAPPING", "DEVICE_TYPE_CLASSES", @@ -162,7 +181,7 @@ "MSO70K", "MSO70KC", "MSO70KDX", - "TekScopeSW", + "TekScopePC", "TSOVu", "TMT4", "SMU2400", diff --git a/src/tm_devices/drivers/device.py b/src/tm_devices/drivers/device.py index 72749ee4..0707ebc4 100644 --- a/src/tm_devices/drivers/device.py +++ b/src/tm_devices/drivers/device.py @@ -262,7 +262,7 @@ def name(self) -> str: Usually something like "SCOPE 1" """ - return f"{self.device_type} {self.device_number}" + return f"{self.device_type} {max(0, self.device_number) or ''}".strip() @property def port(self) -> Optional[int]: @@ -427,6 +427,11 @@ def close(self) -> None: def has_errors(self) -> bool: """Check if the device has any errors. + !!! warning + In v3 this method will return a tuple containing a bool and a list of instances of + device error info dataclasses (this will replace + [`get_eventlog_status()`][tm_devices.drivers.pi.pi_device.PIDevice]). + Returns: A boolean indicating if any errors were found in the device. """ diff --git a/src/tm_devices/drivers/device_driver_mapping.py b/src/tm_devices/drivers/device_driver_mapping.py index 871eab3b..8ff3a5fe 100644 --- a/src/tm_devices/drivers/device_driver_mapping.py +++ b/src/tm_devices/drivers/device_driver_mapping.py @@ -25,7 +25,7 @@ from tm_devices.drivers.pi.scopes.tekscope.mso5lp import MSO5LP from tm_devices.drivers.pi.scopes.tekscope.mso6 import MSO6 from tm_devices.drivers.pi.scopes.tekscope.mso6b import MSO6B -from tm_devices.drivers.pi.scopes.tekscope.tekscopesw import TekScopeSW +from tm_devices.drivers.pi.scopes.tekscope.tekscopesw import TekScopePC from tm_devices.drivers.pi.scopes.tekscope_2k.dpo2k import DPO2K from tm_devices.drivers.pi.scopes.tekscope_2k.dpo2kb import DPO2KB from tm_devices.drivers.pi.scopes.tekscope_2k.mso2k import MSO2K @@ -105,120 +105,136 @@ from tm_devices.drivers.pi.systems_switches.ss3706a import SS3706A from tm_devices.helpers.enums import SupportedModels -DEVICE_DRIVER_MODEL_MAPPING: Mapping[str, Type[Device]] = MappingProxyType( +# IMPORTANT: Any additions to this class which support a USBTMC connection need to be added to the +# tm_devices.helpers.constants_and_dataclasses.USB_MODEL_ID_LOOKUP constant as well. +DEVICE_DRIVER_MODEL_MAPPING: Mapping[SupportedModels, Type[Device]] = MappingProxyType( { # AFGs - SupportedModels.AFG3K.value: AFG3K, - SupportedModels.AFG3KB.value: AFG3KB, - SupportedModels.AFG3KC.value: AFG3KC, - SupportedModels.AFG31K.value: AFG31K, + SupportedModels.AFG3K: AFG3K, + SupportedModels.AFG3KB: AFG3KB, + SupportedModels.AFG3KC: AFG3KC, + SupportedModels.AFG31K: AFG31K, # AWGs - SupportedModels.AWG5200.value: AWG5200, - SupportedModels.AWG5K.value: AWG5K, - SupportedModels.AWG5KB.value: AWG5KB, - SupportedModels.AWG5KC.value: AWG5KC, - SupportedModels.AWG7K.value: AWG7K, - SupportedModels.AWG7KB.value: AWG7KB, - SupportedModels.AWG7KC.value: AWG7KC, - SupportedModels.AWG70KA.value: AWG70KA, - SupportedModels.AWG70KB.value: AWG70KB, + SupportedModels.AWG5200: AWG5200, + SupportedModels.AWG5K: AWG5K, + SupportedModels.AWG5KB: AWG5KB, + SupportedModels.AWG5KC: AWG5KC, + SupportedModels.AWG7K: AWG7K, + SupportedModels.AWG7KB: AWG7KB, + SupportedModels.AWG7KC: AWG7KC, + SupportedModels.AWG70KA: AWG70KA, + SupportedModels.AWG70KB: AWG70KB, # Scopes - SupportedModels.DPO5K.value: DPO5K, - SupportedModels.DPO5KB.value: DPO5KB, - SupportedModels.DPO7K.value: DPO7K, - SupportedModels.DPO7KC.value: DPO7KC, - SupportedModels.DPO70K.value: DPO70K, - SupportedModels.DPO70KC.value: DPO70KC, - SupportedModels.DPO70KD.value: DPO70KD, - SupportedModels.DPO70KDX.value: DPO70KDX, - SupportedModels.DPO70KSX.value: DPO70KSX, - SupportedModels.DSA70K.value: DSA70K, - SupportedModels.DSA70KC.value: DSA70KC, - SupportedModels.DSA70KD.value: DSA70KD, - SupportedModels.LPD6.value: LPD6, - SupportedModels.MSO2K.value: MSO2K, - SupportedModels.MSO2KB.value: MSO2KB, - SupportedModels.DPO2K.value: DPO2K, - SupportedModels.DPO2KB.value: DPO2KB, - SupportedModels.MDO3.value: MDO3, - SupportedModels.MDO3K.value: MDO3K, - SupportedModels.MDO4K.value: MDO4K, - SupportedModels.MDO4KB.value: MDO4KB, - SupportedModels.MDO4KC.value: MDO4KC, - SupportedModels.MSO4K.value: MSO4K, - SupportedModels.MSO4KB.value: MSO4KB, - SupportedModels.DPO4K.value: DPO4K, - SupportedModels.DPO4KB.value: DPO4KB, - SupportedModels.MSO2.value: MSO2, - SupportedModels.MSO4.value: MSO4, - SupportedModels.MSO4B.value: MSO4B, - SupportedModels.MSO5.value: MSO5, - SupportedModels.MSO5B.value: MSO5B, - SupportedModels.MSO5LP.value: MSO5LP, - SupportedModels.MSO6.value: MSO6, - SupportedModels.MSO6B.value: MSO6B, - SupportedModels.MSO5K.value: MSO5K, - SupportedModels.MSO5KB.value: MSO5KB, - SupportedModels.MSO70K.value: MSO70K, - SupportedModels.MSO70KC.value: MSO70KC, - SupportedModels.MSO70KDX.value: MSO70KDX, - SupportedModels.TEKSCOPESW.value: TekScopeSW, - SupportedModels.TSOVU.value: TSOVu, + SupportedModels.DPO5K: DPO5K, + SupportedModels.DPO5KB: DPO5KB, + SupportedModels.DPO7K: DPO7K, + SupportedModels.DPO7KC: DPO7KC, + SupportedModels.DPO70K: DPO70K, + SupportedModels.DPO70KC: DPO70KC, + SupportedModels.DPO70KD: DPO70KD, + SupportedModels.DPO70KDX: DPO70KDX, + SupportedModels.DPO70KSX: DPO70KSX, + SupportedModels.DSA70K: DSA70K, + SupportedModels.DSA70KC: DSA70KC, + SupportedModels.DSA70KD: DSA70KD, + SupportedModels.LPD6: LPD6, + SupportedModels.MSO2K: MSO2K, + SupportedModels.MSO2KB: MSO2KB, + SupportedModels.DPO2K: DPO2K, + SupportedModels.DPO2KB: DPO2KB, + SupportedModels.MDO3: MDO3, + SupportedModels.MDO3K: MDO3K, + SupportedModels.MDO4K: MDO4K, + SupportedModels.MDO4KB: MDO4KB, + SupportedModels.MDO4KC: MDO4KC, + SupportedModels.MSO4K: MSO4K, + SupportedModels.MSO4KB: MSO4KB, + SupportedModels.DPO4K: DPO4K, + SupportedModels.DPO4KB: DPO4KB, + SupportedModels.MSO2: MSO2, + SupportedModels.MSO4: MSO4, + SupportedModels.MSO4B: MSO4B, + SupportedModels.MSO5: MSO5, + SupportedModels.MSO5B: MSO5B, + SupportedModels.MSO5LP: MSO5LP, + SupportedModels.MSO6: MSO6, + SupportedModels.MSO6B: MSO6B, + SupportedModels.MSO5K: MSO5K, + SupportedModels.MSO5KB: MSO5KB, + SupportedModels.MSO70K: MSO70K, + SupportedModels.MSO70KC: MSO70KC, + SupportedModels.MSO70KDX: MSO70KDX, + SupportedModels.TEKSCOPEPC: TekScopePC, + SupportedModels.TSOVU: TSOVu, # Margin Testers - SupportedModels.TMT4.value: TMT4, + SupportedModels.TMT4: TMT4, # Source Measure Units - SupportedModels.SMU2400.value: SMU2400, - SupportedModels.SMU2401.value: SMU2401, - SupportedModels.SMU2410.value: SMU2410, - SupportedModels.SMU2450.value: SMU2450, - SupportedModels.SMU2460.value: SMU2460, - SupportedModels.SMU2461.value: SMU2461, - SupportedModels.SMU2470.value: SMU2470, - SupportedModels.SMU2601B.value: SMU2601B, - SupportedModels.SMU2601B_PULSE.value: SMU2601BPulse, - SupportedModels.SMU2602B.value: SMU2602B, - SupportedModels.SMU2604B.value: SMU2604B, - SupportedModels.SMU2606B.value: SMU2606B, - SupportedModels.SMU2611B.value: SMU2611B, - SupportedModels.SMU2612B.value: SMU2612B, - SupportedModels.SMU2614B.value: SMU2614B, - SupportedModels.SMU2634B.value: SMU2634B, - SupportedModels.SMU2635B.value: SMU2635B, - SupportedModels.SMU2636B.value: SMU2636B, - SupportedModels.SMU2651A.value: SMU2651A, - SupportedModels.SMU2657A.value: SMU2657A, - SupportedModels.SMU2601A.value: SMU2601A, - SupportedModels.SMU2602A.value: SMU2602A, - SupportedModels.SMU2604A.value: SMU2604A, - SupportedModels.SMU2611A.value: SMU2611A, - SupportedModels.SMU2612A.value: SMU2612A, - SupportedModels.SMU2614A.value: SMU2614A, - SupportedModels.SMU2634A.value: SMU2634A, - SupportedModels.SMU2635A.value: SMU2635A, - SupportedModels.SMU2636A.value: SMU2636A, - SupportedModels.SMU6430.value: SMU6430, - SupportedModels.SMU6514.value: SMU6514, - SupportedModels.SMU6517B.value: SMU6517B, + SupportedModels.SMU2400: SMU2400, + SupportedModels.SMU2401: SMU2401, + SupportedModels.SMU2410: SMU2410, + SupportedModels.SMU2450: SMU2450, + SupportedModels.SMU2460: SMU2460, + SupportedModels.SMU2461: SMU2461, + SupportedModels.SMU2470: SMU2470, + SupportedModels.SMU2601B: SMU2601B, + SupportedModels.SMU2601B_PULSE: SMU2601BPulse, + SupportedModels.SMU2602B: SMU2602B, + SupportedModels.SMU2604B: SMU2604B, + SupportedModels.SMU2606B: SMU2606B, + SupportedModels.SMU2611B: SMU2611B, + SupportedModels.SMU2612B: SMU2612B, + SupportedModels.SMU2614B: SMU2614B, + SupportedModels.SMU2634B: SMU2634B, + SupportedModels.SMU2635B: SMU2635B, + SupportedModels.SMU2636B: SMU2636B, + SupportedModels.SMU2651A: SMU2651A, + SupportedModels.SMU2657A: SMU2657A, + SupportedModels.SMU2601A: SMU2601A, + SupportedModels.SMU2602A: SMU2602A, + SupportedModels.SMU2604A: SMU2604A, + SupportedModels.SMU2611A: SMU2611A, + SupportedModels.SMU2612A: SMU2612A, + SupportedModels.SMU2614A: SMU2614A, + SupportedModels.SMU2634A: SMU2634A, + SupportedModels.SMU2635A: SMU2635A, + SupportedModels.SMU2636A: SMU2636A, + SupportedModels.SMU6430: SMU6430, + SupportedModels.SMU6514: SMU6514, + SupportedModels.SMU6517B: SMU6517B, # Power Supplies - SupportedModels.PSU2200.value: PSU2200, - SupportedModels.PSU2220.value: PSU2220, - SupportedModels.PSU2230.value: PSU2230, - SupportedModels.PSU2231.value: PSU2231, - SupportedModels.PSU2231A.value: PSU2231A, - SupportedModels.PSU2280.value: PSU2280, - SupportedModels.PSU2281.value: PSU2281, + SupportedModels.PSU2200: PSU2200, + SupportedModels.PSU2220: PSU2220, + SupportedModels.PSU2230: PSU2230, + SupportedModels.PSU2231: PSU2231, + SupportedModels.PSU2231A: PSU2231A, + SupportedModels.PSU2280: PSU2280, + SupportedModels.PSU2281: PSU2281, # Digital Multimeters - SupportedModels.DMM6500.value: DMM6500, - SupportedModels.DMM7510.value: DMM7510, - SupportedModels.DMM7512.value: DMM7512, + SupportedModels.DMM6500: DMM6500, + SupportedModels.DMM7510: DMM7510, + SupportedModels.DMM7512: DMM7512, # Data Acquisition System - SupportedModels.DAQ6510.value: DAQ6510, + SupportedModels.DAQ6510: DAQ6510, # Systems Switches - SupportedModels.SS3706A.value: SS3706A, + SupportedModels.SS3706A: SS3706A, } ) """A mapping of device model series names to their device driver objects. Any additions to this class which support a USBTMC connection need to be added to the [`tm_devices.helpers.constants_and_dataclasses.USB_MODEL_ID_LOOKUP`][] constant as well. + +!!! danger "Deprecated" + This mapping is deprecated since it is only used internally by the + [`DeviceManager`][tm_devices.DeviceManager]. """ + +#################################################################################################### +# Private Attributes +#################################################################################################### +# TODO: deprecation: Move the contents of DEVICE_DRIVER_MODEL_MAPPING into this attribute, +# remove the old DEVICE_DRIVER_MODEL_MAPPING constant, and make this entire module (file) private +# in the next major release +_DEVICE_DRIVER_MODEL_STR_MAPPING: "Mapping[str, Type[Device]]" = MappingProxyType( + {key.value: value for key, value in DEVICE_DRIVER_MODEL_MAPPING.items()} +) diff --git a/src/tm_devices/drivers/pi/_base_afg_source_channel.py b/src/tm_devices/drivers/pi/base_afg_source_channel.py similarity index 97% rename from src/tm_devices/drivers/pi/_base_afg_source_channel.py rename to src/tm_devices/drivers/pi/base_afg_source_channel.py index 64a25c4b..0dfc0bb6 100644 --- a/src/tm_devices/drivers/pi/_base_afg_source_channel.py +++ b/src/tm_devices/drivers/pi/base_afg_source_channel.py @@ -3,7 +3,7 @@ from abc import abstractmethod from typing import Literal -from tm_devices.drivers.pi._base_source_channel import BaseSourceChannel +from tm_devices.drivers.pi.base_source_channel import BaseSourceChannel from tm_devices.drivers.pi.pi_device import PIDevice from tm_devices.helpers.enums import SignalGeneratorFunctionBase diff --git a/src/tm_devices/drivers/pi/_base_source_channel.py b/src/tm_devices/drivers/pi/base_source_channel.py similarity index 100% rename from src/tm_devices/drivers/pi/_base_source_channel.py rename to src/tm_devices/drivers/pi/base_source_channel.py diff --git a/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py b/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py index 6df3e413..48a767b8 100644 --- a/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py +++ b/src/tm_devices/drivers/pi/data_acquisition_systems/daq6510.py @@ -28,6 +28,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DAQ6510 device. @@ -35,8 +36,9 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/digital_multimeters/dmm6500.py b/src/tm_devices/drivers/pi/digital_multimeters/dmm6500.py index ba3e1561..d6e63820 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/dmm6500.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/dmm6500.py @@ -25,6 +25,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DMM6500 device. @@ -32,9 +33,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7510.py b/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7510.py index 65de8646..613c89d2 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7510.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7510.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DMM7510 device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7512.py b/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7512.py index f64643f9..f98f6285 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7512.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm7512.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DMM7512 device. @@ -24,9 +25,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm75xx.py b/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm75xx.py index fa1e1d7b..6425b261 100644 --- a/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm75xx.py +++ b/src/tm_devices/drivers/pi/digital_multimeters/dmm75xx/dmm75xx.py @@ -25,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DMM75xx device. @@ -32,9 +33,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/ieee488_2_commands.py b/src/tm_devices/drivers/pi/ieee488_2_commands.py index 917220d6..86d7b0c8 100644 --- a/src/tm_devices/drivers/pi/ieee488_2_commands.py +++ b/src/tm_devices/drivers/pi/ieee488_2_commands.py @@ -286,8 +286,7 @@ def opc(self, write: bool = False) -> str: if write: self._pi_device.write("opc()") return "" - self.wai() - return self._pi_device.query("print([[1]])") + return self._pi_device.query("waitcomplete() print([[1]])") def rst(self) -> None: r"""Send the Reset (``reset()``) command.""" diff --git a/src/tm_devices/drivers/pi/pi_device.py b/src/tm_devices/drivers/pi/pi_device.py index 2b83e5cb..a87d6649 100644 --- a/src/tm_devices/drivers/pi/pi_device.py +++ b/src/tm_devices/drivers/pi/pi_device.py @@ -32,7 +32,6 @@ # noinspection PyPep8Naming from tm_devices.helpers import ReadOnlyCachedProperty as cached_property # noqa: N813 -from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT class PIDevice(Device, ABC): # pylint: disable=too-many-public-methods @@ -50,6 +49,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PI device. @@ -57,6 +57,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ super().__init__(config_entry, verbose) self._visa_resource: visa.resources.MessageBasedResource = visa_resource @@ -69,11 +70,7 @@ def __init__( # Mark this as a simulated VISA backend self._visa_library_path += "@sim" # Use a default timeout of 30 seconds, if running unit tests use a smaller amount. - self._default_visa_timeout = ( - 30000 - if not bool(os.environ.get("TM_DEVICES_UNIT_TESTS_RUNNING")) - else UNIT_TEST_TIMEOUT - ) + self._default_visa_timeout = default_visa_timeout self._ieee_cmds = self._IEEE_COMMANDS_CLASS(self) self.reset_visa_timeout() @@ -113,6 +110,7 @@ def get_eventlog_status(self) -> Tuple[bool, str]: Returns: Boolean indicating no error, String containing concatenated contents of event log. """ + # TODO: in v3 - This will be deprecated by the has_errors def turn_channel_off(self, channel_str: str) -> None: """Turn off the specified channel. @@ -870,7 +868,18 @@ def write(self, command: str, opc: bool = False, verbose: bool = True) -> None: SystemError: ``*OPC?`` did not return "1" after sending the command. """ if self._verbose and verbose: - print_with_timestamp(f"({self._name_and_alias}) Write >> {command!r}") + if "\n" in command: + # Format any multiline command to print out with a single timestamp + # followed by as many (whitespace padded) f'>> {cmd}' lines as it has + commands_iter = iter(repr(command.strip()).split("\\n")) + spaces = " " * len( + print_with_timestamp( + f"({self._name_and_alias}) Write >> {next(commands_iter)}" + ).split(">> ")[0] + ) + print(*[f"{spaces}>> {cmd}" for cmd in commands_iter], sep="\n") + else: + print_with_timestamp(f"({self._name_and_alias}) Write >> {command!r}") try: self._visa_resource.write(command) @@ -948,7 +957,7 @@ def _cleanup(self) -> None: self.visa_timeout = ( 120000 if not bool(os.environ.get("TM_DEVICES_UNIT_TESTS_RUNNING")) - else UNIT_TEST_TIMEOUT + else self.default_visa_timeout ) self.ieee_cmds.cls() self.reset() diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2220.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2220.py index fe37c0ca..027f34f0 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2220.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2220.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PSU2220 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2230.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2230.py index d16bdb3e..b18a0f57 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2230.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2230.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PSU2230 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231.py index 0e1208f8..24a399d7 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PSU2231 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231a.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231a.py index fcf2ddfa..40d55e0f 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231a.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2231a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PSU2231A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2280.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2280.py index 2ba236bf..f0deb740 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2280.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2280.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PSU2280 device. @@ -24,9 +25,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2281.py b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2281.py index 1119df16..cb1bfaf4 100644 --- a/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2281.py +++ b/src/tm_devices/drivers/pi/power_supplies/psu2200/psu2281.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a PSU2281 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/lpd6.py b/src/tm_devices/drivers/pi/scopes/tekscope/lpd6.py index 63d18646..8259a62f 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/lpd6.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/lpd6.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO6 device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py index fbfe576f..c6aeee35 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso2.py @@ -23,6 +23,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO2 device. @@ -30,8 +31,9 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) # MSO2 takes 15-20 seconds for shutdown, needs more time before opening visa connection. self._reboot_quiet_period = 20 # the DCH1 channel has 16 bit lanes diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso4.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso4.py index 89d9bf94..77946b98 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso4.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso4.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO4 device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py index 10d2435a..89d7bd5a 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso4b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO4B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso5.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso5.py index 76930ef2..8ca8ab3d 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso5.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso5.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO5 device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso5b.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso5b.py index 2308762b..e26c0d7e 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso5b.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso5b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO5B device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Private Methods diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso5lp.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso5lp.py index 0156f30b..c8b5cd53 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso5lp.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso5lp.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO5LP device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso6.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso6.py index fd9ae872..cca44a57 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso6.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso6.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO6 device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/mso6b.py b/src/tm_devices/drivers/pi/scopes/tekscope/mso6b.py index dcc1b77a..09857e9a 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/mso6b.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/mso6b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO6B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py index 548e8a6c..cf574269 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscope.py @@ -41,13 +41,12 @@ ) from tm_devices.driver_mixins.usb_drives_mixin import USBDrivesMixin from tm_devices.drivers.device import family_base_class -from tm_devices.drivers.pi._base_afg_source_channel import BaseAFGSourceChannel +from tm_devices.drivers.pi.base_afg_source_channel import BaseAFGSourceChannel from tm_devices.drivers.pi.scopes.scope import Scope from tm_devices.helpers import DeviceConfigEntry, LoadImpedanceAFG # noinspection PyPep8Naming from tm_devices.helpers import ReadOnlyCachedProperty as cached_property # noqa: N813 -from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT from tm_devices.helpers.enums import ( SignalGeneratorFunctionsIAFG, SignalGeneratorOutputPathsBase, @@ -106,6 +105,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a TekScope device. @@ -113,8 +113,9 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) self.write("HEADER OFF", verbose=False) # TODO: this should be a property of the probe attribute on the channel object @@ -130,7 +131,9 @@ def channel(self) -> "MappingProxyType[str, TekScopeChannel]": channel_map: Dict[str, TekScopeChannel] = {} with self.temporary_verbose(False) and self.temporary_visa_timeout( - 500 if not bool(os.environ.get("TM_DEVICES_UNIT_TESTS_RUNNING")) else UNIT_TEST_TIMEOUT + 500 + if not bool(os.environ.get("TM_DEVICES_UNIT_TESTS_RUNNING")) + else self.default_visa_timeout ): # Set scope PI to be verbose old_pi_verbosity = self.query(":VERBose?") diff --git a/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py b/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py index 50550c10..a85ee401 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope/tekscopesw.py @@ -1,9 +1,9 @@ -"""TEKSCOPESW device driver module.""" - -from typing import Any +"""TekScopePC device driver module.""" +# TODO: deprecation: rename file after TekScopeSW is fully removed import pyvisa as visa +from tm_devices.commands import TekScopePCMixin from tm_devices.drivers.pi.scopes.tekscope.tekscope import TekScope from tm_devices.helpers import DeviceConfigEntry @@ -11,8 +11,8 @@ from tm_devices.helpers import ReadOnlyCachedProperty as cached_property # noqa: N813 -class TekScopeSW(TekScope): - """TEKSCOPESW device driver.""" +class TekScopePC(TekScopePCMixin, TekScope): # pyright: ignore[reportIncompatibleMethodOverride] + """TekScopePC device driver.""" ################################################################################################ # Magic Methods @@ -22,39 +22,27 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: - """Create a TekScope device. + """Create a TekScopePC device. Args: config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ - super().__init__(config_entry, verbose, visa_resource) - - # TODO: Remove once auto-generated commands are available for TekScopeSW - self._commands: Any = NotImplemented - self._command_argument_constants: Any = NotImplemented + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties ################################################################################################ - # TODO: Remove once auto-generated commands are available for TekScopeSW - @property - def command_argument_constants(self) -> Any: - """Return the device command argument constants.""" - return self._command_argument_constants - - # TODO: Remove once auto-generated commands are available for TekScopeSW - @property - def commands(self) -> Any: - """Return the device commands.""" - return self._commands @cached_property def total_channels(self) -> int: """Return the total number of channels (all types).""" - return 0 + # TekScopePC supports a maximum of 8 channels + return 8 ################################################################################################ # Private Methods @@ -62,3 +50,12 @@ def total_channels(self) -> int: def _reboot(self) -> None: """Reboot the device.""" # TODO: overwrite the reboot code here + + +# An alias for TekScopeSW driver +class TekScopeSW(TekScopePC): + """TekScopeSW device driver. + + !!! danger "Deprecated" + This device driver is deprecated, use [`TekScopePC`][tm_devices.drivers.TekScopePC] instead. + """ diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2k.py b/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2k.py index 0b5c2976..33493ebb 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO2K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2kb.py index 89d38ee0..a2aeb170 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_2k/dpo2kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO2KB device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2k.py b/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2k.py index 4fa5c91f..5390f23b 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO2K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2kb.py index 1a673e74..4e6c1183 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_2k/mso2kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO2KB device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_2k/tekscope_2k.py b/src/tm_devices/drivers/pi/scopes/tekscope_2k/tekscope_2k.py index 65c55738..c16213e9 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_2k/tekscope_2k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_2k/tekscope_2k.py @@ -39,7 +39,11 @@ def get_available_data_sources(self) -> List[str]: Returns: The list of available data sources as strings. """ + previous_header_state = self.query("HEADER?").split(" ")[-1] # Read previous header state + self.write("HEADER 1") # Turn on header state so SELECT query works correctly source_string = self.query("SELECT?") + self.write(f"HEADER {previous_header_state}") # Return header state back to original + source_string = source_string.split(":")[-1] # Remove :SELECT: from beginning source_list = source_string.split(";") available_source_list: List[str] = [] diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4k.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4k.py index 48bf3eb9..fb5a8f95 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO4K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4kb.py index 6f0e677c..458458bf 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/dpo4kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO2KB device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py index 11b4cd88..27991c0a 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3.py @@ -21,6 +21,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MDO3 device. @@ -28,9 +29,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3k.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3k.py index 9dca8f1a..5f9dfbed 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo3k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MDO3K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4k.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4k.py index 0a049321..d48d0f76 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MDO4K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kb.py index 81a1de53..f7101c23 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MDO4KB device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kc.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kc.py index 5b572a2b..dc6bc382 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kc.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mdo4kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MDO4KC device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4k.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4k.py index 9119f3cf..66bc0770 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO4K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4kb.py index 6b52b205..5fb08c41 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_3k_4k/mso4kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO4KB device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py index 507e44cd..3a1c7751 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO5K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5kb.py index 7901fa07..9cfb5cdc 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo5kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO5KB device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70k.py index e71b4cae..470253bc 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70k.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO70K device. @@ -24,9 +25,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kc.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kc.py index e1b8f251..353d819b 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kc.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO70KC device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kd.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kd.py index 6a6f85cf..495f191b 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kd.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kd.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO70KD device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kdx.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kdx.py index 10402a08..e241af62 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kdx.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70kdx.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO70KDX device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70ksx.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70ksx.py index 46023de1..fbb76c73 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70ksx.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo70ksx.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO70KSX device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py index d6f4f9d5..30704e89 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO7K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7kc.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7kc.py index d438dd47..e5c3c2fb 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7kc.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dpo7kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DPO7KC device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70k.py index aee1f407..6d695ef9 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70k.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DSA70K device. @@ -24,9 +25,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kc.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kc.py index b6db4c5b..c5b0f42c 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kc.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DSA70KC device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kd.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kd.py index fa463a63..cce35029 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kd.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/dsa70kd.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a DSA70KD device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py index a3157b1a..4a90b54e 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5k.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO5K device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5kb.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5kb.py index 8968ebc6..569fb117 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5kb.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso5kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO5KB device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70k.py index 2a3a4dd9..0df3d177 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70k.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO70K device. @@ -24,9 +25,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kc.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kc.py index ec42070e..80761cf3 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kc.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO70KC device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kdx.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kdx.py index df38b9ab..0e6e97d9 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kdx.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/mso70kdx.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a MSO70KDX device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py index ef675c33..bad76748 100644 --- a/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py +++ b/src/tm_devices/drivers/pi/scopes/tekscope_5k_7k_70k/tekscope_5k_7k_70k.py @@ -24,6 +24,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a TekScope5k7k70k device. @@ -31,8 +32,9 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) self.write("HEADER OFF", verbose=False) # Extract the numeric part as string from the model number digits = "".join(char for char in self.model if char.isdigit()) diff --git a/src/tm_devices/drivers/pi/scopes/tso/tsovu.py b/src/tm_devices/drivers/pi/scopes/tso/tsovu.py index 5fd717ae..76f78785 100644 --- a/src/tm_devices/drivers/pi/scopes/tso/tsovu.py +++ b/src/tm_devices/drivers/pi/scopes/tso/tsovu.py @@ -19,6 +19,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a TSOVu device. @@ -26,8 +27,9 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) self.write("HEADER OFF", verbose=False) ################################################################################################ diff --git a/src/tm_devices/drivers/pi/signal_generators/afgs/afg.py b/src/tm_devices/drivers/pi/signal_generators/afgs/afg.py index 25e4c129..0a9ffbda 100644 --- a/src/tm_devices/drivers/pi/signal_generators/afgs/afg.py +++ b/src/tm_devices/drivers/pi/signal_generators/afgs/afg.py @@ -13,7 +13,7 @@ SourceDeviceConstants, ) from tm_devices.drivers.device import family_base_class -from tm_devices.drivers.pi._base_afg_source_channel import BaseAFGSourceChannel +from tm_devices.drivers.pi.base_afg_source_channel import BaseAFGSourceChannel from tm_devices.drivers.pi.signal_generators.signal_generator import SignalGenerator from tm_devices.helpers import DeviceTypes, LoadImpedanceAFG diff --git a/src/tm_devices/drivers/pi/signal_generators/afgs/afg31k.py b/src/tm_devices/drivers/pi/signal_generators/afgs/afg31k.py index aec2038a..4e9e8c34 100644 --- a/src/tm_devices/drivers/pi/signal_generators/afgs/afg31k.py +++ b/src/tm_devices/drivers/pi/signal_generators/afgs/afg31k.py @@ -36,6 +36,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AFG31K device. @@ -43,9 +44,10 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/signal_generators/afgs/afg3k.py b/src/tm_devices/drivers/pi/signal_generators/afgs/afg3k.py index aa1e381b..103cd119 100644 --- a/src/tm_devices/drivers/pi/signal_generators/afgs/afg3k.py +++ b/src/tm_devices/drivers/pi/signal_generators/afgs/afg3k.py @@ -34,6 +34,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AFG3K device. @@ -41,9 +42,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Private Methods diff --git a/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kb.py b/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kb.py index 0c4a6d82..6172c517 100644 --- a/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kb.py +++ b/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AFG3KB device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Public Methods diff --git a/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kc.py b/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kc.py index 781515c8..e0936972 100644 --- a/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kc.py +++ b/src/tm_devices/drivers/pi/signal_generators/afgs/afg3kc.py @@ -22,6 +22,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AFG3KC device. @@ -29,9 +30,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg.py index 3c9f77e8..dff912ef 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg.py @@ -12,7 +12,7 @@ SourceDeviceConstants, ) from tm_devices.drivers.device import family_base_class -from tm_devices.drivers.pi._base_source_channel import BaseSourceChannel +from tm_devices.drivers.pi.base_source_channel import BaseSourceChannel from tm_devices.drivers.pi.signal_generators.signal_generator import SignalGenerator from tm_devices.helpers import DeviceTypes, LoadImpedanceAFG diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5200.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5200.py index b4af9756..761aca98 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5200.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5200.py @@ -49,6 +49,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG5200 device. @@ -56,9 +57,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5k.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5k.py index ebce2d0e..515e718e 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5k.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5k.py @@ -38,6 +38,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG5K device. @@ -45,9 +46,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kb.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kb.py index 524a2628..6ad1050f 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kb.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kb.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG5KB device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kc.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kc.py index 63981ffd..fee75449 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kc.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg5kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG5KC device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg70ka.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg70ka.py index 6a14b1f8..1e4c1c66 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg70ka.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg70ka.py @@ -43,6 +43,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG70KA device. @@ -50,9 +51,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg70kb.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg70kb.py index 958d31b2..25a1a850 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg70kb.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg70kb.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG70KB device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg7k.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg7k.py index 45e8dfa9..99b6b3db 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg7k.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg7k.py @@ -42,6 +42,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG7K device. @@ -49,9 +50,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kb.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kb.py index c4ab72d6..e844cc04 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kb.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kb.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG7KB device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kc.py b/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kc.py index ef4c7191..e6d9ca64 100644 --- a/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kc.py +++ b/src/tm_devices/drivers/pi/signal_generators/awgs/awg7kc.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create an AWG7KC device. @@ -25,9 +26,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Public Methods diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2400.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2400.py index cd48039d..aa5c4c7c 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2400.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2400.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2400 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2401.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2401.py index 9bb699f5..5dd87d67 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2401.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2401.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2401 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2410.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2410.py index bc3db5cd..967a5cc0 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2410.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2410.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2410 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2450.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2450.py index bd10a87b..cba74e88 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2450.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2450.py @@ -20,6 +20,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2450 device. @@ -27,6 +28,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2460.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2460.py index cd3fd89c..2bb9143f 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2460.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2460.py @@ -20,6 +20,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2460 device. @@ -27,6 +28,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2461.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2461.py index 93db75a0..228fd86a 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2461.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2461.py @@ -20,6 +20,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2461 device. @@ -27,6 +28,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2470.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2470.py index ce23d25c..ab3d3b48 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2470.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu2470.py @@ -20,6 +20,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2470 device. @@ -27,6 +28,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu24xx_standard.py b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu24xx_standard.py index ce03b005..0a1e9b89 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu24xx_standard.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu24xx/smu24xx_standard.py @@ -122,9 +122,10 @@ def set_and_check( # noqa: PLR0913 def load_script( self, - file_path: Union[str, os.PathLike[str]], # noqa: ARG002 - script_name: str = "", # noqa: ARG002 + script_name: str, # noqa: ARG002 *, + script_body: str = "", # noqa: ARG002 + file_path: Union[str, os.PathLike[str], None] = None, # noqa: ARG002 run_script: bool = False, # noqa: ARG002 to_nv_memory: bool = False, # noqa: ARG002 ) -> None: @@ -135,3 +136,7 @@ def load_script( ################################################################################################ # Private Methods ################################################################################################ + + def _cleanup(self) -> None: + """Perform the cleanup defined for the device.""" + PIDevice._cleanup(self) # noqa: SLF001 diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601a.py index 4c40aa06..8ca00bfe 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2601A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b.py index 7829abd3..bd57580d 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2601B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b_pulse.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b_pulse.py index 98aa3d68..751d9fef 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b_pulse.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2601b_pulse.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2601B-PULSE device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602a.py index d09029c2..cff79b73 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2602A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602b.py index fbf88427..ddc16fb0 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2602b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2602B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604a.py index 3e2ae2e9..cbbfa628 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2604A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604b.py index fb694fb1..e4dd00ba 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2604b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2604B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2606b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2606b.py index 2eaa0c65..c3739ddf 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2606b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2606b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2606B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611a.py index 419300bf..05b9035d 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2611A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611b.py index 9b7f3ca0..626dac09 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2611b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2611B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612a.py index 322d63e9..32d3a5ea 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2612A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612b.py index 57e2a4ad..80f6f73f 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2612b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2612B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614a.py index 05e2fef3..f4529077 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2614A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614b.py index 9c0670b7..8949a17f 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2614b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2614B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634a.py index bb7f05b9..a421690a 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2634A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634b.py index 489785a3..6e641f3f 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2634b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2634B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635a.py index 9838ccac..eacd691a 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2635A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635b.py index bb76c8b7..ebaeab63 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2635b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2635B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636a.py index 0240ae0f..921de1e7 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636a.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2636A device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636b.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636b.py index caffbe96..39749fa7 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2636b.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2636B device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2651a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2651a.py index bd31931c..13c88da8 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2651a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2651a.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2651A device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2657a.py b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2657a.py index 565f9378..e89ca878 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2657a.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu26xx/smu2657a.py @@ -18,6 +18,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU2657A device. @@ -25,6 +26,7 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6430.py b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6430.py index 6874a5b0..7358fe93 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6430.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6430.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU6430 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6514.py b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6514.py index 8a9e8cec..ae311dfc 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6514.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6514.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU6514 device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6517b.py b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6517b.py index 8abd2658..ac5fc42d 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6517b.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6517b.py @@ -17,6 +17,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SMU6517B device. @@ -24,6 +25,7 @@ def __init__( # pylint: disable=useless-parent-delegation config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) diff --git a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6xxx.py b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6xxx.py index f8ccb825..566b70fc 100644 --- a/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6xxx.py +++ b/src/tm_devices/drivers/pi/source_measure_units/smu60xx/smu6xxx.py @@ -122,9 +122,10 @@ def set_and_check( # noqa: PLR0913 def load_script( self, - file_path: Union[str, os.PathLike[str]], # noqa: ARG002 - script_name: str = "", # noqa: ARG002 + script_name: str, # noqa: ARG002 *, + script_body: str = "", # noqa: ARG002 + file_path: Union[str, os.PathLike[str], None] = None, # noqa: ARG002 run_script: bool = False, # noqa: ARG002 to_nv_memory: bool = False, # noqa: ARG002 ) -> None: diff --git a/src/tm_devices/drivers/pi/systems_switches/ss3706a.py b/src/tm_devices/drivers/pi/systems_switches/ss3706a.py index a7a9a00e..b2008e4e 100644 --- a/src/tm_devices/drivers/pi/systems_switches/ss3706a.py +++ b/src/tm_devices/drivers/pi/systems_switches/ss3706a.py @@ -25,6 +25,7 @@ def __init__( config_entry: DeviceConfigEntry, verbose: bool, visa_resource: visa.resources.MessageBasedResource, + default_visa_timeout: int, ) -> None: """Create a SS3706A device. @@ -32,9 +33,10 @@ def __init__( config_entry: A config entry object parsed by the DMConfigParser. verbose: A boolean indicating if verbose output should be printed. visa_resource: The VISA resource object. + default_visa_timeout: The default VISA timeout value in milliseconds. """ # NOTE: This method must be defined for the documentation to properly generate - super().__init__(config_entry, verbose, visa_resource) + super().__init__(config_entry, verbose, visa_resource, default_visa_timeout) ################################################################################################ # Properties diff --git a/src/tm_devices/drivers/pi/tsp_device.py b/src/tm_devices/drivers/pi/tsp_device.py index 3a686898..8506265d 100644 --- a/src/tm_devices/drivers/pi/tsp_device.py +++ b/src/tm_devices/drivers/pi/tsp_device.py @@ -2,6 +2,8 @@ from __future__ import annotations +import warnings + from abc import ABC from typing import Any, Dict, List, Optional, Tuple, TYPE_CHECKING, Union @@ -80,6 +82,26 @@ def expect_esr(self, esr: Union[int, str], error_string: str = "") -> Tuple[bool return result, failure_message + def export_buffers(self, filepath: str, *args: str, sep: str = ",") -> None: + """Export one or more of the device's buffers to the given filepath. + + Args: + filepath: A string representing the path of the file to write to. + args: The buffer name(s) to export. + sep: The delimiter used to separate data. Defaults to ",". + """ + with open(filepath, mode="w", encoding="utf-8") as file: + buffer_data = self.get_buffers(*args) + column_length = max(len(x) for x in buffer_data.values()) + file.write(sep.join(buffer_data) + "\n") + for index in range(column_length): + file.write( + sep.join( + [str(ls[index]) if index < len(ls) else "" for ls in buffer_data.values()] + ) + + "\n" + ) + def get_buffers(self, *args: str) -> Dict[str, List[float]]: """Get the contents of one or more buffers on the device. @@ -127,38 +149,36 @@ def get_buffers(self, *args: str) -> Dict[str, List[float]]: def load_script( self, - file_path: Union[str, os.PathLike[str]], - script_name: str = "", + script_name: str, *, + script_body: str = "", + file_path: Union[str, os.PathLike[str], None] = None, run_script: bool = False, to_nv_memory: bool = False, ) -> None: """Upload a TSP script to the instrument. Args: - file_path: The file path of the script to read from the Python code's filesystem and - load on the instrument. - script_name: A string indicating what to name the script being loaded on the instrument, - if empty, 'loadfuncs' is used as the script name. + script_name: A string indicating what to name the script being loaded on the instrument. + script_body: TSP content to load on the instrument, overwritten if `file_path` defined. + file_path: a *.tsp file from the local filesystem to read and use as the `script_body`. run_script: Boolean indicating if the script should be run immediately after loading. to_nv_memory: Boolean indicating if the script is to be saved to non-volatile memory. """ - if not script_name: - script_name = "loadfuncs" + if file_path is not None: + # script_body argument is overwritten by file contents + with open(file_path, encoding="utf-8") as script_tsp: + script_body = script_tsp.read().strip() # Check if the script exists, delete it if it does self.write(f"if {script_name} ~= nil then script.delete('{script_name}') end") - with open(file_path, encoding="utf-8") as script: - self.write(f"loadscript {script_name}") - while tsp_command := script.readline(): - # TODO: Check and Send Valid Commands - self.write(tsp_command.strip()) - self.write("endscript") + # Load the script + self.write(f"loadscript {script_name}\n{script_body}\nendscript") - # Save to NV Memory - if to_nv_memory: - self.write(f"{script_name}.save()") + # Save to Non-Volatile Memory (script definition survives power cycle) + if to_nv_memory: + self.write(f"{script_name}.save()") if run_script: self.run_script(script_name) @@ -250,18 +270,17 @@ def write_buffers(self, filepath: str, *args: str, sep: str = ",") -> None: args: The buffer name(s) to export. sep: The delimiter used to separate data. Defaults to ",". """ - with open(filepath, mode="w", encoding="utf-8") as file: - buffer_data = self.get_buffers(*args) - column_length = max(len(x) for x in buffer_data.values()) - file.write(sep.join(buffer_data) + "\n") - for index in range(column_length): - file.write( - sep.join( - [str(ls[index]) if index < len(ls) else "" for ls in buffer_data.values()] - ) - + "\n" - ) + # TODO: Deprecation - remove in next major version v3 + warnings.warn( + DeprecationWarning("Use export_buffers(...) instead."), + stacklevel=2, + ) + self.export_buffers(filepath, *args, sep=sep) ################################################################################################ # Private Methods ################################################################################################ + def _cleanup(self) -> None: + """Perform the cleanup defined for the device.""" + super()._cleanup() + self.write("collectgarbage()") diff --git a/src/tm_devices/helpers/__init__.py b/src/tm_devices/helpers/__init__.py index 6c6ded24..01ed7e9f 100644 --- a/src/tm_devices/helpers/__init__.py +++ b/src/tm_devices/helpers/__init__.py @@ -35,6 +35,7 @@ get_visa_backend, ping_address, print_with_timestamp, + register_additional_usbtmc_mapping, sanitize_enum, ) from tm_devices.helpers.read_only_cached_property import ReadOnlyCachedProperty @@ -62,6 +63,7 @@ "ping_address", "print_with_timestamp", "PYVISA_PY_BACKEND", + "register_additional_usbtmc_mapping", "sanitize_enum", "SerialConfig", "Singleton", diff --git a/src/tm_devices/helpers/constants_and_dataclasses.py b/src/tm_devices/helpers/constants_and_dataclasses.py index 69a6ca27..edda8fe7 100644 --- a/src/tm_devices/helpers/constants_and_dataclasses.py +++ b/src/tm_devices/helpers/constants_and_dataclasses.py @@ -4,7 +4,7 @@ from dataclasses import dataclass from types import MappingProxyType -from typing import Final, FrozenSet, List, Mapping, Optional, Tuple, Union +from typing import Dict, Final, FrozenSet, List, Mapping, Optional, Tuple, Union from pyvisa import constants as pyvisa_constants @@ -378,8 +378,12 @@ def get_visa_resource_expression(self) -> str: from tm_devices.helpers.functions import get_model_series model_series = get_model_series(full_model) + model_id_lookup = { + **_externally_registered_usbtmc_model_id_lookup, + **_USB_MODEL_ID_STR_LOOKUP, + } try: - usbtmc_config = USB_MODEL_ID_LOOKUP[model_series] + usbtmc_config = model_id_lookup[model_series] # This commented out block of code can help deal with devices where the specific # model number is the USBTMC model_id but the Python driver is shared between @@ -438,6 +442,11 @@ class DMConfigOptions(AsDictionaryMixin): """A verbosity flag to enable extremely verbose VISA logging to stdout.""" retry_visa_connection: Optional[bool] = None """A flag to enable retrying the first VISA connection attempt.""" + default_visa_timeout: Optional[int] = None + """A default VISA timeout value (in milliseconds) to use when creating VISA connections. + + When this option is not set, a default value of 5000 milliseconds (5 seconds) is used. + """ check_for_updates: Optional[bool] = None """A flag indicating if a check for updates for the package should be performed on creation of the DeviceManager.""" # noqa: E501 @@ -445,7 +454,7 @@ def __str__(self) -> str: """Complete config entry line for an environment variable.""" return ",".join( [ - opt_key.upper() + opt_key.upper() + (f"={opt_val}" if not isinstance(opt_val, bool) else "") for opt_key, opt_val in self.to_dict(ignore_none=True).items() if opt_val ] @@ -502,9 +511,6 @@ def __str__(self) -> str: ) """A regex pattern used to capture pieces of VISA resource expressions.""" -UNIT_TEST_TIMEOUT: Final[int] = 50 -"""The VISA timeout value to use during unit tests, in milliseconds.""" - VALID_DEVICE_CONNECTION_TYPES: Final[Mapping[DeviceTypes, Tuple[ConnectionTypes, ...]]] = ( MappingProxyType( { @@ -575,151 +581,164 @@ def __str__(self) -> str: """ # USBTMC configuration defines -_TEKTRONIX_USBTMC_VENDOR_ID: Final[str] = "0x0699" -_KEITHLEY_USBTMC_VENDOR_ID: Final[str] = "0x05E6" -USB_MODEL_ID_LOOKUP: Final[Mapping[str, USBTMCConfiguration]] = MappingProxyType( +TEKTRONIX_USBTMC_VENDOR_ID: Final[str] = "0x0699" +"""The USBTMC Vendor ID for Tektronix devices.""" +KEITHLEY_USBTMC_VENDOR_ID: Final[str] = "0x05E6" +"""The USBTMC Vendor ID for Keithley devices.""" +USB_MODEL_ID_LOOKUP: Final[Mapping[SupportedModels, USBTMCConfiguration]] = MappingProxyType( { - SupportedModels.MDO3K.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0408" + SupportedModels.MDO3: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x052C" + ), + SupportedModels.MDO3K: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0408" + ), + SupportedModels.MSO2: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0105" ), - SupportedModels.MSO2.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0105" + SupportedModels.MSO2KB: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x03A4" ), - SupportedModels.MSO2KB.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x03A4" + SupportedModels.MSO4: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0527" ), - SupportedModels.MSO4.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0527" + SupportedModels.MSO4B: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0527" ), - SupportedModels.MSO4B.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0527" + SupportedModels.MSO5: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0522" ), - SupportedModels.MSO5.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0522" + SupportedModels.MSO5B: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0522" ), - SupportedModels.MSO5B.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0522" + SupportedModels.MSO5LP: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0529" ), - SupportedModels.MSO5LP.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0529" + SupportedModels.MSO6: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0528" ), - SupportedModels.MSO6.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0528" + SupportedModels.MSO6B: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0530" ), - SupportedModels.MSO6B.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0530" + SupportedModels.LPD6: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x052F" ), - SupportedModels.LPD6.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x052F" + SupportedModels.AFG3K: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0345" ), - SupportedModels.AFG3K.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0345" + SupportedModels.AFG31K: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x035E" ), - SupportedModels.SMU2450.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2450" + SupportedModels.SMU2450: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2450" ), - SupportedModels.SMU2460.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2460" + SupportedModels.SMU2460: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2460" ), - SupportedModels.SMU2461.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2461" + SupportedModels.SMU2461: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2461" ), - SupportedModels.SMU2470.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2470" + SupportedModels.SMU2470: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2470" ), - SupportedModels.SMU2601A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2601" + SupportedModels.SMU2601A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2601" ), - SupportedModels.SMU2602A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2602" + SupportedModels.SMU2602A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2602" ), - SupportedModels.SMU2604A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2604" + SupportedModels.SMU2604A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2604" ), - SupportedModels.SMU2611A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2611" + SupportedModels.SMU2611A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2611" ), - SupportedModels.SMU2612A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2612" + SupportedModels.SMU2612A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2612" ), - SupportedModels.SMU2614A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2614" + SupportedModels.SMU2614A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2614" ), - SupportedModels.SMU2634A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2634" + SupportedModels.SMU2634A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2634" ), - SupportedModels.SMU2635A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2635" + SupportedModels.SMU2635A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2635" ), - SupportedModels.SMU2636A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2636" + SupportedModels.SMU2636A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2636" ), - SupportedModels.SMU2601B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2601" + SupportedModels.SMU2601B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2601" ), - SupportedModels.SMU2602B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2602" + SupportedModels.SMU2602B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2602" ), - SupportedModels.SMU2604B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2604" + SupportedModels.SMU2604B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2604" ), - SupportedModels.SMU2606B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2606" + SupportedModels.SMU2606B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2606" ), - SupportedModels.SMU2611B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2611" + SupportedModels.SMU2611B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2611" ), - SupportedModels.SMU2612B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2612" + SupportedModels.SMU2612B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2612" ), - SupportedModels.SMU2614B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2614" + SupportedModels.SMU2614B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2614" ), - SupportedModels.SMU2634B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2634" + SupportedModels.SMU2634B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2634" ), - SupportedModels.SMU2635B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2635" + SupportedModels.SMU2635B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2635" ), - SupportedModels.SMU2636B.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2636" + SupportedModels.SMU2636B: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2636" ), - SupportedModels.PSU2200.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2200" + SupportedModels.PSU2200: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2200" ), - SupportedModels.PSU2220.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2220" + SupportedModels.PSU2220: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2220" ), - SupportedModels.PSU2230.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2230" + SupportedModels.PSU2230: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2230" ), - SupportedModels.PSU2231.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2231" + SupportedModels.PSU2231: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2231" ), - SupportedModels.PSU2231A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2231" + SupportedModels.PSU2231A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2231" ), - SupportedModels.PSU2280.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2280" + SupportedModels.PSU2280: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2280" ), - SupportedModels.PSU2281.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2281" + SupportedModels.PSU2281: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x2281" ), - SupportedModels.AWG5200.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" + SupportedModels.AWG5200: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" ), - SupportedModels.AWG70KA.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" + SupportedModels.AWG70KA: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" ), - SupportedModels.AWG70KB.value: USBTMCConfiguration( - vendor_id=_TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" + SupportedModels.AWG70KB: USBTMCConfiguration( + vendor_id=TEKTRONIX_USBTMC_VENDOR_ID, model_id="0x0503" ), - SupportedModels.SS3706A.value: USBTMCConfiguration( - vendor_id=_KEITHLEY_USBTMC_VENDOR_ID, model_id="0x3706" + SupportedModels.SS3706A: USBTMCConfiguration( + vendor_id=KEITHLEY_USBTMC_VENDOR_ID, model_id="0x3706" ), } ) -"""A mapping of model USBTMC info.""" +"""A mapping of device model series to their USBTMC connection information. + +This lists the natively supported USBTMC connections of `tm_devices`, use +[``register_additional_usbtmc_model_series()``][tm_devices.helpers.functions.register_additional_usbtmc_mapping] +to register USBTMC connection information for devices not listed here. +""" LOAD_IMPEDANCE_LOOKUP: Final[Mapping[Union[float, str], LoadImpedanceAFG]] = MappingProxyType( { @@ -731,3 +750,12 @@ def __str__(self) -> str: } ) """Conversions of literal values representing impedances to Enum values representing impedances.""" + + +#################################################################################################### +# Private Attributes +#################################################################################################### +_externally_registered_usbtmc_model_id_lookup: Dict[str, USBTMCConfiguration] = {} +_USB_MODEL_ID_STR_LOOKUP: Mapping[str, USBTMCConfiguration] = MappingProxyType( + {key.value: value for key, value in USB_MODEL_ID_LOOKUP.items()} +) diff --git a/src/tm_devices/helpers/enums.py b/src/tm_devices/helpers/enums.py index bd6fd970..552885d6 100644 --- a/src/tm_devices/helpers/enums.py +++ b/src/tm_devices/helpers/enums.py @@ -143,7 +143,7 @@ class SupportedModels(CustomStrEnum): MSO70K = "MSO70K" MSO70KC = "MSO70KC" MSO70KDX = "MSO70KDX" - TEKSCOPESW = "TekScopeSW" + TEKSCOPEPC = "TekScopePC" TSOVU = "TSOVu" # Margin Testers TMT4 = "TMT4" diff --git a/src/tm_devices/helpers/functions.py b/src/tm_devices/helpers/functions.py index c34f3f26..f3f9859e 100644 --- a/src/tm_devices/helpers/functions.py +++ b/src/tm_devices/helpers/functions.py @@ -22,11 +22,13 @@ from packaging.version import InvalidVersion, Version from tm_devices.helpers.constants_and_dataclasses import ( + _externally_registered_usbtmc_model_id_lookup, # pyright: ignore[reportPrivateUsage] + _USB_MODEL_ID_STR_LOOKUP, # pyright: ignore[reportPrivateUsage] ConnectionTypes, DeviceConfigEntry, PACKAGE_NAME, PYVISA_PY_BACKEND, - USB_MODEL_ID_LOOKUP, + USBTMCConfiguration, VISA_RESOURCE_EXPRESSION_REGEX, ) from tm_devices.helpers.enums import CustomStrEnum, SupportedModels @@ -101,7 +103,7 @@ rf"|(?P<{SupportedModels.MSO70K.value}>^MSO7\d\d\d\d$)" rf"|(?P<{SupportedModels.MSO70KC.value}>^MSO7\d\d\d\dC$)" rf"|(?P<{SupportedModels.MSO70KDX.value}>^MSO7\d\d\d\dDX$)" - rf"|(?P<{SupportedModels.TEKSCOPESW.value}>^TEKSCOPESW$)" + rf"|(?P<{SupportedModels.TEKSCOPEPC.value}>^TEKSCOPE(?:SW|PC)$)" rf"|(?P<{SupportedModels.TSOVU.value}>^TSOVU$)" rf"|(?P<{SupportedModels.TMT4.value}>^TMT4$)" # SMUs @@ -389,10 +391,15 @@ def detect_visa_resource_expression(input_str: str) -> Optional[Tuple[str, str]] while unneeded_part in match_groups_list: match_groups_list.remove(unneeded_part) # Check if the model is in the USB model lookup + model_id_lookup = { + **_externally_registered_usbtmc_model_id_lookup, + **_USB_MODEL_ID_STR_LOOKUP, + } filtered_usb_model_keys = [ key - for key, value in USB_MODEL_ID_LOOKUP.items() - if value.model_id == match_groups_list[1].lower() + for key, value in model_id_lookup.items() + # Model id also has an alpha character which needs to be converted to lowercase + if value.model_id.lower() == match_groups_list[1].lower() ] if filtered_usb_model_keys: # SMU and PSU need to be removed from the string to prevent issues @@ -569,6 +576,28 @@ def print_with_timestamp(message: str, end: str = "\n") -> str: return message +def register_additional_usbtmc_mapping(model_series: str, *, model_id: str, vendor_id: str) -> None: + """Register USBTMC connection information for a device that doesn't have native `tm_devices` USBTMC support. + + This function adds an additional mapping between the given ``model_series`` and the USBTMC + connection information provided. This mapping can then be used by ``tm_devices`` to create a + USBTMC connection to the device. + + Args: + model_series: The model series string. For VISA devices, the model series is based on the + model that is returned from the ``*IDN?`` query (See the + [``get_model_series()``][tm_devices.helpers.get_model_series] function for details). For + REST API devices, the model series is provided via the + [``device_driver``][tm_devices.helpers.constants_and_dataclasses.DeviceConfigEntry.device_driver] + parameter in the configuration file, environment variable, or Python code. + model_id: The hexadecimal Model ID used to create the USBTMC resource expression. + vendor_id: The hexadecimal Vendor ID used to create the USBTMC resource expression. + """ # noqa: E501 + _externally_registered_usbtmc_model_id_lookup[model_series] = USBTMCConfiguration( + model_id=model_id, vendor_id=vendor_id + ) + + def sanitize_enum(value: str, enum_class: Type[CustomStrEnum]) -> CustomStrEnum: """Sanitize a string value into its enum value. diff --git a/src/tm_devices/helpers/stubgen.py b/src/tm_devices/helpers/stubgen.py index 8175178d..3c7591f6 100644 --- a/src/tm_devices/helpers/stubgen.py +++ b/src/tm_devices/helpers/stubgen.py @@ -92,7 +92,7 @@ def add_info_to_stub(cls: Any, method: Any, is_property: bool = False) -> None: if typing_imports: contents = f"from typing import {', '.join(typing_imports)}\n" + contents # Use a regular expression to find the end of the current class - pattern = r"(class\s+" + cls.__name__ + r"\b.*?)(\n(?=def|class)|\Z)" + pattern = r"(class\s+" + cls.__name__ + r"\b.*?)(\n(?=def|class|@)|\Z)" # Insert the new code at the end of the current class if match := re.search(pattern, contents, flags=re.DOTALL): end_pos = match.end() @@ -102,7 +102,7 @@ def add_info_to_stub(cls: Any, method: Any, is_property: bool = False) -> None: second_half_contents = contents[end_pos:] contents = first_half_contents + method_stub_content + second_half_contents else: # pragma: no cover - msg = f"Could not find the end of the {cls.__class__.__name__} class." + msg = f"Could not find the end of the {cls.__name__} class." raise ValueError(msg) with open(method_filepath, "w", encoding="utf-8") as file_pointer: diff --git a/tests/auto_gen_cmds_list.json b/tests/auto_gen_cmds_list.json index b829de79..ebe73498 100644 --- a/tests/auto_gen_cmds_list.json +++ b/tests/auto_gen_cmds_list.json @@ -77,15 +77,22 @@ "ACTONEVent:MEASUrement:ACTION:SRQ:STATE", "ACTONEVent:MEASUrement:ACTION:STOPACQ:STATE", "ACTONEVent:NUMACQs", + "ACTONEVent:NUMSAVEs", "ACTONEVent:REPEATCount", "ACTONEVent:SEARCH:ACTION:SAVEIMAGe:STATE", "ACTONEVent:SEARCH:ACTION:SAVEWAVEform:STATE", "ACTONEVent:SEARCH:ACTION:SRQ:STATE", "ACTONEVent:SEARCH:ACTION:STOPACQ:STATE", + "ACTONEVent:TIMER:ACTION:SAVEIMAGe:STATE", + "ACTONEVent:TIMER:ACTION:SAVETable:STATE", + "ACTONEVent:TIMER:ACTION:SAVEWAVEform:STATE", + "ACTONEVent:TIMERCount", + "ACTONEVent:TIMERInterval", "ACTONEVent:TRIGger:ACTION:SAVEIMAGe:STATE", "ACTONEVent:TRIGger:ACTION:SAVEWAVEform:STATE", "ACTONEVent:TRIGger:ACTION:SRQ:STATE", "ACTONEVent:TRIGger:ACTION:STOPACQ:STATE", + "ACTONEVent:Type", "ACTive:MODE", "AFG:AMPLitude", "AFG:ARBitrary:ARB:DATE", @@ -502,6 +509,8 @@ "BUS:B:ONEWIRe:MODe", "BUS:B:PARallel:ALLTHResholds", "BUS:B:PARallel:ALLTHResholds:APPly", + "BUS:B:PARallel:BITSOUrce", + "BUS:B:PARallel:BITSOUrce:THReshold", "BUS:B:PARallel:BIT:SOUrce", "BUS:B:PARallel:BITSOUrce", "BUS:B:PARallel:BITSOUrce:THReshold", @@ -689,6 +698,7 @@ "BWAVeform:RESet", "BWAVeform:SRATe", "CALLOUTS:ADDNew", + "CALLOUTS:CALLOUT", "CALLOUTS:CALLOUT:BOOKMark:SOURCE", "CALLOUTS:CALLOUT:BOOKMark:XPOS", "CALLOUTS:CALLOUT:COLOR", @@ -929,6 +939,12 @@ "CONNected:STATus", "CONNected:USAGe:TRack:REQUested:STATus", "CONNected:USAGe:TRack:STATus", + "CONNectivity:ACTive", + "CONNectivity:CONNect", + "CONNectivity:DISConnect", + "CONNectivity:GANG:CREAte", + "CONNectivity:REMove", + "CONNectivity:STATus", "COUnter", "COUnter:DURation", "COUnter:GAIn", @@ -1207,6 +1223,7 @@ "DISplay:INTENSITy:WAVEform", "DISplay:INTENSITy:WAVEform:IMAGEView", "DISplay:INTENSITy:WAVEform:RECORDView", + "DISplay:MATHFFTView:CURSor:ROLOCATION", "DISplay:MATHFFTView:AUTOScale", "DISplay:MATHFFTView:CURSor:ASOUrce", "DISplay:MATHFFTView:CURSor:BSOUrce", @@ -1242,6 +1259,9 @@ "DISplay:MATHFFTView:ZOOM:YAXIS:TO", "DISplay:PERSistence", "DISplay:PERSistence:RESET", + "DISplay:PLOTVIEW:XAXIS:SCALE", + "DISplay:PLOTVIEW:YAXIS:SCALE", + "DISplay:PLOTView:CURSor:ROLOCATION", "DISplay:PLOTView:AUTOScale", "DISplay:PLOTView:CURSor:ASOUrce", "DISplay:PLOTView:CURSor:BSOUrce", @@ -2088,6 +2108,7 @@ "FGEN[:CHANnel[n]]:PHASe", "FGEN[:CHANnel[n]]:SYMMetry", "FGEN[:CHANnel[n]]:TYPE", + "FILESYS:COLLECTLOGFILES", "FILESystem", "FILESystem:COPy", "FILESystem:CWD", @@ -2433,6 +2454,7 @@ "MASK:MASK:DEFinedby", "MASK:MASK:DISplay", "MASK:MASK:LIST", + "MASK:MASK:SEG:COUNT:HITS", "MASK:MASK:SEG:POINTS", "MASK:MASK:SEGCOUNT:HITS", "MASK:MASK:SOUrce", @@ -2646,6 +2668,18 @@ "MCH:{MINAMPLitude|MAXAMPLitude}", "MEASTABle:ADDNew", "MEASTABle:DELETE", + "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MAXimum", + "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MEAN", + "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:MINimum", + "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:PK2PK", + "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:POPUlation", + "MEASU:MEAS1:SUBGROUP:RESUlts:ALLAcqs:STDDev", + "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MAXimum", + "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MEAN", + "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:MINimum", + "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:PK2PK", + "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:POPUlation", + "MEASU:MEAS1:SUBGROUP:RESUlts:CURRentacq:STDDev", "MEASUrement", "MEASUrement:ADDMEAS", "MEASUrement:ADDNew", @@ -2953,6 +2987,7 @@ "MEASUrement:MEAS:OUTEDGEQUALifier", "MEASUrement:MEAS:OUTFILTers:LOWPass:FREQ", "MEASUrement:MEAS:OUTFILTers:LOWPass:SPEC", + "MEASUrement:MEAS:OUTPUTVOLTage", "MEASUrement:MEAS:OUTPUTVOLTage", "MEASUrement:MEAS:PASSFAILENabled", "MEASUrement:MEAS:PASSFAILHIGHlimit", @@ -3004,6 +3039,7 @@ "MEASUrement:MEAS:REFLevels:PERCent:RISEMid", "MEASUrement:MEAS:REFLevels:PERCent:TYPE", "MEASUrement:MEAS:REFMode", + "MEASUrement:MEAS:REFVOLTAGEVal", "MEASUrement:MEAS:REFVOLTAGEVal", "MEASUrement:MEAS:REFVoltage", "MEASUrement:MEAS:RESUlts:ALLAcqs:MAXimum", @@ -3025,6 +3061,7 @@ "MEASUrement:MEAS:RESUlts:HISTory:POPUlation", "MEASUrement:MEAS:RESUlts:HISTory:STDDev", "MEASUrement:MEAS:RFREquency", + "MEASUrement:MEAS:RIPPLEFREQVal", "MEASUrement:MEAS:RIPPLEFREQVal", "MEASUrement:MEAS:RRANGE", "MEASUrement:MEAS:SEQuence", @@ -3097,6 +3134,7 @@ "MEASUrement:MEAS:WINDOWLENgth", "MEASUrement:MEAS:XUNIT", "MEASUrement:MEAS:YUNIT", + "MEASUrement:MEAS?:STLTYpe", "MEASUrement:MEASRange:MAX", "MEASUrement:MEASRange:MIN", "MEASUrement:MEASRange:STATE", @@ -3390,11 +3428,13 @@ "POWer:POWer:AUTOSet", "POWer:POWer:CLRESPONSE:AMPVal", "POWer:POWer:CLRESPONSE:AMPMode", + "POWer:POWer:CLRESPONSE:AMP[1-10]Val", "POWer:POWer:CLRESPONSE:ANALYSISMethod", "POWer:POWer:CLRESPONSE:AUTORbw", "POWer:POWer:CLRESPONSE:CONNECTSTATus", "POWer:POWer:CLRESPONSE:CONSTAMPlitude", "POWer:POWer:CLRESPONSE:FREQVal", + "POWer:POWer:CLRESPONSE:FREQ[1-11]Val", "POWer:POWer:CLRESPONSE:GENIPADDress", "POWer:POWer:CLRESPONSE:GENerator", "POWer:POWer:CLRESPONSE:IMPEDance", @@ -3452,11 +3492,13 @@ "POWer:POWer:HARMONICS:VSOURce", "POWer:POWer:IMPEDANCE:AMPVal", "POWer:POWer:IMPEDANCE:AMPMode", + "POWer:POWer:IMPEDANCE:AMP[1-10]Val", "POWer:POWer:IMPEDANCE:ANALYSISMethod", "POWer:POWer:IMPEDANCE:AUTORbw", "POWer:POWer:IMPEDANCE:CONNECTSTATus", "POWer:POWer:IMPEDANCE:CONSTAMPlitude", "POWer:POWer:IMPEDANCE:FREQVal", + "POWer:POWer:IMPEDANCE:FREQ[1-10]Val", "POWer:POWer:IMPEDANCE:GENIPADDress", "POWer:POWer:IMPEDANCE:GENerator", "POWer:POWer:IMPEDANCE:IMPEDANCE", @@ -3520,11 +3562,13 @@ "POWer:POWer:PRESET", "POWer:POWer:PSRR:AMPVal", "POWer:POWer:PSRR:AMPMode", + "POWer:POWer:PSRR:AMP[1-10]Val", "POWer:POWer:PSRR:ANALYSISMethod", "POWer:POWer:PSRR:AUTORbw", "POWer:POWer:PSRR:CONNECTSTATus", "POWer:POWer:PSRR:CONSTAMPlitude", "POWer:POWer:PSRR:FREQVal", + "POWer:POWer:PSRR:FREQ[1-11]Val", "POWer:POWer:PSRR:GENIPADDress", "POWer:POWer:PSRR:GENerator", "POWer:POWer:PSRR:IMPEDance", @@ -3583,6 +3627,7 @@ "POWer:POWer:SEQSETup", "POWer:POWer:SEQuence", "POWer:POWer:SOA:ISOURce", + "POWer:POWer:SOA:POINT", "POWer:POWer:SOA:POINT", "POWer:POWer:SOA:RECAllmask", "POWer:POWer:SOA:RECAllmask:FILEName", @@ -3809,6 +3854,53 @@ "REF_DALL:LABel:XPOS", "REF_DALL:LABel:YPOS", "REM", + "REMOTE:ACQMethod", + "REMOTE:ACQStatus", + "REMOTE:ACQUIRE", + "REMOTE:ADDNew", + "REMOTE:COMMInter", + "REMOTE:CONTROL", + "REMOTE:DELEte", + "REMOTE:LOGGING", + "REMOTE:NUMACq", + "REMOTE:S_CH:DIGGRP:D:THReshold", + "REMOTE:S_CH:DIGGRP:THReshold", + "REMOTE:S_CH:PROBETYPE", + "REMOTE:S_CH:SELect:DIGGRP:Dall", + "REMOTE:S_CH:STAte", + "REMOTE:S_CH:SV:CENTERFrequency", + "REMOTE:S_CH:SV:POSition", + "REMOTE:S_CH:SV:STARTFrequency", + "REMOTE:S_CH:SV:STATE", + "REMOTE:S_CH:SV:STOPFrequency", + "REMOTE:S_DCH:D:THReshold", + "REMOTE:S_DCH:GROUPTHReshold", + "REMOTE:S_DCH:SELect:DAll", + "REMOTE:SCOPe:BANDWidth", + "REMOTE:SCOPe:CONNECT", + "REMOTE:SCOPe:CONNECTIONMessage", + "REMOTE:SCOPe:CONNECTIONState", + "REMOTE:SCOPe:DISCONNECT", + "REMOTE:SCOPe:HORizontal:FASTframe:COUNt", + "REMOTE:SCOPe:HORizontal:FASTframe:MAXFrames", + "REMOTE:SCOPe:HORizontal:FASTframe:SELECTED", + "REMOTE:SCOPe:HORizontal:FASTframe:STATE", + "REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame", + "REMOTE:SCOPe:HORizontal:FASTframe:SUMFrame:STATE", + "REMOTE:SCOPe:IPADDress", + "REMOTE:SCOPe:MODELname", + "REMOTE:SCOPe:PORT", + "REMOTE:SCOPe:SYNC", + "REMOTE:SCOPe:State", + "REMOTE:SCOPe:VISACONNectiontype", + "REMOTE:SEQuence:CURrent", + "REMOTE:SEQuence:NUMSEQuence", + "REMOTE:SV:RBW", + "REMOTE:SV:RBWMode", + "REMOTE:SV:SPAN", + "REMOTE:SV:SPANRBWRatio", + "REMOTE:SV:WINDOW", + "REMOTE:USBDEscriptors", "RF:CLIPPing", "RF:DETECTionmethod:MODe", "RF:DETECTionmethod:RF_AVErage", @@ -3893,6 +3985,22 @@ "ROSc:STATE", "ROSc:TRACking", "RRB:STATE", + "S_CH:BANdwidth:ACTUal", + "S_CH:CLIPping", + "S_CH:COUPling", + "S_CH:DESKew", + "S_CH:LABel:COLor", + "S_CH:LABel:FONT:BOLD", + "S_CH:LABel:FONT:ITALic", + "S_CH:LABel:FONT:SIZE", + "S_CH:LABel:FONT:TYPE", + "S_CH:LABel:FONT:UNDERline", + "S_CH:LABel:NAMe", + "S_CH:LABel:XPOS", + "S_CH:LABel:YPOS", + "S_CH:OFFSet", + "S_CH:POSition", + "S_CH:SCAle", "SAVEON", "SAVEON:COUNt", "SAVEON:FILE:AUTOInc", @@ -4011,6 +4119,21 @@ "SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:DESTinationport:VALue", "SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SEQnum:VALue", "SEARCH:SEARCH:TRIGger:A:BUS:AUTOETHERnet:TCPHeader:SOUrceport:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:NRZ:CONDition", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:BLOCKDATa:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:CONDition", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATABITs", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:ECU:SENSor:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:A:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:DATa:REGion:B:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:ERRORTYPe", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:FUNCTIONCODETYPe", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGISTERADDRess", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:REGister:ADDRess:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSORSTATus:TYPe", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:SENSor:ADDRess:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:PSIFIVe:STATus:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:B:S8B10B:CONDition", "SEARCH:SEARCH:TRIGger:A:BUS:B:ARINC429A:CONDition", "SEARCH:SEARCH:TRIGger:A:BUS:B:ARINC429A:DATA:HIVALue", "SEARCH:SEARCH:TRIGger:A:BUS:B:ARINC429A:DATA:QUALifier", @@ -4408,6 +4531,8 @@ "SEARCH:SEARCH:TRIGger:A:BUS:I3C:MAXWRITe:VALue", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:PACKets", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SADDress:VALue", + "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:BROADCASTPacket", + "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SDR:DIRECTPacket", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATEBYTe:VALue", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:STATic:ADDRess", "SEARCH:SEARCH:TRIGger:A:BUS:I3C:SUPPORTBYTe:VALue", @@ -5014,6 +5139,7 @@ "SEARCH:SELected", "SEARCH:SPECTral:LIST", "SEARCH:STOP", + "SEARCHTABle", "SEARCHTABle:ADDNew", "SEARCHTABle:DELete", "SEARCHTABle:list", @@ -5148,6 +5274,25 @@ "SV:RBW", "SV:RBWMode", "SV:RF_PHASe:REFerence:MASTer", + "SV:S_CH:RF_AVErage:NUMAVg", + "SV:S_CH:RF_MAGnitude:FORMat", + "SV:S_CH:RF_PHASe:REFerence:DEGrees", + "SV:S_CH:RF_PHASe:REFerence:POSition", + "SV:S_CH:RF_PHASe:REFerence:TIMe", + "SV:S_CH:RF_PHASe:WRAP:DEGrees", + "SV:S_CH:RF_PHASe:WRAP:STATE", + "SV:S_CH:SELTrace", + "SV:S_CH:SELect:RF_AVErage", + "SV:S_CH:SELect:RF_FREQuency", + "SV:S_CH:SELect:RF_MAGnitude", + "SV:S_CH:SELect:RF_MAXHold", + "SV:S_CH:SELect:RF_MINHold", + "SV:S_CH:SELect:RF_NORMal", + "SV:S_CH:SELect:RF_PHASe", + "SV:S_CH:SELect:SPECtrogram", + "SV:S_CH:SQUELCH:STATE", + "SV:S_CH:SQUELCH:THReshold", + "SV:S_CH:UNIts", "SV:SPAN", "SV:SPANRBWRatio", "SV:SPECtrogram:CSCale:MAX", diff --git a/tests/conftest.py b/tests/conftest.py index 33ecd062..e6e04dd2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -13,7 +13,7 @@ from mock_server import mocker_server, PORT from tm_devices import DeviceManager from tm_devices.components import DMConfigParser -from tm_devices.helpers import validate_address +from tm_devices.helpers import DMConfigOptions, validate_address os.environ["TM_DEVICES_UNIT_TESTS_RUNNING"] = "true" # Make sure to not use any local config files @@ -21,6 +21,7 @@ PROJECT_ROOT_DIR = Path(__file__).parent.parent SIMULATED_VISA_LIB = str(Path(__file__).parent / "sim_devices/devices.yaml@sim") +UNIT_TEST_TIMEOUT = 50 def mock_gethostbyname(address: str) -> str: @@ -81,23 +82,44 @@ def fixture_device_manager() -> Generator[DeviceManager, None, None]: ), mock.patch( "pyvisa.resources.messagebased.MessageBasedResource.clear", mock.MagicMock(return_value=pyvisa.constants.StatusCode.success), - ), DeviceManager(verbose=True) as dev_manager: + ), DeviceManager( + verbose=True, config_options=DMConfigOptions(default_visa_timeout=UNIT_TEST_TIMEOUT) + ) as dev_manager: dev_manager.visa_library = SIMULATED_VISA_LIB yield dev_manager +@pytest.fixture(name="unit_test_config_file", scope="session") +def fixture_unit_test_config_file( + tmpdir_factory: pytest.TempdirFactory, device_manager: DeviceManager +) -> Path: + """Save the unit test configuration file. + + Args: + tmpdir_factory: The temporary directory path. + device_manager: The device manager fixture. + """ + config_file = tmpdir_factory.mktemp("tests") / "unit_test_config.yaml" + device_manager.write_current_configuration_to_config_file(config_file) + return Path(config_file) + + @pytest.fixture(autouse=True) -def _reset_dm(device_manager: DeviceManager) -> Generator[None, None, None]: # pyright: ignore[reportUnusedFunction] +def _reset_dm( # pyright: ignore[reportUnusedFunction] + device_manager: DeviceManager, unit_test_config_file: Path +) -> Generator[None, None, None]: """Reset the device_manager settings after each test. Args: device_manager: The device manager fixture. + unit_test_config_file: The unit test configuration file. """ saved_setup_enable = device_manager.setup_cleanup_enabled saved_teardown_enable = device_manager.teardown_cleanup_enabled yield device_manager.setup_cleanup_enabled = saved_setup_enable device_manager.teardown_cleanup_enabled = saved_teardown_enable + device_manager.load_config_file(unit_test_config_file) @pytest.fixture(name="mock_http_server", scope="session") diff --git a/tests/requirements.txt b/tests/requirements.txt index 42feba5e..80505792 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,6 +1,6 @@ beautifulsoup4==4.12.3 ; python_version >= "3.8" and python_version < "4.0" blinker==1.8.2 ; python_version >= "3.8" and python_version < "4.0" -certifi==2024.7.4 ; python_version >= "3.8" and python_version < "4.0" +certifi==2024.8.30 ; python_version >= "3.8" and python_version < "4.0" chardet==5.2.0 ; python_version >= "3.8" and python_version < "4.0" charset-normalizer==3.3.2 ; python_version >= "3.8" and python_version < "4.0" click==8.1.7 ; python_version >= "3.8" and python_version < "4.0" @@ -14,8 +14,8 @@ exceptiongroup==1.2.2 ; python_version >= "3.8" and python_version < "3.11" flask==3.0.3 ; python_version >= "3.8" and python_version < "4.0" future-fstrings==1.2.0 ; python_version >= "3.8" and python_version < "4.0" http-server-mock==1.7 ; python_version >= "3.8" and python_version < "4.0" -idna==3.7 ; python_version >= "3.8" and python_version < "4.0" -importlib-metadata==8.2.0 ; python_version >= "3.8" and python_version < "3.10" +idna==3.10 ; python_version >= "3.8" and python_version < "4.0" +importlib-metadata==8.5.0 ; python_version >= "3.8" and python_version < "3.10" iniconfig==2.0.0 ; python_version >= "3.8" and python_version < "4.0" itsdangerous==2.2.0 ; python_version >= "3.8" and python_version < "4.0" jinja2==3.1.4 ; python_version >= "3.8" and python_version < "4.0" @@ -24,29 +24,29 @@ markupsafe==2.1.5 ; python_version >= "3.8" and python_version < "4.0" mbstrdecoder==1.1.3 ; python_version >= "3.8" and python_version < "4.0" networkx==3.1 ; python_version >= "3.8" and python_version < "4.0" packaging==24.1 ; python_version >= "3.8" and python_version < "4.0" -pathvalidate==3.2.0 ; python_version >= "3.8" and python_version < "4.0" +pathvalidate==3.2.1 ; python_version >= "3.8" and python_version < "4.0" pluggy==1.5.0 ; python_version >= "3.8" and python_version < "4.0" pytablewriter==1.2.0 ; python_version >= "3.8" and python_version < "4.0" -pytest==8.3.2 ; python_version >= "3.8" and python_version < "4.0" +pytest==8.3.3 ; python_version >= "3.8" and python_version < "4.0" pytest-cov==5.0.0 ; python_version >= "3.8" and python_version < "4.0" pytest-depends==1.0.1 ; python_version >= "3.8" and python_version < "4.0" -pytest-env==1.1.3 ; python_version >= "3.8" and python_version < "4.0" +pytest-env==1.1.5 ; python_version >= "3.8" and python_version < "4.0" pytest-github-report==0.0.1 ; python_version >= "3.8" and python_version < "4.0" pytest-html==4.1.1 ; python_version >= "3.8" and python_version < "4.0" pytest-metadata==3.1.1 ; python_version >= "3.8" and python_version < "4.0" -pytest-order==1.2.1 ; python_version >= "3.8" and python_version < "4.0" +pytest-order==1.3.0 ; python_version >= "3.8" and python_version < "4.0" python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" -pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" +pytz==2024.2 ; python_version >= "3.8" and python_version < "4.0" requests==2.32.3 ; python_version >= "3.8" and python_version < "4.0" -ruff==0.6.1 ; python_version >= "3.8" and python_version < "4.0" -setuptools==72.2.0 ; python_version >= "3.8" and python_version < "4.0" +ruff==0.6.9 ; python_version >= "3.8" and python_version < "4.0" +setuptools==75.1.0 ; python_version >= "3.8" and python_version < "4.0" six==1.16.0 ; python_version >= "3.8" and python_version < "4.0" soupsieve==2.6 ; python_version >= "3.8" and python_version < "4.0" tabledata==1.3.3 ; python_version >= "3.8" and python_version < "4.0" tcolorpy==0.1.6 ; python_version >= "3.8" and python_version < "4.0" -tomli==2.0.1 ; python_version >= "3.8" and python_version < "4.0" +tomli==2.0.2 ; python_version >= "3.8" and python_full_version <= "3.11.0a6" typepy==1.3.2 ; python_version >= "3.8" and python_version < "4.0" typepy[datetime]==1.3.2 ; python_version >= "3.8" and python_version < "4.0" -urllib3==2.2.2 ; python_version >= "3.8" and python_version < "4.0" -werkzeug==3.0.3 ; python_version >= "3.8" and python_version < "4.0" -zipp==3.20.0 ; python_version >= "3.8" and python_version < "3.10" +urllib3==2.2.3 ; python_version >= "3.8" and python_version < "4.0" +werkzeug==3.0.4 ; python_version >= "3.8" and python_version < "4.0" +zipp==3.20.2 ; python_version >= "3.8" and python_version < "3.10" diff --git a/tests/samples/golden_stubs/drivers/device.pyi b/tests/samples/golden_stubs/drivers/device.pyi index 405e6e0f..88d7213d 100644 --- a/tests/samples/golden_stubs/drivers/device.pyi +++ b/tests/samples/golden_stubs/drivers/device.pyi @@ -6,10 +6,16 @@ from typing import List from tm_devices.helpers import DeviceConfigEntry class Device(ABC, metaclass=abc.ABCMeta): + class NestedClass: + """This is a nested class.""" + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... def already_exists(self) -> None: """Return nothing.""" @property + def existing_property(self) -> int: + """Return an int.""" + @property def inc_cached_count(self) -> int: """Increment a local counter.""" @property diff --git a/tests/samples/golden_stubs/drivers/pi/pi_device.pyi b/tests/samples/golden_stubs/drivers/pi/pi_device.pyi new file mode 100644 index 00000000..c5b6d988 --- /dev/null +++ b/tests/samples/golden_stubs/drivers/pi/pi_device.pyi @@ -0,0 +1,15 @@ +import abc + +from abc import ABC + +from tm_devices.helpers import DeviceConfigEntry + +class PIDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... + def already_exists(self) -> None: + """Return nothing.""" + def added_method(self) -> None: + """Return nothing.""" + +class OtherDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... diff --git a/tests/samples/golden_stubs/drivers/pi/tsp_device.pyi b/tests/samples/golden_stubs/drivers/pi/tsp_device.pyi new file mode 100644 index 00000000..08faec22 --- /dev/null +++ b/tests/samples/golden_stubs/drivers/pi/tsp_device.pyi @@ -0,0 +1,18 @@ +import abc + +from abc import ABC +from dataclasses import dataclass + +from tm_devices.helpers import DeviceConfigEntry + +class TSPDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... + def already_exists(self) -> None: + """Return nothing.""" + def added_tsp_method(self) -> None: + """Return nothing.""" + +@dataclass(frozen=True) +class CustomDataclass: + value1: str + value2: int = 1 diff --git a/tests/samples/sample_devices.toml b/tests/samples/sample_devices.toml index 7b0f9971..7d931743 100644 --- a/tests/samples/sample_devices.toml +++ b/tests/samples/sample_devices.toml @@ -28,6 +28,7 @@ baud_rate = 9600 end_input = "none" [options] +default_visa_timeout = 1000 setup_cleanup = false standalone = true teardown_cleanup = false diff --git a/tests/samples/sample_devices.yaml b/tests/samples/sample_devices.yaml index e466be37..9082a5fd 100644 --- a/tests/samples/sample_devices.yaml +++ b/tests/samples/sample_devices.yaml @@ -21,6 +21,7 @@ devices: baud_rate: 9600 end_input: none options: + default_visa_timeout: 1000 setup_cleanup: false standalone: true teardown_cleanup: false diff --git a/tests/samples/simulated_config.yaml b/tests/samples/simulated_config.yaml index 61813341..c7c85190 100644 --- a/tests/samples/simulated_config.yaml +++ b/tests/samples/simulated_config.yaml @@ -8,3 +8,4 @@ devices: options: setup_cleanup: true teardown_cleanup: true + default_visa_timeout: 1000 diff --git a/tests/sim_devices/daq/daq6510.yaml b/tests/sim_devices/daq/daq6510.yaml index 38a0dca8..10e28ec8 100644 --- a/tests/sim_devices/daq/daq6510.yaml +++ b/tests/sim_devices/daq/daq6510.yaml @@ -7,11 +7,12 @@ devices: r: KEITHLEY INSTRUMENTS,MODEL DAQ6510,04089762,1.6.3 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/devices.yaml b/tests/sim_devices/devices.yaml index f7311880..b922b8d9 100644 --- a/tests/sim_devices/devices.yaml +++ b/tests/sim_devices/devices.yaml @@ -83,6 +83,9 @@ resources: TCPIP::LONGNAMEINSTRUMENT-HOSTNAME::INSTR: device: longNameInstrument filename: scope/longNameInstrument.yaml + USB0::0x0699::0x0527::NO_SERIAL::INSTR: + device: longNameInstrument + filename: scope/longNameInstrument.yaml # --- unsupported device type --- TCPIP::UNSUPPORTED-DEVICE-TYPE::INSTR: @@ -235,10 +238,10 @@ resources: device: mso68b filename: scope/mso6b.yaml - # --- TekScopeSW --- - TCPIP::TEKSCOPESW-HOSTNAME::INSTR: - device: tekscopesw - filename: scope/tekscopesw.yaml + # --- TekScopePC --- + TCPIP::TEKSCOPEPC-HOSTNAME::INSTR: + device: tekscopepc + filename: scope/tekscopepc.yaml # --- TSOvu--- TCPIP::TSOVU-HOSTNAME::INSTR: diff --git a/tests/sim_devices/dmm/dmm6500.yaml b/tests/sim_devices/dmm/dmm6500.yaml index b1e83a04..e9852c7d 100644 --- a/tests/sim_devices/dmm/dmm6500.yaml +++ b/tests/sim_devices/dmm/dmm6500.yaml @@ -7,11 +7,12 @@ devices: r: KEITHLEY INSTRUMENTS,MODEL DMM6500,01418035,1.0.0 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/dmm/dmm7510.yaml b/tests/sim_devices/dmm/dmm7510.yaml index 9e0b1f2f..a3ab4ecd 100644 --- a/tests/sim_devices/dmm/dmm7510.yaml +++ b/tests/sim_devices/dmm/dmm7510.yaml @@ -7,11 +7,12 @@ devices: r: KEITHLEY INSTRUMENTS,MODEL DMM7510,00000170,1.0.0 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/dmm/dmm7512.yaml b/tests/sim_devices/dmm/dmm7512.yaml index a45f19f2..418d0f1b 100644 --- a/tests/sim_devices/dmm/dmm7512.yaml +++ b/tests/sim_devices/dmm/dmm7512.yaml @@ -7,11 +7,12 @@ devices: r: KEITHLEY INSTRUMENTS,MODEL DMM7512,00000171,1.0.0 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/scope/mso2kb.yaml b/tests/sim_devices/scope/mso2kb.yaml index 31ea8551..2d39467a 100644 --- a/tests/sim_devices/scope/mso2kb.yaml +++ b/tests/sim_devices/scope/mso2kb.yaml @@ -46,10 +46,17 @@ devices: verbosity: default: 0 getter: - q: :VERBose? + q: VERBOSE? r: '{:s}' setter: - q: :VERBose {:s} + q: VERBOSE {:s} + header: + default: 0 + getter: + q: HEADER? + r: '{:s}' + setter: + q: HEADER {:s} channel_select: default: :SELECT:BUS1 0;BUS2 0;CH1 1;CH2 0;CH3 0;CH4 0;MATH 0;REF1 0;REF2 0;D0 1;D1 0;D2 0;D3 0;D4 0;D5 0;D6 0;D7 0;D8 0;D9 0;D10 0;D11 0;D12 0;D13 diff --git a/tests/sim_devices/scope/tekscopesw.yaml b/tests/sim_devices/scope/tekscopepc.yaml similarity index 88% rename from tests/sim_devices/scope/tekscopesw.yaml rename to tests/sim_devices/scope/tekscopepc.yaml index 97212ab7..06742bce 100644 --- a/tests/sim_devices/scope/tekscopesw.yaml +++ b/tests/sim_devices/scope/tekscopepc.yaml @@ -1,7 +1,7 @@ --- spec: '1.1' devices: - tekscopesw: + tekscopepc: eom: USB INSTR: q: "\n" @@ -14,10 +14,10 @@ devices: r: "\n" dialogues: - q: '*IDN?' - r: TEKTRONIX,TekscopeSW,hostname,CF:91.1CT FV:1.44.3.1225 + r: TEKTRONIX,TekScopePC,TEKSCOPEPC-HOSTNAME,CF:91.1CT FV:1.44.3.1225 - q: HEADER OFF - q: :ETHERNET:NAME? - r: hostname + r: TEKSCOPEPC-HOSTNAME - q: :FILESystem:LDIR? r: 'E:,F:,G:,H:,I:,J:,K:' - q: :FILESystem:CWD "E:" diff --git a/tests/sim_devices/smu/smu2450.yaml b/tests/sim_devices/smu/smu2450.yaml index 3bbee855..1c8a7503 100644 --- a/tests/sim_devices/smu/smu2450.yaml +++ b/tests/sim_devices/smu/smu2450.yaml @@ -7,11 +7,12 @@ devices: r: Keithley Instruments Inc., Model 2450, 01419964, 3.3.5 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2460.yaml b/tests/sim_devices/smu/smu2460.yaml index 05574cfa..e055d331 100644 --- a/tests/sim_devices/smu/smu2460.yaml +++ b/tests/sim_devices/smu/smu2460.yaml @@ -7,12 +7,13 @@ devices: r: Keithley Instruments Inc., Model 2460, 01419964, 3.3.5 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() - q: smu.source.sweeplinear("SolarCell", 0, 0.53, 56, 0.1) + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2461.yaml b/tests/sim_devices/smu/smu2461.yaml index 4b870651..45582f6c 100644 --- a/tests/sim_devices/smu/smu2461.yaml +++ b/tests/sim_devices/smu/smu2461.yaml @@ -7,11 +7,12 @@ devices: r: Keithley Instruments Inc., Model 2461, 01419964, 3.3.5 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2470.yaml b/tests/sim_devices/smu/smu2470.yaml index 190dc701..e5c0ef55 100644 --- a/tests/sim_devices/smu/smu2470.yaml +++ b/tests/sim_devices/smu/smu2470.yaml @@ -7,11 +7,12 @@ devices: r: Keithley Instruments Inc., Model 2470, 01419964, 3.3.5 - q: waitcomplete() - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: eventlog.clear() - q: status.clear() - q: reset() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2601a.yaml b/tests/sim_devices/smu/smu2601a.yaml index 8cfa094f..918892e9 100644 --- a/tests/sim_devices/smu/smu2601a.yaml +++ b/tests/sim_devices/smu/smu2601a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2601b.yaml b/tests/sim_devices/smu/smu2601b.yaml index 2cc44970..e08146ff 100644 --- a/tests/sim_devices/smu/smu2601b.yaml +++ b/tests/sim_devices/smu/smu2601b.yaml @@ -7,11 +7,8 @@ devices: r: Keithley Instruments Inc., Model 2601B, 4498311, 3.3.5 - q: print(available(gpib)) r: 'true' - - q: loadscript loadfuncs - - q: loadscript tsp_function - - q: print("TEK") - - q: '"""Sample script used in test_smu.py."""' - - q: endscript + - q: loadscript loadfuncs\n"""Sample script used in test_smu.py."""\nprint("TEK")\nendscript + - q: loadscript tsp_function\n"""Sample script used in test_smu.py."""\nprint("TEK")\nendscript - q: loadfuncs.save() - q: loadfuncs() - q: errorqueue.clear() @@ -20,7 +17,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -32,6 +29,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() - q: status.node_enable = 1 - q: print(status.node_enable) r: 1 diff --git a/tests/sim_devices/smu/smu2601b_pulse.yaml b/tests/sim_devices/smu/smu2601b_pulse.yaml index 124a2d51..8cfd52d2 100644 --- a/tests/sim_devices/smu/smu2601b_pulse.yaml +++ b/tests/sim_devices/smu/smu2601b_pulse.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2602a.yaml b/tests/sim_devices/smu/smu2602a.yaml index b204c514..46bbdf5c 100644 --- a/tests/sim_devices/smu/smu2602a.yaml +++ b/tests/sim_devices/smu/smu2602a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2602b.yaml b/tests/sim_devices/smu/smu2602b.yaml index bf6a5b13..6a85a12d 100644 --- a/tests/sim_devices/smu/smu2602b.yaml +++ b/tests/sim_devices/smu/smu2602b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2604a.yaml b/tests/sim_devices/smu/smu2604a.yaml index dc15222c..7bda280a 100644 --- a/tests/sim_devices/smu/smu2604a.yaml +++ b/tests/sim_devices/smu/smu2604a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2604b.yaml b/tests/sim_devices/smu/smu2604b.yaml index ac91d766..df0a1a25 100644 --- a/tests/sim_devices/smu/smu2604b.yaml +++ b/tests/sim_devices/smu/smu2604b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2606b.yaml b/tests/sim_devices/smu/smu2606b.yaml index ce796b15..b7958699 100644 --- a/tests/sim_devices/smu/smu2606b.yaml +++ b/tests/sim_devices/smu/smu2606b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2611a.yaml b/tests/sim_devices/smu/smu2611a.yaml index ca34b1da..f30cb484 100644 --- a/tests/sim_devices/smu/smu2611a.yaml +++ b/tests/sim_devices/smu/smu2611a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2611b.yaml b/tests/sim_devices/smu/smu2611b.yaml index b3c8bf4f..f7e01632 100644 --- a/tests/sim_devices/smu/smu2611b.yaml +++ b/tests/sim_devices/smu/smu2611b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2612a.yaml b/tests/sim_devices/smu/smu2612a.yaml index d1c055b5..4a0c4fc1 100644 --- a/tests/sim_devices/smu/smu2612a.yaml +++ b/tests/sim_devices/smu/smu2612a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2612b.yaml b/tests/sim_devices/smu/smu2612b.yaml index 3ee13fa5..3355842c 100644 --- a/tests/sim_devices/smu/smu2612b.yaml +++ b/tests/sim_devices/smu/smu2612b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2614a.yaml b/tests/sim_devices/smu/smu2614a.yaml index f3ee64b2..08500e87 100644 --- a/tests/sim_devices/smu/smu2614a.yaml +++ b/tests/sim_devices/smu/smu2614a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2614b.yaml b/tests/sim_devices/smu/smu2614b.yaml index 9a15e4d3..a6eda98f 100644 --- a/tests/sim_devices/smu/smu2614b.yaml +++ b/tests/sim_devices/smu/smu2614b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2634a.yaml b/tests/sim_devices/smu/smu2634a.yaml index abfef220..73113d76 100644 --- a/tests/sim_devices/smu/smu2634a.yaml +++ b/tests/sim_devices/smu/smu2634a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2634b.yaml b/tests/sim_devices/smu/smu2634b.yaml index d80af8f9..b35e8f9c 100644 --- a/tests/sim_devices/smu/smu2634b.yaml +++ b/tests/sim_devices/smu/smu2634b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2635a.yaml b/tests/sim_devices/smu/smu2635a.yaml index 6375e4ec..81b687a1 100644 --- a/tests/sim_devices/smu/smu2635a.yaml +++ b/tests/sim_devices/smu/smu2635a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2635b.yaml b/tests/sim_devices/smu/smu2635b.yaml index 62910dac..271b6e3e 100644 --- a/tests/sim_devices/smu/smu2635b.yaml +++ b/tests/sim_devices/smu/smu2635b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2636a.yaml b/tests/sim_devices/smu/smu2636a.yaml index 6bf53b4a..4b7954d6 100644 --- a/tests/sim_devices/smu/smu2636a.yaml +++ b/tests/sim_devices/smu/smu2636a.yaml @@ -11,7 +11,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -22,6 +22,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2636b.yaml b/tests/sim_devices/smu/smu2636b.yaml index 9e119fbc..6fef3be0 100644 --- a/tests/sim_devices/smu/smu2636b.yaml +++ b/tests/sim_devices/smu/smu2636b.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2651a.yaml b/tests/sim_devices/smu/smu2651a.yaml index 332177f4..f99a2492 100644 --- a/tests/sim_devices/smu/smu2651a.yaml +++ b/tests/sim_devices/smu/smu2651a.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu2657a.yaml b/tests/sim_devices/smu/smu2657a.yaml index ad832a31..32550b72 100644 --- a/tests/sim_devices/smu/smu2657a.yaml +++ b/tests/sim_devices/smu/smu2657a.yaml @@ -20,7 +20,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -31,6 +31,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/sim_devices/smu/smu6430.yaml b/tests/sim_devices/smu/smu6430.yaml index 3fb3be73..b4a109cb 100644 --- a/tests/sim_devices/smu/smu6430.yaml +++ b/tests/sim_devices/smu/smu6430.yaml @@ -19,6 +19,7 @@ devices: r: '1' - q: '*RST' - q: '*CLS' + - q: collectgarbage() error: status_register: - q: '*ESR?' diff --git a/tests/sim_devices/smu/smu6514.yaml b/tests/sim_devices/smu/smu6514.yaml index a5f2d89a..7ab91a7e 100644 --- a/tests/sim_devices/smu/smu6514.yaml +++ b/tests/sim_devices/smu/smu6514.yaml @@ -19,6 +19,7 @@ devices: r: '1' - q: '*RST' - q: '*CLS' + - q: collectgarbage() error: status_register: - q: '*ESR?' diff --git a/tests/sim_devices/smu/smu6517b.yaml b/tests/sim_devices/smu/smu6517b.yaml index af63e9d6..b2084dba 100644 --- a/tests/sim_devices/smu/smu6517b.yaml +++ b/tests/sim_devices/smu/smu6517b.yaml @@ -19,6 +19,7 @@ devices: r: '1' - q: '*RST' - q: '*CLS' + - q: collectgarbage() error: status_register: - q: '*ESR?' diff --git a/tests/sim_devices/ss/ss3706a.yaml b/tests/sim_devices/ss/ss3706a.yaml index 09d918fc..561f23a8 100644 --- a/tests/sim_devices/ss/ss3706a.yaml +++ b/tests/sim_devices/ss/ss3706a.yaml @@ -21,7 +21,7 @@ devices: - q: print(status.standard.enable) r: 1 - q: opc() - - q: print([[1]]) + - q: waitcomplete() print([[1]]) r: 1 - q: reset() - q: status.request_enable = 1 @@ -32,6 +32,7 @@ devices: - q: print([[0]]) r: 0 - q: waitcomplete() + - q: collectgarbage() error: status_register: - q: print(status.standard.event) diff --git a/tests/test_afgs.py b/tests/test_afgs.py index 04592ab0..ceb2e937 100644 --- a/tests/test_afgs.py +++ b/tests/test_afgs.py @@ -8,6 +8,7 @@ from packaging.version import Version +from conftest import UNIT_TEST_TIMEOUT from tm_devices import DeviceManager from tm_devices.drivers.pi.signal_generators.afgs.afg import ( AFGSourceDeviceConstants, @@ -15,7 +16,6 @@ ParameterBounds, SignalGeneratorFunctionsAFG, ) -from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT def test_afg3k(device_manager: DeviceManager) -> None: # noqa: PLR0915 # pylint: disable=too-many-locals diff --git a/tests/test_all_device_drivers.py b/tests/test_all_device_drivers.py index 345c8a96..91d00743 100644 --- a/tests/test_all_device_drivers.py +++ b/tests/test_all_device_drivers.py @@ -48,7 +48,7 @@ def test_all_device_drivers( ("SCOPE", "DPO70KDX-HOSTNAME", None, None, None), ("SCOPE", "DPO70KSX-HOSTNAME", None, None, None), ("SCOPE", "TSOVU-HOSTNAME", None, None, None), - ("SCOPE", "TEKSCOPESW-HOSTNAME", None, None, None), + ("SCOPE", "TEKSCOPEPC-HOSTNAME", None, None, None), ("SCOPE", "MSO2K-HOSTNAME", None, None, None), ("SCOPE", "MSO2KB-HOSTNAME", None, None, None), ("SCOPE", "DPO2K-HOSTNAME", None, None, None), diff --git a/tests/test_config_parser.py b/tests/test_config_parser.py index a8597ab0..82a643b8 100644 --- a/tests/test_config_parser.py +++ b/tests/test_config_parser.py @@ -32,7 +32,7 @@ def test_nested_config_prefix_mapping() -> None: def test_environment_variable_config(capsys: pytest.CaptureFixture[str]) -> None: """Test the environment variable config method.""" - options = ["STANDALONE"] + options = ["STANDALONE", "DEFAULT_VISA_TIMEOUT=10000"] expected_device_string = ( "address=MSO54-123456,connection_type=TCPIP,device_type=SCOPE,lan_device_name=hislip0" ) @@ -54,12 +54,16 @@ def test_environment_variable_config(capsys: pytest.CaptureFixture[str]) -> None assert str(expected_device) == expected_device_string assert not config.options.teardown_cleanup assert config.options.standalone + assert config.options.default_visa_timeout == 10000 assert ( config.devices == expected_entry ), f"\nDevice dictionaries don't match:\n{expected_entry}\n{config.devices}" # test that the config string representation looks like env declaration - expected_entry_string = f"TM_OPTIONS=STANDALONE\nTM_DEVICES=~~~{expected_device_string}~~~" + expected_entry_string = ( + f"TM_OPTIONS=DEFAULT_VISA_TIMEOUT=10000,STANDALONE\n" + f"TM_DEVICES=~~~{expected_device_string}~~~" + ) print(config) assert capsys.readouterr().out.strip() == expected_entry_string @@ -96,7 +100,10 @@ def test_environment_variable_config(capsys: pytest.CaptureFixture[str]) -> None assert ( config.devices == expected_entry ), f"\nDevice dictionaries don't match:\n{expected_entry}\n{config.devices}" - expected_entry_string = f"TM_OPTIONS=STANDALONE\nTM_DEVICES=~~~{expected_device_string}~~~" + expected_entry_string = ( + f"TM_OPTIONS=DEFAULT_VISA_TIMEOUT=10000,STANDALONE\n" + f"TM_DEVICES=~~~{expected_device_string}~~~" + ) print(config) assert capsys.readouterr().out.strip() == expected_entry_string @@ -141,6 +148,7 @@ def test_file_config_default_path() -> None: standalone: false verbose_mode: false verbose_visa: false + default_visa_timeout: 10000 """ expected_options = DMConfigOptions( standalone=False, @@ -148,6 +156,7 @@ def test_file_config_default_path() -> None: teardown_cleanup=True, verbose_mode=False, verbose_visa=False, + default_visa_timeout=10000, ) expected_devices = { "SCOPE 1": DeviceConfigEntry( @@ -204,6 +213,7 @@ def test_file_config_non_default_path( teardown_cleanup=False, verbose_mode=False, verbose_visa=False, + default_visa_timeout=1000, ) expected_devices = { "SCOPE 1": DeviceConfigEntry( diff --git a/tests/test_device_manager.py b/tests/test_device_manager.py index 4a99d6ef..b3084720 100644 --- a/tests/test_device_manager.py +++ b/tests/test_device_manager.py @@ -11,7 +11,7 @@ import pyvisa as visa import pyvisa.constants -from conftest import SIMULATED_VISA_LIB +from conftest import SIMULATED_VISA_LIB, UNIT_TEST_TIMEOUT from tm_devices import DeviceManager from tm_devices.helpers import ConnectionTypes, DeviceTypes, PYVISA_PY_BACKEND, SerialConfig @@ -73,7 +73,7 @@ def test_get_config_methods_with_devices(self, device_manager: DeviceManager) -> text = temp_config.read() assert ( text - == """[[devices]] + == f"""[[devices]] address = "1" alias = "TESTING" connection_type = "SERIAL" @@ -93,6 +93,7 @@ def test_get_config_methods_with_devices(self, device_manager: DeviceManager) -> device_type = "SCOPE" [options] +default_visa_timeout = {UNIT_TEST_TIMEOUT} setup_cleanup = false standalone = false teardown_cleanup = false @@ -105,7 +106,7 @@ def test_get_config_methods_with_devices(self, device_manager: DeviceManager) -> print(text) assert ( text - == """--- + == f"""--- devices: - address: '1' alias: TESTING @@ -122,6 +123,7 @@ def test_get_config_methods_with_devices(self, device_manager: DeviceManager) -> connection_type: TCPIP device_type: SCOPE options: + default_visa_timeout: {UNIT_TEST_TIMEOUT} setup_cleanup: false standalone: false teardown_cleanup: false @@ -135,7 +137,7 @@ def test_get_config_methods_with_devices(self, device_manager: DeviceManager) -> assert ( device_manager.get_current_configuration_as_environment_variable_strings() - == "TM_OPTIONS=VERBOSE_MODE\n" + == f"TM_OPTIONS=DEFAULT_VISA_TIMEOUT={UNIT_TEST_TIMEOUT},VERBOSE_MODE\n" "TM_DEVICES=~~~address=1,alias=TESTING,connection_type=SERIAL,device_type=SMU," "serial_baud_rate=115200,serial_data_bits=8,serial_end_input=none," "serial_flow_control=xon_xoff,serial_parity=none,serial_stop_bits=one" @@ -166,6 +168,8 @@ def test_dm_properties(self, device_manager: DeviceManager) -> None: assert device_manager.verbose != saved_verbose device_manager.visa_library = PYVISA_PY_BACKEND assert device_manager.visa_library == PYVISA_PY_BACKEND + device_manager.default_visa_timeout = 1500 + assert device_manager.default_visa_timeout == 1500 finally: # Reset properties device_manager.teardown_cleanup_enabled = saved_teardown @@ -400,13 +404,22 @@ def test_loading_isolated_config_file( saved_teardown_enable = device_manager.teardown_cleanup_enabled device_manager.add_scope("MSO56-HOSTNAME") assert len(device_manager.devices) == 1 + assert device_manager.default_visa_timeout == UNIT_TEST_TIMEOUT + assert list(device_manager.devices.values())[-1].default_visa_timeout == UNIT_TEST_TIMEOUT # pyright: ignore[reportUnknownMemberType,reportAttributeAccessIssue] _ = capsys.readouterr() # clear the output + expected_new_default_timeout = 1000 device_manager.load_config_file(Path(__file__).parent / "samples/simulated_config.yaml") assert len(device_manager.devices) == 3 stdout = capsys.readouterr().out assert "Beginning Device Cleanup on AFG " in stdout assert "Finished Device Cleanup on AFG " in stdout + assert device_manager.default_visa_timeout == expected_new_default_timeout + assert next(iter(device_manager.devices.values())).default_visa_timeout == UNIT_TEST_TIMEOUT # pyright: ignore[reportUnknownMemberType,reportAttributeAccessIssue] + assert ( + list(device_manager.devices.values())[-1].default_visa_timeout # pyright: ignore[reportUnknownMemberType,reportAttributeAccessIssue] + == expected_new_default_timeout + ) # Test with an option set in the file device_manager.remove_all_devices() @@ -418,6 +431,7 @@ def test_loading_isolated_config_file( stdout = capsys.readouterr().out assert "Beginning Device Cleanup on AFG " not in stdout assert "Finished Device Cleanup on AFG " not in stdout + assert device_manager.default_visa_timeout == expected_new_default_timeout # Test adding no devices device_manager.remove_all_devices() @@ -428,6 +442,7 @@ def test_loading_isolated_config_file( assert not device_manager.devices stdout = capsys.readouterr().out assert "Opening Connections to Devices" not in stdout + assert device_manager.default_visa_timeout == expected_new_default_timeout # Reset things device_manager.remove_all_devices() diff --git a/tests/test_docs.py b/tests/test_docs.py index 32ea3e0c..66e2a133 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py @@ -40,7 +40,7 @@ def fixture_docs_server(site_dir: str) -> Generator[str, None, None]: def fixture_site_dir(pytestconfig: pytest.Config) -> str: """Create the site directory path for testing.""" site_path = ( - Path(__file__).parent / f".site_{sys.version_info.major}{sys.version_info.minor}/" + Path(__file__).parent.parent / f".site_{sys.version_info.major}{sys.version_info.minor}/" ).resolve() if xml_path := pytestconfig.getoption("xmlpath"): site_path = (Path(xml_path).parent / ".site_html/").resolve() # pyright: ignore[reportArgumentType] diff --git a/tests/test_extension_mixin.py b/tests/test_extension_mixin.py index bb65da66..759042d4 100644 --- a/tests/test_extension_mixin.py +++ b/tests/test_extension_mixin.py @@ -19,9 +19,66 @@ from tm_devices import DeviceManager from tm_devices.drivers import AFG3K, AFG3KC from tm_devices.drivers.device import Device +from tm_devices.drivers.pi.pi_device import PIDevice from tm_devices.drivers.pi.scopes.scope import Scope from tm_devices.drivers.pi.signal_generators.afgs.afg import AFG from tm_devices.drivers.pi.signal_generators.signal_generator import SignalGenerator +from tm_devices.drivers.pi.tsp_device import TSPDevice + +INITIAL_DEVICE_INPUT = '''import abc +from abc import ABC + +from tm_devices.helpers import DeviceConfigEntry + +class Device(ABC, metaclass=abc.ABCMeta): + class NestedClass: + """This is a nested class.""" + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... + def already_exists(self) -> None: + """Return nothing.""" + @property + def existing_property(self) -> int: + """Return an int.""" + +def function_1(arg1: str, arg2: int = 1) -> bool: ... + +class OtherDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... + +def function_2(arg1: str, arg2: int = 2) -> bool: ... +''' +INITIAL_PI_DEVICE_INPUT = '''import abc + +from abc import ABC + +from tm_devices.helpers import DeviceConfigEntry + +class PIDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... + def already_exists(self) -> None: + """Return nothing.""" + +class OtherDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... +''' +INITIAL_TSP_DEVICE_INPUT = '''import abc + +from abc import ABC +from dataclasses import dataclass +from tm_devices.helpers import DeviceConfigEntry + +class TSPDevice(ABC, metaclass=abc.ABCMeta): + def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... + def already_exists(self) -> None: + """Return nothing.""" + +@dataclass(frozen=True) +class CustomDataclass: + + value1: str + value2: int = 1 + +''' @pytest.fixture(scope="module", autouse=True) @@ -42,6 +99,8 @@ def _remove_added_methods() -> Iterator[None]: (AFG, "custom_model_getter_afg"), (AFG3K, "custom_model_getter_afg3k"), (AFG3KC, "custom_model_getter_afg3kc"), + (PIDevice, "added_method"), + (TSPDevice, "added_tsp_method"), ): with contextlib.suppress(AttributeError): delattr(obj, name) @@ -77,34 +136,23 @@ def gen_count() -> Iterator[int]: local_count = gen_count() - initial_input = '''import abc -from abc import ABC - -from tm_devices.helpers import DeviceConfigEntry - -class Device(ABC, metaclass=abc.ABCMeta): - def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... - def already_exists(self) -> None: - """Return nothing.""" - -def function_1(arg1: str, arg2: int = 1) -> bool: ... - -class OtherDevice(ABC, metaclass=abc.ABCMeta): - def __init__(self, config_entry: DeviceConfigEntry, verbose: bool) -> None: ... - -def function_2(arg1: str, arg2: int = 2) -> bool: ... -''' - sub_filepath = Path("drivers/device.pyi") + golden_stub_dir = Path(__file__).parent / "samples" / "golden_stubs" + stub_device_filepath = Path("drivers/device.pyi") + stub_pi_device_filepath = Path("drivers/pi/pi_device.pyi") + stub_tsp_device_filepath = Path("drivers/pi/tsp_device.pyi") generated_stub_dir = ( Path(__file__).parent / "samples/generated_stubs" / f"output_{sys.version_info.major}{sys.version_info.minor}/tm_devices" ) - generated_stub_file = generated_stub_dir / sub_filepath - golden_stub_dir = Path(__file__).parent / "samples" / "golden_stubs" - generated_stub_file.parent.mkdir(parents=True, exist_ok=True) - with open(generated_stub_file, "w", encoding="utf-8") as generated_file: - generated_file.write(initial_input) + generated_device_stub_file = generated_stub_dir / stub_device_filepath + generated_device_stub_file.parent.mkdir(parents=True, exist_ok=True) + generated_pi_device_stub_file = generated_stub_dir / stub_pi_device_filepath + generated_tsp_device_stub_file = generated_stub_dir / stub_tsp_device_filepath + generated_pi_device_stub_file.parent.mkdir(parents=True, exist_ok=True) + generated_device_stub_file.write_text(INITIAL_DEVICE_INPUT, encoding="utf-8") + generated_pi_device_stub_file.write_text(INITIAL_PI_DEVICE_INPUT, encoding="utf-8") + generated_tsp_device_stub_file.write_text(INITIAL_TSP_DEVICE_INPUT, encoding="utf-8") with mock.patch.dict("os.environ", {"TM_DEVICES_STUB_DIR": str(generated_stub_dir)}): # noinspection PyUnusedLocal,PyShadowingNames @Device.add_property(is_cached=True) @@ -153,6 +201,14 @@ def custom_return_none() -> None: def already_exists() -> None: """Return nothing.""" + @PIDevice.add_method + def added_method() -> None: + """Return nothing.""" + + @TSPDevice.add_method + def added_tsp_method() -> None: + """Return nothing.""" + with pytest.raises(AssertionError): @Scope.add_method @@ -187,7 +243,7 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: ############################################################################################ start_dir = os.getcwd() try: - os.chdir(generated_stub_file.parent) + os.chdir(generated_stub_dir) subprocess.check_call( # noqa: S603 [ sys.executable, @@ -195,7 +251,7 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: "ruff", "format", "--quiet", - generated_stub_file.name, + generated_stub_dir, ] ) subprocess.check_call( # noqa: S603 @@ -207,16 +263,26 @@ def custom_model_getter_afg3kc(device: AFG3KC, value: str) -> str: "--quiet", "--select=I", "--fix", - generated_stub_file.name, + generated_stub_dir, ] ) finally: os.chdir(start_dir) - with open(golden_stub_dir / sub_filepath, encoding="utf-8") as golden_file: - golden_contents = golden_file.read() - with open(generated_stub_file, encoding="utf-8") as generated_file: - generated_contents = generated_file.read() - assert generated_contents == golden_contents + + # Compare the file contents + golden_device_contents = (golden_stub_dir / stub_device_filepath).read_text(encoding="utf-8") + generated_device_contents = generated_device_stub_file.read_text(encoding="utf-8") + assert generated_device_contents == golden_device_contents + golden_pi_device_contents = (golden_stub_dir / stub_pi_device_filepath).read_text( + encoding="utf-8" + ) + generated_pi_device_contents = generated_pi_device_stub_file.read_text(encoding="utf-8") + assert generated_pi_device_contents == golden_pi_device_contents + golden_tsp_device_contents = (golden_stub_dir / stub_tsp_device_filepath).read_text( + encoding="utf-8" + ) + generated_tsp_device_contents = generated_tsp_device_stub_file.read_text(encoding="utf-8") + assert generated_tsp_device_contents == golden_tsp_device_contents # Test the custom added properties afg = device_manager.add_afg("afg3252c-hostname", alias="testing") diff --git a/tests/test_generate_waveform.py b/tests/test_generate_waveform.py index 9cf832eb..0bf5fabc 100644 --- a/tests/test_generate_waveform.py +++ b/tests/test_generate_waveform.py @@ -145,8 +145,8 @@ def test_awg7k_gen_waveform(device_manager: DeviceManager) -> None: awg7k06 = cast(AWG7K, device_manager.add_awg("awg7102opt06-hostname", alias="awg7k06")) error_match = ( - "The offset can only be set on AWG7102 without an 02 or 06 option and with an output " - "signal path of DCA \(AWGCONTROL:DOUTPUT1:STATE set to 0\)." # noqa: W605 # pylint: disable=anomalous-backslash-in-string # pyright: ignore [reportInvalidStringEscapeSequence] + r"The offset can only be set on AWG7102 without an 02 or 06 option and with an output " + r"signal path of DCA \(AWGCONTROL:DOUTPUT1:STATE set to 0\)." ) with pytest.raises(ValueError, match=error_match): awg7k06.source_channel["SOURCE1"].set_offset(0.2) @@ -176,8 +176,8 @@ def test_awg7k_gen_waveform(device_manager: DeviceManager) -> None: # AWG7k with option 1 should not be able to set offset with DIR output signal path. error_match = ( - "The offset can only be set on AWG7051 without an 02 or 06 option and with an output " - "signal path of DCA \(AWGCONTROL:DOUTPUT1:STATE set to 0\)." # noqa: W605 # pylint: disable=anomalous-backslash-in-string # pyright: ignore [reportInvalidStringEscapeSequence] + r"The offset can only be set on AWG7051 without an 02 or 06 option and with an output " + r"signal path of DCA \(AWGCONTROL:DOUTPUT1:STATE set to 0\)." ) with pytest.raises(ValueError, match=error_match): awg7k01.generate_function( @@ -251,8 +251,8 @@ def test_awg5k_gen_waveform(device_manager: DeviceManager) -> None: # Cannot set offset with DIR output signal path. offset_error = ( - "The offset can only be set on AWG5012 with an output signal path of DCA " - "\(AWGCONTROL:DOUTPUT1:STATE set to 0\)." # noqa: W605 # pylint: disable=anomalous-backslash-in-string # pyright: ignore [reportInvalidStringEscapeSequence] + r"The offset can only be set on AWG5012 with an output signal path of DCA " + r"\(AWGCONTROL:DOUTPUT1:STATE set to 0\)." ) with pytest.raises(ValueError, match=offset_error): awg5k.generate_function( diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 7da6819e..e7b8f252 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -70,7 +70,8 @@ def test_create_ping_command() -> None: @pytest.mark.parametrize( ("input_string", "expected_abbrev_model"), [ - ("TEKSCOPESW", "TekScopeSW"), + ("TEKSCOPESW", "TekScopePC"), + ("TEKSCOPEPC", "TekScopePC"), ("MSO54-123456", "MSO5"), ("MSO58B", "MSO5B"), ("MSO58LP", "MSO5LP"), @@ -423,6 +424,7 @@ def test_get_visa_backend() -> None: ("USB::0x05E6::0x2450::01419964::INSTR", ("USB", "2450-01419964")), ("USB::0x05E6::0x2450::01419964::inst0::INSTR", ("USB", "2450-01419964")), ("USB::0x05E6::0x2450::01419964::inst::INSTR", ("USB", "2450-01419964")), + ("USB0::0x0699::0x035e::01419964::INSTR", ("USB", "AFG31K-01419964")), ("TCPIP0::SMU2450-HOSTNAME::INSTR", ("TCPIP", "SMU2450-HOSTNAME")), ("TCPIP::SMU2450-HOSTNAME::INSTR", ("TCPIP", "SMU2450-HOSTNAME")), ("TCPIP0::SMU2450-HOSTNAME::inst0::INSTR", ("TCPIP", "SMU2450-HOSTNAME")), diff --git a/tests/test_scopes.py b/tests/test_scopes.py index 8be98649..dec294d3 100644 --- a/tests/test_scopes.py +++ b/tests/test_scopes.py @@ -14,8 +14,8 @@ from packaging.version import Version -from tm_devices import DeviceManager -from tm_devices.drivers import MSO2, MSO2KB, MSO5, MSO5B, MSO6, MSO70KDX, TekScopeSW +from tm_devices import DeviceManager, register_additional_usbtmc_mapping +from tm_devices.drivers import MSO2, MSO2KB, MSO5, MSO5B, MSO6, MSO70KDX, TekScopePC from tm_devices.drivers.pi.scopes.tekscope.tekscope import ( ExtendedSourceDeviceConstants, ParameterBounds, @@ -23,6 +23,7 @@ TekScope, TekScopeChannel, ) +from tm_devices.helpers.constants_and_dataclasses import TEKTRONIX_USBTMC_VENDOR_ID from tm_devices.helpers.enums import SignalGeneratorFunctionsIAFG @@ -421,6 +422,9 @@ def test_long_device_name(device_manager: DeviceManager) -> None: Args: device_manager: The DeviceManager object. """ + register_additional_usbtmc_mapping( + "LONGNAMEINSTRUMENT", model_id="0x0527", vendor_id=TEKTRONIX_USBTMC_VENDOR_ID + ) # Custom class for testing external device drivers try: device_manager._external_device_drivers = { # noqa: SLF001 @@ -428,7 +432,7 @@ def test_long_device_name(device_manager: DeviceManager) -> None: } with pytest.warns(UserWarning): - scope = device_manager.add_scope("LONGNAMEINSTRUMENT-HOSTNAME") + scope = device_manager.add_scope("LONGNAMEINSTRUMENT-NO_SERIAL", connection_type="USB") assert not scope.total_channels assert scope.all_channel_names_list == () @@ -468,21 +472,20 @@ def test_tekscope3k_4k(device_manager: DeviceManager, capsys: pytest.CaptureFixt assert scope2.total_channels == 2 -def test_tekscopesw(device_manager: DeviceManager) -> None: - """Test the TekScopeSW implementation. +def test_tekscopepc(device_manager: DeviceManager) -> None: + """Test the TekScopePC implementation. Args: device_manager: The DeviceManager object. """ - scope: TekScopeSW = device_manager.add_scope("TEKSCOPESW-HOSTNAME") - # Assert TekScopeSW device was added and aliased properly - assert scope.hostname == "hostname" + scope: TekScopePC = device_manager.add_scope("TEKSCOPEPC-HOSTNAME") + # Assert TekScopePC device was added and aliased properly + assert scope.hostname == "TEKSCOPEPC-HOSTNAME" assert id(device_manager.get_scope(number_or_alias=scope.device_number)) == id(scope) - assert scope.all_channel_names_list == () + assert scope.all_channel_names_list == ("CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8") assert scope.usb_drives == ("E:",) assert scope.ip_address == "" - assert not scope.total_channels - assert scope.all_channel_names_list == () + assert scope.total_channels == 8 def test_tekscope2k(device_manager: DeviceManager, tmp_path: pathlib.Path) -> None: @@ -521,6 +524,7 @@ def test_tekscope2k(device_manager: DeviceManager, tmp_path: pathlib.Path) -> No with pytest.raises(AssertionError): scope.curve_query(5, wfm_type="FreqDomain") - assert scope.curve_query(5, wfm_type="TimeDomain") == [] + with pytest.warns(UserWarning, match="source not available for curve query: CH5"): + assert scope.curve_query(5, wfm_type="TimeDomain") == [] assert scope.curve_query(0, wfm_type="Digital") == [1, 0, 1, 0, 1] diff --git a/tests/test_smu.py b/tests/test_smu.py index 175600a9..4cbb6319 100644 --- a/tests/test_smu.py +++ b/tests/test_smu.py @@ -14,8 +14,8 @@ from packaging.version import Version +from conftest import UNIT_TEST_TIMEOUT from tm_devices import DeviceManager -from tm_devices.helpers.constants_and_dataclasses import UNIT_TEST_TIMEOUT if TYPE_CHECKING: from tm_devices.drivers import SMU2460, SMU2601B @@ -51,6 +51,7 @@ def test_smu( # noqa: PLR0915 assert "Query" in stdout smu.load_script( + "loadfuncs", file_path=f"{Path(os.path.realpath(__file__)).parent}/samples/tsp_script.tsp", run_script=True, to_nv_memory=True, @@ -73,6 +74,20 @@ def test_smu( # noqa: PLR0915 assert "tsp_function.save()" not in stdout assert "tsp_function()" not in stdout smu.expect_esr(0) + smu.load_script( + script_name="loadfuncs", + script_body=(Path(os.path.realpath(__file__)).parent / "samples" / "tsp_script.tsp") + .read_text() + .strip(), + run_script=True, + ) + stdout = capsys.readouterr().out + assert "loadscript loadfuncs" in stdout + assert "if loadfuncs ~= nil then script.delete('loadfuncs') end" in stdout + assert "endscript" in stdout + assert "loadfuncs.save()" not in stdout + assert "loadfuncs()" in stdout + smu.expect_esr(0) with mock.patch("pyvisa.highlevel.VisaLibraryBase.clear", mock.MagicMock(return_value=None)): assert smu.query_expect_timeout("INVALID?", timeout_ms=1) == "" @@ -216,8 +231,16 @@ def test_smu( # noqa: PLR0915 assert str(value) in stdout filepath = f"./temp_test_{sys.version_info.major}{sys.version_info.minor}.csv" - try: + + # TODO: remove this deprecation check in v3 + with mock.patch( + "tm_devices.drivers.pi.tsp_device.TSPDevice.export_buffers", mock.MagicMock() + ) as mock_obj, pytest.warns(DeprecationWarning, match=r"Use export_buffers\(\.\.\.\) instead"): smu.write_buffers(filepath, "smua.nvbuffer1") + assert mock_obj.called + + try: + smu.export_buffers(filepath, "smua.nvbuffer1") assert os.path.exists(filepath) # noqa: PTH110 with open(filepath, encoding="utf-8") as file: lines = file.readlines() diff --git a/tests/test_tm_devices.py b/tests/test_tm_devices.py index e056347c..a7cd5b53 100644 --- a/tests/test_tm_devices.py +++ b/tests/test_tm_devices.py @@ -155,7 +155,9 @@ def test_device_method_abstraction() -> None: def test_supported_models_in_device_driver_mapping() -> None: """Verify that all supported models are in the device driver mapping and drivers init file.""" supported_models_list = sorted(x.value for x in tm_devices.SupportedModels) - device_driver_list = sorted(tm_devices.drivers.DEVICE_DRIVER_MODEL_MAPPING) + device_driver_list = sorted( + tm_devices.drivers.device_driver_mapping._DEVICE_DRIVER_MODEL_STR_MAPPING # noqa: SLF001 + ) module_list: List[str] = list(tm_devices.drivers.__all__) # Remove a few non-driver items module_list.remove("DEVICE_DRIVER_MODEL_MAPPING") @@ -173,3 +175,24 @@ def test_tm_devices() -> None: Version(tm_devices.__version__) except InvalidVersion as exc: pytest.fail(f"{tm_devices.__version__} is not a valid version:\n{exc}") + + +def test_deprecated_tekscopesw() -> None: + """Verify the TekScopeSW deprecation warning is working.""" + with pytest.warns( + DeprecationWarning, + match="TekScopeSW is deprecated and will be removed in a future version, " + "please use TekScopePC instead.", + ): + # pylint: disable=import-outside-toplevel + # noinspection PyProtectedMember + from tm_devices.drivers import TekScopeSW # pylint: disable=no-name-in-module + assert TekScopeSW is tm_devices.drivers.TekScopePC + + # Check normal drivers + # pylint: disable=import-outside-toplevel + # noinspection PyPep8Naming + from tm_devices.drivers import MSO6 as TempMSO6 # noqa: N811 + from tm_devices.drivers.pi.scopes.tekscope.mso6 import MSO6 + + assert TempMSO6 is MSO6 diff --git a/tests/test_unsupported_device_type.py b/tests/test_unsupported_device_type.py index be93c337..e22a350d 100644 --- a/tests/test_unsupported_device_type.py +++ b/tests/test_unsupported_device_type.py @@ -49,6 +49,8 @@ def test_unsupported_device_type_class(device_manager: DeviceManager) -> None: "Not all functionality will be available in the device driver. " "Please consider contributing to tm_devices to implement official support for " "this device type.", + ), pytest.warns( + UserWarning, match='The "UNSUPPORTED" model is not supported by tm_devices' ): unsupported_device: CustomUnsupportedDeviceUnitTestOnly = ( device_manager.add_unsupported_device( @@ -72,6 +74,8 @@ def test_unsupported_device_type_class(device_manager: DeviceManager) -> None: "Not all functionality will be available in the device driver. " "Please consider contributing to tm_devices to implement official support for " "this device type.", + ), pytest.warns( + UserWarning, match='The "UNSUPPORTED" model is not supported by tm_devices' ): device_manager.load_config_file( Path(__file__).parent / "samples/unsupported_device_type_config.yaml"