+ devc->cur_samplerate = samplerate;
+
+ return SR_OK;
+}
+
+static int set_limit_samples(struct dev_context *devc, uint64_t samples)
+{
+ devc->limit_samples = samples;
+
+ if (samples <= 2 * 1024)
+ devc->memory_size = MEMORY_SIZE_8K;
+ else if (samples <= 16 * 1024)
+ devc->memory_size = MEMORY_SIZE_64K;
+ else if (samples <= 32 * 1024 ||
+ devc->max_memory_size <= 32 * 1024)
+ devc->memory_size = MEMORY_SIZE_128K;
+ else
+ devc->memory_size = MEMORY_SIZE_512K;
+
+ sr_info("zp: Setting memory size to %dK.",
+ get_memory_size(devc->memory_size) / 1024);
+
+ analyzer_set_memory_size(devc->memory_size);
+
+ return SR_OK;
+}
+
+static int set_capture_ratio(struct dev_context *devc, uint64_t ratio)
+{
+ if (ratio > 100) {
+ sr_err("zp: %s: invalid capture ratio", __func__);
+ return SR_ERR_ARG;
+ }
+
+ devc->capture_ratio = ratio;
+
+ sr_info("zp: Setting capture ratio to %d%%.", devc->capture_ratio);