]> sigrok.org Git - libsigrok.git/blobdiff - src/std.c
drivers: Factor out std_gvar_min_max_step_thresholds().
[libsigrok.git] / src / std.c
index 5748ba02eb9c62b869c693f60eac2d5942aa6ed2..45cc3a49acf9b3ea25cae96513d095313b89f97d 100644 (file)
--- a/src/std.c
+++ b/src/std.c
@@ -627,3 +627,22 @@ SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3])
 
        return g_variant_builder_end(&gvb);
 }
+
+SR_PRIV GVariant *std_gvar_min_max_step_thresholds(const double min, const double max, const double step)
+{
+       double d;
+       GVariant *gvar, *range[2];
+       GVariantBuilder gvb;
+
+       g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
+
+       for (d = min; d <= max; d += step) {
+               range[0] = g_variant_new_double(d);
+               range[1] = g_variant_new_double(d);
+
+               gvar = g_variant_new_tuple(range, 2);
+               g_variant_builder_add_value(&gvb, gvar);
+       }
+
+       return g_variant_builder_end(&gvb);
+}