diff --git a/src/hardware/scpi-dmm/api.c b/src/hardware/scpi-dmm/api.c index 0bb5bcba..fcaa1e69 100644 --- a/src/hardware/scpi-dmm/api.c +++ b/src/hardware/scpi-dmm/api.c @@ -101,8 +101,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; @@ -289,8 +289,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) 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; } @@ -319,8 +319,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); diff --git a/src/hardware/scpi-dmm/protocol.c b/src/hardware/scpi-dmm/protocol.c index 954e6c98..717c30da 100644 --- a/src/hardware/scpi-dmm/protocol.c +++ b/src/hardware/scpi-dmm/protocol.c @@ -90,12 +90,12 @@ SR_PRIV int scpi_dmm_get_mq(const struct sr_dev_inst *sdi, if (mqitem) *mqitem = NULL; + scpi_dmm_cmd_delay(sdi->conn); command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_QUERY_FUNC); if (!command || !*command) return SR_ERR_NA; response = NULL; ret = sr_scpi_get_string(sdi->conn, command, &response); - scpi_dmm_cmd_delay(sdi->conn); if (ret != SR_OK) return ret; if (!response || !*response) @@ -140,10 +140,12 @@ SR_PRIV int scpi_dmm_set_mq(const struct sr_dev_inst *sdi, mode = item->scpi_func_setup; command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_SETUP_FUNC); - ret = sr_scpi_send(sdi->conn, command, mode); scpi_dmm_cmd_delay(sdi->conn); + ret = sr_scpi_send(sdi->conn, command, mode); + if (ret != SR_OK) + return ret; - return ret; + return SR_OK; } SR_PRIV int scpi_dmm_get_meas_agilent(const struct sr_dev_inst *sdi, size_t ch) @@ -267,8 +269,8 @@ SR_PRIV int scpi_dmm_get_meas_agilent(const struct sr_dev_inst *sdi, size_t ch) command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_QUERY_VALUE); if (!command || !*command) return SR_ERR_NA; - ret = sr_scpi_get_string(scpi, command, &response); scpi_dmm_cmd_delay(scpi); + ret = sr_scpi_get_string(scpi, command, &response); if (ret != SR_OK) return ret; g_strstrip(response);