summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
inline | side by side (from parent 1:
08f3b42)
The current implementation of the SCPI DMM driver is conservative about
checking the device's being operational, but the *OPC? queries are found
in unfortunate locations. Run the OPC query right before running the
next "actual" command, not afterwards. And certainly not between sending
requests and potentially gathering responses in subsequent calls.
This commit does not change current behaviour, but improves maintenance
before pending commits.
size_t i;
gchar *channel_name;
size_t i;
gchar *channel_name;
- ret = sr_scpi_get_hw_id(scpi, &hw_info);
scpi_dmm_cmd_delay(scpi);
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;
if (ret != SR_OK) {
sr_info("Could not get IDN response.");
return NULL;
command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_START_ACQ);
if (command && *command) {
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);
scpi_dmm_cmd_delay(scpi);
+ ret = sr_scpi_send(scpi, command);
if (ret != SR_OK)
return ret;
}
if (ret != SR_OK)
return ret;
}
command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_STOP_ACQ);
if (command && *command) {
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);
scpi_dmm_cmd_delay(scpi);
+ (void)sr_scpi_send(scpi, command);
}
sr_scpi_source_remove(sdi->session, scpi);
}
sr_scpi_source_remove(sdi->session, scpi);
if (mqitem)
*mqitem = NULL;
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);
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)
if (ret != SR_OK)
return ret;
if (!response || !*response)
mode = item->scpi_func_setup;
command = sr_scpi_cmd_get(devc->cmdset, DMM_CMD_SETUP_FUNC);
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);
scpi_dmm_cmd_delay(sdi->conn);
+ ret = sr_scpi_send(sdi->conn, command, mode);
+ if (ret != SR_OK)
+ return ret;
}
SR_PRIV int scpi_dmm_get_meas_agilent(const struct sr_dev_inst *sdi, size_t ch)
}
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;
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);
scpi_dmm_cmd_delay(scpi);
+ ret = sr_scpi_get_string(scpi, command, &response);
if (ret != SR_OK)
return ret;
g_strstrip(response);
if (ret != SR_OK)
return ret;
g_strstrip(response);