SR_CONF_CURRENT_LIMIT | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_ENABLED | SR_CONF_GET | SR_CONF_SET,
SR_CONF_REGULATION | SR_CONF_GET,
+ SR_CONF_OVER_CURRENT_PROTECTION_ENABLED | SR_CONF_GET | SR_CONF_SET,
+ SR_CONF_OVER_VOLTAGE_PROTECTION_ENABLED | SR_CONF_GET | SR_CONF_SET,
};
static const struct korad_kdxxxxp_model models[] = {
break;
case SR_CONF_REGULATION:
/* Dual channel not supported. */
- if (devc->cc_mode[0])
- *data = g_variant_new_string("CC");
- else
- *data = g_variant_new_string("CV");
+ *data = g_variant_new_string((devc->cc_mode[0]) ? "CC" : "CV");
+ break;
+ case SR_CONF_OVER_CURRENT_PROTECTION_ENABLED:
+ *data = g_variant_new_boolean(devc->ocp_enabled);
+ break;
+ case SR_CONF_OVER_VOLTAGE_PROTECTION_ENABLED:
+ *data = g_variant_new_boolean(devc->ovp_enabled);
break;
default:
return SR_ERR_NA;
if (korad_kdxxxxp_set_value(sdi->conn, devc) < 0)
return SR_ERR;
break;
+ case SR_CONF_OVER_CURRENT_PROTECTION_ENABLED:
+ bval = g_variant_get_boolean(data);
+ devc->ocp_enabled = bval;
+ devc->target = KDXXXXP_OCP;
+ if (korad_kdxxxxp_set_value(sdi->conn, devc) < 0)
+ return SR_ERR;
+ break;
+ case SR_CONF_OVER_VOLTAGE_PROTECTION_ENABLED:
+ bval = g_variant_get_boolean(data);
+ devc->ovp_enabled = bval;
+ devc->target = KDXXXXP_OVP;
+ if (korad_kdxxxxp_set_value(sdi->conn, devc) < 0)
+ return SR_ERR;
+ break;
default:
return SR_ERR_NA;
}