]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/arachnid-labs-re-load-pro/api.c
arachnid-labs-re-load-pro: Add support for setting SR_CONF_ENABLED.
[libsigrok.git] / src / hardware / arachnid-labs-re-load-pro / api.c
index bf6917e78ae240ccd646f075e2505ebebbd14410..dde8166365333c51e3e067933fac377e7b24f2d1 100644 (file)
@@ -43,7 +43,7 @@ static const uint32_t devopts[] = {
 };
 
 static const uint32_t devopts_cg[] = {
-       SR_CONF_ENABLED | SR_CONF_GET,
+       SR_CONF_ENABLED | SR_CONF_SET,
        SR_CONF_REGULATION | SR_CONF_GET,
        SR_CONF_VOLTAGE | SR_CONF_GET,
        SR_CONF_CURRENT | SR_CONF_GET,
@@ -242,6 +242,7 @@ static int config_get(uint32_t key, GVariant **data,
         *  - SR_CONF_OVER_VOLTAGE_PROTECTION_THRESHOLD
         *  - SR_CONF_OVER_CURRENT_PROTECTION_ACTIVE
         *  - SR_CONF_OVER_CURRENT_PROTECTION_THRESHOLD
+        *  - SR_CONF_ENABLED (state cannot be queried, only set)
         */
 
        ret = SR_OK;
@@ -252,9 +253,6 @@ static int config_get(uint32_t key, GVariant **data,
        case SR_CONF_LIMIT_MSEC:
                *data = g_variant_new_uint64(devc->limit_msec);
                break;
-       case SR_CONF_ENABLED:
-               *data = g_variant_new_boolean(TRUE); /* Always on. */
-               break;
        case SR_CONF_REGULATION:
                *data = g_variant_new_string("CC"); /* Always CC mode. */
                break;
@@ -312,6 +310,9 @@ static int config_set(uint32_t key, GVariant *data,
        case SR_CONF_LIMIT_MSEC:
                devc->limit_msec = g_variant_get_uint64(data);
                break;
+       case SR_CONF_ENABLED:
+               ret = reloadpro_set_on_off(sdi, g_variant_get_boolean(data));
+               break;
        case SR_CONF_CURRENT_LIMIT:
                ret = reloadpro_set_current_limit(sdi,
                        g_variant_get_double(data));