ret = sr_scpi_send(sdi->conn, command, mode);
if (ret != SR_OK)
return ret;
+ if (item->drv_flags & FLAG_CONF_DELAY)
+ g_usleep(devc->model->conf_delay_us);
return SR_OK;
}
return NULL;
if (!mqitem || !mqitem->scpi_func_setup)
return NULL;
+ if (mqitem->drv_flags & FLAG_NO_RANGE)
+ return NULL;
scpi_dmm_cmd_delay(sdi->conn);
ret = sr_scpi_cmd(sdi, devc->cmdset, 0, NULL,
return ret;
if (!item || !item->scpi_func_setup)
return SR_ERR_ARG;
+ if (item->drv_flags & FLAG_NO_RANGE)
+ return SR_ERR_NA;
is_auto = g_ascii_strcasecmp(range, "auto") == 0;
scpi_dmm_cmd_delay(sdi->conn);
- ret = sr_scpi_cmd(sdi, devc->cmdset, 0, NULL,
- is_auto ? DMM_CMD_SETUP_RANGE_AUTO : DMM_CMD_SETUP_RANGE,
- item->scpi_func_setup, is_auto ? "" : range);
+ ret = sr_scpi_cmd(sdi, devc->cmdset, 0, NULL, DMM_CMD_SETUP_RANGE,
+ item->scpi_func_setup, is_auto ? "AUTO" : range);
if (ret != SR_OK)
return ret;
+ if (item->drv_flags & FLAG_CONF_DELAY)
+ g_usleep(devc->model->conf_delay_us);
return SR_OK;
}
if (ret != SR_OK)
return ret;
g_strstrip(response);
- use_double = devc->model->digits > 6;
+ use_double = devc->model->digits >= 6;
ret = sr_atod_ascii(response, &info->d_value);
if (ret != SR_OK) {
g_free(response);