Skip to content

Adding Additional RF Instrument Support #212

@JAnderson419

Description

@JAnderson419

I have some code I wrote for our group's test equipment that is fairly crude in its implementation (little input checking, relies on user to know specs of instrument, no general classes - see https://github.com/hybridMEMS/PyMeasRF). The code includes instrument classes to implement basic SCPI commands through pyvisa, as well as a couple different functions to execute measurements our group makes that integrate several instruments (DC biasing of RF devices for s-parameter measurements, quick and dirty pseudo-parameter analyzer testing of semiconductor devices by tying together discrete SMUs, etc). Rather than continuing to add to it on my own (implementing general instrument classes and more robust error handling/unit tests), I would like to try to integrate with IK to have python instrument control more centralized.

I may be able to port over after reviewing your dev guide some more, however, it seems that there are not yet generic instrument classes for some of the equipment (SMU, spectrum analyzer, network analyzer). I suppose a generic SMU may be able to inherit multimeter and power_supply? Additionally, I am not sure of the best place for the "experiments" section of my code. I see some templates for basic measurements on individual instrument pages in the docs, but I don't see examples of integration of instruments into measurement setups. I know these may not be as widely useful as specific instrument examples, but I am happy to include them in case they are of use to others.

  • Create Generic Classes
  • Implement instrument settings as properties
  • Port over methods, using the properties scheme as an intermediary between the user-friendly method and SCPI calls.
  • Update docstrings from numpy style to PEP.
  • Create unit tests

On an unrelated note, I have access to various equipment at work and home that I may be able to test generic instruments against if that is of any use.

-Jackson

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