X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fscpi-dmm%2Fapi.c;h=7bb134c645cdd92f8f3b7bc94dd74f37ee30a498;hb=f6129c8f0c92e45de5d70b4101bf2bd759a5fdf7;hp=009cb2ecb22140ce2bc73c48a6bb5750bde7cc28;hpb=64d03de1c2a0b9b1a088f49ac5ebe530987a7103;p=libsigrok.git diff --git a/src/hardware/scpi-dmm/api.c b/src/hardware/scpi-dmm/api.c index 009cb2ec..7bb134c6 100644 --- a/src/hardware/scpi-dmm/api.c +++ b/src/hardware/scpi-dmm/api.c @@ -69,6 +69,12 @@ SR_PRIV const struct scpi_dmm_model models[] = { scpi_dmm_get_meas_agilent, ARRAY_AND_SIZE(devopts_generic), }, + { + "Keysight", "34465A", + 1, 5, cmdset_agilent, ARRAY_AND_SIZE(mqopts_agilent_34405a), + scpi_dmm_get_meas_agilent, + ARRAY_AND_SIZE(devopts_generic), + }, }; static const struct scpi_dmm_model *is_compatible(const char *vendor, const char *model) @@ -101,8 +107,8 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi) size_t i; gchar *channel_name; - ret = sr_scpi_get_hw_id(scpi, &hw_info); scpi_dmm_cmd_delay(scpi); + ret = sr_scpi_get_hw_id(scpi, &hw_info); if (ret != SR_OK) { sr_info("Could not get IDN response."); return NULL; @@ -191,7 +197,7 @@ static int config_get(uint32_t key, GVariant **data, case SR_CONF_LIMIT_MSEC: return sr_sw_limits_config_get(&devc->limits, key, data); case SR_CONF_MEASURED_QUANTITY: - ret = scpi_dmm_get_mq(sdi, &mq, &mqflag, NULL); + ret = scpi_dmm_get_mq(sdi, &mq, &mqflag, NULL, NULL); if (ret != SR_OK) return ret; arr[0] = g_variant_new_uint32(mq); @@ -276,20 +282,21 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) struct sr_scpi_dev_inst *scpi; struct dev_context *devc; int ret; + const struct mqopt_item *item; const char *command; scpi = sdi->conn; devc = sdi->priv; ret = scpi_dmm_get_mq(sdi, &devc->start_acq_mq.curr_mq, - &devc->start_acq_mq.curr_mqflag, NULL); + &devc->start_acq_mq.curr_mqflag, NULL, &item); if (ret != SR_OK) return ret; command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_START_ACQ); if (command && *command) { - ret = sr_scpi_send(scpi, command); scpi_dmm_cmd_delay(scpi); + ret = sr_scpi_send(scpi, command); if (ret != SR_OK) return ret; } @@ -318,8 +325,8 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_STOP_ACQ); if (command && *command) { - (void)sr_scpi_send(scpi, command); scpi_dmm_cmd_delay(scpi); + (void)sr_scpi_send(scpi, command); } sr_scpi_source_remove(sdi->session, scpi);