[[profile]]
id = "ci_dmm_dialect_wins"
kind = "Dmm"
manufacturer_glob = "TestDialect*"
model_glob = "*"
channels = 1
[profile.commands]
measure_voltage_dc = ":MEAS:VOLT:DC:TEST?"
configure_voltage_dc = ":CONF:VOLT:DC {range}"
read = ":FETC{channel}?"
[[profile]]
id = "ci_psu_dialect_wins"
kind = "DcPowerSupply"
manufacturer_glob = "TestDialect*"
model_glob = "*"
channels = 1
[profile.commands]
set_voltage = ":VOLT {volts},(@{channel})"
[[profile]]
id = "generic_dmm"
kind = "Dmm"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
measure_voltage_dc = ":MEAS:VOLT:DC?"
measure_voltage_ac = ":MEAS:VOLT:AC?"
measure_current_dc = ":MEAS:CURR:DC?"
measure_current_ac = ":MEAS:CURR:AC?"
measure_resistance_2w = ":MEAS:RES?"
measure_resistance_4w = ":MEAS:FRES?"
measure_temperature = ":MEAS:TEMP?"
configure_voltage_dc = ":CONF:VOLT:DC"
initiate = "INIT"
fetch = "FETC?"
read = "READ?"
software_trigger = "*TRG"
[[profile]]
id = "generic_dcpwr"
kind = "DcPowerSupply"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
set_voltage = ":SOUR{channel}:VOLT {volts}"
set_current_limit = ":SOUR{channel}:CURR {amps}"
output_enable = ":OUTP{channel} {state}"
output_state_query = ":OUTP{channel}?"
read_voltage = ":MEAS:VOLT? {channel}"
read_current = ":MEAS:CURR? {channel}"
ovp_level = ":SOUR{channel}:VOLT:PROT {volts}"
ovp_enable = ":SOUR{channel}:VOLT:PROT:STAT {state}"
ovp_query = ":SOUR{channel}:VOLT:PROT:STAT?"
sense_enable = ":OUTP{channel}:SENS {state}"
[[profile]]
id = "generic_fgen"
kind = "FunctionGenerator"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
set_waveform = ":SOUR:FUNC {scpi_name}"
set_frequency = ":SOUR:FREQ {hz}"
set_amplitude = ":SOUR:VOLT {vpp}"
set_offset = ":SOUR:VOLT:OFFS {volts}"
set_duty_cycle = ":SOUR:FUNC:SQU:DCYC {percent}"
set_load = ":OUTP:LOAD {ohms}"
output_enable = ":OUTP {state}"
burst_count = ":SOUR:BURS:NCYC {count}"
burst_state = ":SOUR:BURS:STAT {state}"
burst_trigger = ":TRIG:SOUR {source}"
[[profile]]
id = "generic_scope"
kind = "Oscilloscope"
manufacturer_glob = "*"
model_glob = "*"
channels = 4
[profile.commands]
set_timebase_scale = ":TIMebase:SCALe {seconds_per_div}"
set_channel_scale = ":CHANnel{channel}:SCALe {volts_per_div}"
channel_display = ":CHANnel{channel}:DISP {state}"
channel_coupling = ":CHANnel{channel}:COUP {coupling}"
trigger_source = ":TRIGger:EDGE:SOURce {source}"
trigger_level = ":TRIGger:EDGE:LEVel {volts}"
trigger_slope = ":TRIGger:EDGE:SLOPe {slope}"
single = ":SINGle"
run = ":RUN"
stop = ":STOP"
measure_vpp = ":MEASure:VPP? CHAN{channel}"
measure_frequency = ":MEASure:FREQuency? CHAN{channel}"
waveform_source = ":WAVeform:SOURce CHAN{channel}"
waveform_format_ascii = ":WAVeform:FORMat ASCii"
waveform_preamble = ":WAVeform:PREamble?"
waveform_data = ":WAVeform:DATA?"
[[profile]]
id = "generic_switch"
kind = "Switch"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
close_route = ":ROUTe:CLOS (@({ch1},{ch2}))"
open_route = ":ROUTe:OPEN (@({ch1},{ch2}))"
is_closed = ":ROUTe:CLOS? (@({ch1},{ch2}))"
open_all = ":ROUTe:OPEN:ALL"
[[profile]]
id = "generic_counter"
kind = "Counter"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
measure_frequency = ":MEASure:FREQuency?"
measure_period = ":MEASure:PERiod?"
reset_totalize = ":COUNter:CRESet"
read_totalize = ":COUNter:DATA?"
gate_time = ":SENSe:FREQuency:APERture {seconds}"
channel_select = ":SENSe:FUNCtion:ON \"FREQ {channel}\""
[[profile]]
id = "keysight_sensor"
kind = "PowerMeter"
manufacturer_glob = "Keysight*"
model_glob = "*U20*"
channels = 1
[profile.commands]
unit = ":UNIT:POW {unit}"
auto_range = ":SENS:POW:RANG:AUTO {state}"
auto_average = ":SENS:AVER:COUN:AUTO {state}"
correction_frequency = ":SENS:FREQ {hz}"
offset = ":SENS:CORR:GAIN2 {db}"
initiate = "INIT"
fetch = "FETC?"
read = "READ?"
configure = ":CONF"
[[profile]]
id = "generic_pwrmeter"
kind = "PowerMeter"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
unit = ":UNIT:POW {unit}"
auto_range = ":SENS:POW:RANG:AUTO {state}"
auto_average = ":SENS:AVER:COUN:AUTO {state}"
correction_frequency = ":SENS:FREQ {hz}"
offset = ":SENS:CORR:GAIN2 {db}"
initiate = "INIT"
fetch = "FETC?"
read = "READ?"
configure = ":CONF"
[[profile]]
id = "keysight_xseries"
kind = "SpectrumAnalyzer"
manufacturer_glob = "Keysight*"
model_glob = "N90*"
channels = 1
[profile.commands]
center_frequency = ":FREQ:CENT {hz}"
span = ":FREQ:SPAN {hz}"
rbw = ":BAND {hz}"
vbw = ":BAND:VID {hz}"
ref_level = ":DISP:WIND:TRAC:Y:RLEV {dbm}"
trace_data = ":TRAC:DATA? TRACE1"
marker_peak = ":CALC:MARK:MAX"
marker_x = ":CALC:MARK:X?"
marker_y = ":CALC:MARK:Y?"
sweep_continuous = ":INIT:CONT {state}"
single_sweep = ":INIT:IMM"
wait_opc = "*OPC?"
[[profile]]
id = "rigol_dsa"
kind = "SpectrumAnalyzer"
manufacturer_glob = "Rigol*"
model_glob = "DSA*"
channels = 1
[profile.commands]
center_frequency = ":FREQ:CENT {hz}"
span = ":FREQ:SPAN {hz}"
rbw = ":BAND {hz}"
vbw = ":BAND:VID {hz}"
ref_level = ":DISP:WIND:TRAC:Y:RLEV {dbm}"
trace_data = ":TRAC? TRACE1"
marker_peak = ":CALC:MARK:MAX"
marker_x = ":CALC:MARK:X?"
marker_y = ":CALC:MARK:Y?"
sweep_continuous = ":INIT:CONT {state}"
single_sweep = ":INIT"
wait_opc = "*OPC?"
[[profile]]
id = "generic_specan"
kind = "SpectrumAnalyzer"
manufacturer_glob = "*"
model_glob = "*"
channels = 1
[profile.commands]
center_frequency = ":FREQ:CENT {hz}"
span = ":FREQ:SPAN {hz}"
rbw = ":BAND {hz}"
vbw = ":BAND:VID {hz}"
ref_level = ":DISP:WIND:TRAC:Y:RLEV {dbm}"
trace_data = ":TRAC:DATA? TRACE1"
marker_peak = ":CALC:MARK:MAX"
marker_x = ":CALC:MARK:X?"
marker_y = ":CALC:MARK:Y?"
sweep_continuous = ":INIT:CONT {state}"
single_sweep = ":INIT:IMM"
wait_opc = "*OPC?"