scpi-dmm: Add support for Owon XDM2041

This commit is contained in:
Petteri Aimonen 2021-02-28 15:34:40 +02:00 committed by Gerhard Sittig
parent ddeaa49d43
commit 2111d1574b
2 changed files with 32 additions and 0 deletions

View File

@ -104,6 +104,15 @@ static const struct scpi_command cmdset_gwinstek_906x[] = {
ALL_ZERO,
};
static const struct scpi_command cmdset_owon[] = {
{ DMM_CMD_SETUP_REMOTE, "SYST:REM", },
{ DMM_CMD_SETUP_LOCAL, "SYST:LOC", },
{ DMM_CMD_SETUP_FUNC, "CONF:%s", },
{ DMM_CMD_QUERY_FUNC, "FUNC?", },
{ DMM_CMD_QUERY_VALUE, "MEAS1?", },
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, },
@ -162,6 +171,20 @@ static const struct mqopt_item mqopts_gwinstek_gdm906x[] = {
{ SR_MQ_CAPACITANCE, 0, "CAP", "CAP", NO_DFLT_PREC, },
};
static const struct mqopt_item mqopts_owon_xdm2041[] = {
{ SR_MQ_VOLTAGE, SR_MQFLAG_AC, "VOLT:AC", "VOLT AC", NO_DFLT_PREC, },
{ SR_MQ_VOLTAGE, SR_MQFLAG_DC, "VOLT:DC", "VOLT", NO_DFLT_PREC, },
{ SR_MQ_CURRENT, SR_MQFLAG_AC, "CURR:AC", "CURR AC", NO_DFLT_PREC, },
{ SR_MQ_CURRENT, SR_MQFLAG_DC, "CURR:DC", "CURR", 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_CAPACITANCE, 0, "CAP", "CAP", NO_DFLT_PREC, },
};
SR_PRIV const struct scpi_dmm_model models[] = {
{
"Agilent", "34405A",
@ -220,6 +243,13 @@ SR_PRIV const struct scpi_dmm_model models[] = {
ARRAY_AND_SIZE(devopts_generic),
0, 0,
},
{
"OWON", "XDM2041",
1, 5, cmdset_owon, ARRAY_AND_SIZE(mqopts_owon_xdm2041),
scpi_dmm_get_meas_gwinstek,
ARRAY_AND_SIZE(devopts_generic),
0, 1e9,
},
};
static const struct scpi_dmm_model *is_compatible(const char *vendor, const char *model)

View File

@ -116,6 +116,8 @@ SR_PRIV int scpi_dmm_get_mq(const struct sr_dev_inst *sdi,
if (mqitem)
*mqitem = item;
ret = SR_OK;
} else {
sr_warn("Unknown measurement quantity: %s", have);
}
if (rsp) {