static const struct mqopt_item mqopts_agilent_34405a[] = {
{ SR_MQ_VOLTAGE, SR_MQFLAG_DC, "VOLT:DC", "VOLT ", NO_DFLT_PREC, FLAGS_NONE, },
- { SR_MQ_VOLTAGE, SR_MQFLAG_AC, "VOLT:AC", "VOLT:AC ", NO_DFLT_PREC, FLAG_CONF_DELAY, },
+ { SR_MQ_VOLTAGE, SR_MQFLAG_AC, "VOLT:AC", "VOLT:AC ", NO_DFLT_PREC, FLAG_CONF_DELAY | FLAG_MEAS_DELAY, },
{ SR_MQ_CURRENT, SR_MQFLAG_DC, "CURR:DC", "CURR ", NO_DFLT_PREC, FLAGS_NONE, },
- { SR_MQ_CURRENT, SR_MQFLAG_AC, "CURR:AC", "CURR:AC ", NO_DFLT_PREC, FLAG_CONF_DELAY, },
- { SR_MQ_RESISTANCE, 0, "RES", "RES ", NO_DFLT_PREC, FLAGS_NONE, },
- { SR_MQ_RESISTANCE, SR_MQFLAG_FOUR_WIRE, "FRES", "FRES ", NO_DFLT_PREC, FLAGS_NONE, },
+ { SR_MQ_CURRENT, SR_MQFLAG_AC, "CURR:AC", "CURR:AC ", NO_DFLT_PREC, FLAG_CONF_DELAY | FLAG_MEAS_DELAY, },
+ { SR_MQ_RESISTANCE, 0, "RES", "RES ", NO_DFLT_PREC, FLAG_MEAS_DELAY, },
+ { SR_MQ_RESISTANCE, SR_MQFLAG_FOUR_WIRE, "FRES", "FRES ", NO_DFLT_PREC, FLAG_MEAS_DELAY, },
{ SR_MQ_CONTINUITY, 0, "CONT", "CONT", -1, FLAG_NO_RANGE, },
{ SR_MQ_CAPACITANCE, 0, "CAP", "CAP ", NO_DFLT_PREC, FLAGS_NONE, },
{ SR_MQ_VOLTAGE, SR_MQFLAG_DC | SR_MQFLAG_DIODE, "DIOD", "DIOD", -4, FLAG_NO_RANGE, },
- { SR_MQ_TEMPERATURE, 0, "TEMP", "TEMP ", NO_DFLT_PREC, FLAG_NO_RANGE, },
- { SR_MQ_FREQUENCY, 0, "FREQ", "FREQ ", NO_DFLT_PREC, FLAG_NO_RANGE, },
+ { SR_MQ_TEMPERATURE, 0, "TEMP", "TEMP ", NO_DFLT_PREC, FLAG_NO_RANGE | FLAG_MEAS_DELAY, },
+ { SR_MQ_FREQUENCY, 0, "FREQ", "FREQ ", NO_DFLT_PREC, FLAG_NO_RANGE | FLAG_MEAS_DELAY, },
};
static const struct mqopt_item mqopts_agilent_34401a[] = {
1, 5, cmdset_agilent, ARRAY_AND_SIZE(mqopts_agilent_34405a),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic_range),
- 0, 200 * 1000, 0, FALSE,
+ 0, 200 * 1000, 2500 * 1000, 0, FALSE,
scpi_dmm_get_range_text, scpi_dmm_set_range_from_text, NULL,
},
{
1, 6, cmdset_hp, ARRAY_AND_SIZE(mqopts_agilent_34405a),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic),
- 0, 0, 0, FALSE,
+ 0, 0, 0, 0, FALSE,
NULL, NULL, NULL,
},
{
1, 6, cmdset_gwinstek, ARRAY_AND_SIZE(mqopts_gwinstek_gdm8200a),
scpi_dmm_get_meas_gwinstek,
ARRAY_AND_SIZE(devopts_generic),
- 2500 * 1000, 0, 0, FALSE,
+ 2500 * 1000, 0, 0, 0, FALSE,
NULL, NULL, NULL,
},
{
1, 6, cmdset_gwinstek, ARRAY_AND_SIZE(mqopts_gwinstek_gdm8200a),
scpi_dmm_get_meas_gwinstek,
ARRAY_AND_SIZE(devopts_generic),
- 2500 * 1000, 0, 0, FALSE,
+ 2500 * 1000, 0, 0, 0, FALSE,
NULL, NULL, NULL,
},
{
1, 6, cmdset_gwinstek_906x, ARRAY_AND_SIZE(mqopts_gwinstek_gdm906x),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic),
- 0, 0, 0, FALSE,
+ 0, 0, 0, 0, FALSE,
NULL, NULL, NULL,
},
{
1, 6, cmdset_gwinstek_906x, ARRAY_AND_SIZE(mqopts_gwinstek_gdm906x),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic),
- 0, 0, 0, FALSE,
+ 0, 0, 0, 0, FALSE,
NULL, NULL, NULL,
},
{
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic),
/* 34401A: typ. 1020ms for AC readings (default is 1000ms). */
- 1500 * 1000, 0, 0, FALSE,
+ 1500 * 1000, 0, 0, 0, FALSE,
NULL, NULL, NULL,
},
{
1, 6, cmdset_agilent, ARRAY_AND_SIZE(mqopts_agilent_34405a),
scpi_dmm_get_meas_agilent,
ARRAY_AND_SIZE(devopts_generic_range),
- 0, 0, 0, FALSE,
+ 0, 0, 0, 0, FALSE,
scpi_dmm_get_range_text, scpi_dmm_set_range_from_text, NULL,
},
{
1, 5, cmdset_owon, ARRAY_AND_SIZE(mqopts_owon_xdm2041),
scpi_dmm_get_meas_gwinstek,
ARRAY_AND_SIZE(devopts_generic),
- 0, 0, 1e9, TRUE,
+ 0, 0, 0, 1e9, TRUE,
NULL, NULL, NULL,
},
};
const struct mqopt_item *item;
const char *command;
char *response;
+ gboolean do_mq_meas_delay;
scpi = sdi->conn;
devc = sdi->priv;
return ret;
}
+ do_mq_meas_delay = item->drv_flags & FLAG_MEAS_DELAY;
+ if (do_mq_meas_delay && devc->model->meas_delay_us)
+ g_usleep(devc->model->meas_delay_us);
+
sr_sw_limits_acquisition_start(&devc->limits);
ret = std_session_send_df_header(sdi);
if (ret != SR_OK)