scpi-dmm: Add support for GW-Instek 906X series bench multimeters.

- Add support for GDM-9060 and GDM-9061 DMMs.
This commit is contained in:
Timo Kokkonen 2020-08-15 15:40:23 -07:00 committed by Gerhard Sittig
parent d0b602f00f
commit 868fc65ec3
1 changed files with 40 additions and 0 deletions

View File

@ -91,6 +91,17 @@ static const struct scpi_command cmdset_gwinstek[] = {
ALL_ZERO,
};
static const struct scpi_command cmdset_gwinstek_906x[] = {
{ DMM_CMD_SETUP_REMOTE, "SYST:REM", },
{ DMM_CMD_SETUP_FUNC, "CONF:%s", },
{ DMM_CMD_QUERY_FUNC, "CONF?", },
{ DMM_CMD_START_ACQ, "*CLS;SYST:REM", },
{ DMM_CMD_STOP_ACQ, "SYST:LOC", },
{ DMM_CMD_QUERY_VALUE, "VAL1?", },
{ DMM_CMD_QUERY_PREC, "SENS:DET:RATE?", },
ALL_ZERO,
};
static const struct mqopt_item mqopts_agilent_34405a[] = {
{ SR_MQ_VOLTAGE, SR_MQFLAG_DC, "VOLT:DC", "VOLT ", NO_DFLT_PREC, },
{ SR_MQ_VOLTAGE, SR_MQFLAG_AC, "VOLT:AC", "VOLT:AC ", NO_DFLT_PREC, },
@ -134,6 +145,21 @@ static const struct mqopt_item mqopts_gwinstek_gdm8200a[] = {
{ SR_MQ_TIME, 0, "PER", "14", NO_DFLT_PREC, },
};
static const struct mqopt_item mqopts_gwinstek_gdm906x[] = {
{ SR_MQ_VOLTAGE, SR_MQFLAG_DC, "VOLT:DC", "VOLT ", NO_DFLT_PREC, },
{ SR_MQ_VOLTAGE, SR_MQFLAG_AC, "VOLT:AC", "VOLT:AC", NO_DFLT_PREC, },
{ SR_MQ_CURRENT, SR_MQFLAG_DC, "CURR:DC", "CURR ", NO_DFLT_PREC, },
{ SR_MQ_CURRENT, SR_MQFLAG_AC, "CURR:AC", "CURR:AC", NO_DFLT_PREC, },
{ SR_MQ_RESISTANCE, 0, "RES", "RES", NO_DFLT_PREC, },
{ SR_MQ_RESISTANCE, SR_MQFLAG_FOUR_WIRE, "FRES", "FRES", NO_DFLT_PREC, },
{ SR_MQ_CONTINUITY, 0, "CONT", "CONT", -1, },
{ SR_MQ_VOLTAGE, SR_MQFLAG_DC | SR_MQFLAG_DIODE, "DIOD", "DIOD", -4, },
{ SR_MQ_TEMPERATURE, 0, "TEMP", "TEMP", NO_DFLT_PREC, },
{ SR_MQ_FREQUENCY, 0, "FREQ", "FREQ", NO_DFLT_PREC, },
{ SR_MQ_TIME, 0, "PER", "PER", NO_DFLT_PREC, },
{ SR_MQ_CAPACITANCE, 0, "CAP", "CAP", NO_DFLT_PREC, },
};
SR_PRIV const struct scpi_dmm_model models[] = {
{
"Agilent", "34405A",
@ -178,6 +204,20 @@ SR_PRIV const struct scpi_dmm_model models[] = {
ARRAY_AND_SIZE(devopts_generic),
1000 * 2500,
},
{
"GWInstek", "GDM9060",
1, 6, cmdset_gwinstek_906x, ARRAY_AND_SIZE(mqopts_gwinstek_gdm906x),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic),
0,
},
{
"GWInstek", "GDM9061",
1, 6, cmdset_gwinstek_906x, ARRAY_AND_SIZE(mqopts_gwinstek_gdm906x),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic),
0,
},
};
static const struct scpi_dmm_model *is_compatible(const char *vendor, const char *model)