The Keysight and Agilent instrument lines typically implement commands that can have various forms. For example, all of these are the same command:
# Definition:
[:SOURce[c]]:FUNCtion[:SHAPe] shape
shape: PULSe|DC
# Accepted:
:SOURCE1:FUNCTION:SHAPE DC
:SOURCE1:FUNC:SHAP PULS
:SOURCE:FUNC:SHAPE PULSE
:FUNCTION dc
:func:shape pulse
... and many more.
Is there support for multiple getters and setters for a property? A naive implementation would allow just repeating the property name:
properties:
source_function_shape:
getter:
q: ":SOURCE:FUNCTION:SHAPE?"
r: {}
setter:
q: ":SOURCE:FUCTION:SHAPE {}"
valid: ["DC", "PULS", "PULSE"]
source_function_shape: # same property name so that ":SOUR:FUNC:SHAP?" returns the same as ":SOURCE:FUNCTION:SHAPE?"
getter:
q: ":SOUR:FUNC:SHAP?"
r: {}
setter:
q: ":SOUR:FUCN:SHAP {}"
valid: ["DC", "PULS", "PULSE"]
But this ends up being very verbose.
Can regex be used for getter and setter commands?
properties:
source_function_shape:
getter:
q: ':(SOUR(CE)?\d?)?:FUNC(TION)?:SHAPE?\?'
r: {}
setter:
q: ':(SOUR(CE)?\d?)?:FUNC(TION)?:SHAP(E)? \{\}'
valid: ["DC", "PULS", "PULSE"]
The Keysight and Agilent instrument lines typically implement commands that can have various forms. For example, all of these are the same command:
Is there support for multiple getters and setters for a property? A naive implementation would allow just repeating the property name:
But this ends up being very verbose.
Can regex be used for getter and setter commands?