Skip to content
This repository was archived by the owner on Feb 2, 2026. It is now read-only.
This repository was archived by the owner on Feb 2, 2026. It is now read-only.

Agilent 3000A scopes only support 2000A standard waveforms #10

@matthewrankin

Description

@matthewrankin

The standard waveforms for an Agilent 3000A scope can only be set to the available waveforms for a 2000A scope. I've determined this as follows:

>>> import ivi
>>> mso = ivi.agilent.agilentMSOX3024A("USB0::2391::6054::MY12345678::INSTR")
>>> mso.outputs[0].enabled = 'True'
>>> mso.outputs[0].standard_waveform.waveform = 'sine'      # No error
>>> mso.outputs[0].standard_waveform.waveform = 'square'    # No error
>>> mso.outputs[0].standard_waveform.waveform = 'ramp_up'   # No error
>>> mso.outputs[0].standard_waveform.waveform = 'pulse'     # No error
>>> mso.outputs[0].standard_waveform.waveform = 'noise'     # No error
>>> mso.outputs[0].standard_waveform.waveform = 'dc'        # No error
>>> mso.outputs[0].standard_waveform.waveform = 'gaussian'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "ivi/ivi.py", line 174, in __setattr__
    f(value)
  File "ivi/agilent/agilent2000A.py", line 270, in _set_output_standard_waveform_waveform
    raise ivi.ValueNotSupportedException()
ivi.ivi.ValueNotSupportedException

After searching the source code, I realized that StandardWaveformMapping dictionary in ivi/agilent/agilent3000A.py isn't actually being used. When the agilent3000A class calls its super, the agilent2000A class uses the StandardWaveformMapping dictionary located in that file—ivi/agilent/agilent2000A.py—which only includes the above waveforms that didn't have an error.

@alexforencich Thanks for all of your work on this project! You've done a great job.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions