break;
case SR_CONF_ENABLED:
bval = g_variant_get_boolean(data);
- if (bval == devc->output_enabled) /* Nothing to do. */
- break;
- if ((hcs_send_cmd(sdi->conn, "SOUT%1d\r", !bval) < 0) ||
- (hcs_read_reply(sdi->conn, 1, devc->buf, sizeof(devc->buf)) < 0))
+
+ if (hcs_send_cmd(sdi->conn, "SOUT%1d\r", !bval) < 0) {
+ sr_err("Could not send SR_CONF_ENABLED command.");
+ return SR_ERR;
+ }
+ if (hcs_read_reply(sdi->conn, 1, devc->buf, sizeof(devc->buf)) < 0) {
+ sr_err("Could not read SR_CONF_ENABLED reply.");
return SR_ERR;
+ }
devc->output_enabled = bval;
break;
default:
case SR_CONF_DEVICE_OPTIONS:
return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
case SR_CONF_VOLTAGE_TARGET:
+ if (!devc || !devc->model)
+ return SR_ERR_ARG;
a = devc->model->voltage;
*data = std_gvar_min_max_step(a[0], devc->voltage_max_device, a[2]);
break;
case SR_CONF_CURRENT_LIMIT:
+ if (!devc || !devc->model)
+ return SR_ERR_ARG;
a = devc->model->current;
*data = std_gvar_min_max_step(a[0], devc->current_max_device, a[2]);
break;