+ case SR_CONF_OUTPUT_VOLTAGE:
+ dblval = g_variant_get_double(data);
+ if ((dblval < 0.0) || (dblval > 35.0)) {
+ sr_err("Voltage out of range (0 - 35.0)!");
+ return SR_ERR_ARG;
+ }
+ ret = send_msg1(sdi, 'V', (int) (dblval * 10 + 0.5));
+ break;
+ case SR_CONF_OUTPUT_CURRENT:
+ dblval = g_variant_get_double(data);
+ if ((dblval < 0.01) || (dblval > 2.55)) {
+ sr_err("Current out of range (0 - 2.55)!");
+ return SR_ERR_ARG;
+ }
+ ret = send_msg1(sdi, 'C', (int) (dblval * 100 + 0.5));
+ break;
+ /* No SR_CONF_OUTPUT_ENABLED :-( . */
+ case SR_CONF_OVER_CURRENT_PROTECTION:
+ if (g_variant_get_boolean(data))
+ ret = send_msg1(sdi, 'V', 900);
+ else /* Constant current mode */
+ ret = send_msg1(sdi, 'V', 901);
+ break;