X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fkorad-kdxxxxp%2Fapi.c;h=6cbde4d02b4a23a24333bf59da06e52518db9cb6;hb=c40ed60f27a3c918b29f72a73074b97ef0ecfe86;hp=4a6c8179ca4924d49fdedfdccbba6e1cc109c3a4;hpb=b16d975a5c879b817583512b944b57198b71644e;p=libsigrok.git diff --git a/src/hardware/korad-kdxxxxp/api.c b/src/hardware/korad-kdxxxxp/api.c index 4a6c8179..6cbde4d0 100644 --- a/src/hardware/korad-kdxxxxp/api.c +++ b/src/hardware/korad-kdxxxxp/api.c @@ -44,6 +44,8 @@ static const uint32_t devopts[] = { 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[] = { @@ -225,6 +227,12 @@ static int config_get(uint32_t key, GVariant **data, else *data = g_variant_new_string("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; } @@ -283,6 +291,20 @@ static int config_set(uint32_t key, GVariant *data, 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; }