]> sigrok.org Git - libsigrok.git/blobdiff - hardware/zeroplus-logic-cube/api.c
rigol-ds: Advertise SR_CONF_LIMIT_FRAMES support.
[libsigrok.git] / hardware / zeroplus-logic-cube / api.c
index 25b4f78f80aa278a5a30cc996a2d88d203db85da..4ff07830932799cce8b02d4073c3837377078cbd 100644 (file)
@@ -59,6 +59,7 @@ static const int32_t hwcaps[] = {
        SR_CONF_CAPTURE_RATIO,
        SR_CONF_VOLTAGE_THRESHOLD,
        SR_CONF_LIMIT_SAMPLES,
+       SR_CONF_MAX_UNCOMPRESSED_SAMPLES,
 };
 
 /*
@@ -486,14 +487,14 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi,
                        sr_spew("Returning samplerate: %" PRIu64 "Hz.",
                                devc->cur_samplerate);
                } else
-                       return SR_ERR;
+                       return SR_ERR_ARG;
                break;
        case SR_CONF_CAPTURE_RATIO:
                if (sdi) {
                        devc = sdi->priv;
                        *data = g_variant_new_uint64(devc->capture_ratio);
                } else
-                       return SR_ERR;
+                       return SR_ERR_ARG;
                break;
        case SR_CONF_VOLTAGE_THRESHOLD:
                if (sdi) {
@@ -502,6 +503,16 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi,
                        range[0] = g_variant_new_double(devc->cur_threshold);
                        range[1] = g_variant_new_double(devc->cur_threshold);
                        *data = g_variant_new_tuple(range, 2);
+               } else
+                       return SR_ERR_ARG;
+               break;
+       case SR_CONF_MAX_UNCOMPRESSED_SAMPLES:
+               if (sdi) {
+                       /* As long as this driver doesn't support compression,
+                        * this is ok. When compression is enabled, this should
+                        * return SR_ERR_NA instead. */
+                       devc = sdi->priv;
+                       *data = g_variant_new_uint64(devc->max_sample_depth);
                } else
                        return SR_ERR;
                break;