]> sigrok.org Git - libsigrok.git/blobdiff - src/std.c
drivers: Factor out std_gvar_min_max_step{,_array}().
[libsigrok.git] / src / std.c
index e36b7ccc77910637dd0e0bbc484d3150e40b66a2..5748ba02eb9c62b869c693f60eac2d5942aa6ed2 100644 (file)
--- a/src/std.c
+++ b/src/std.c
@@ -601,3 +601,29 @@ SR_PRIV GVariant *std_gvar_samplerates_steps(const uint64_t samplerates[], unsig
 {
        return samplerate_helper(samplerates, n, "samplerate-steps");
 }
+
+SR_PRIV GVariant *std_gvar_min_max_step(double min, double max, double step)
+{
+       GVariantBuilder gvb;
+
+       g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
+
+       g_variant_builder_add_value(&gvb, g_variant_new_double(min));
+       g_variant_builder_add_value(&gvb, g_variant_new_double(max));
+       g_variant_builder_add_value(&gvb, g_variant_new_double(step));
+
+       return g_variant_builder_end(&gvb);
+}
+
+SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3])
+{
+       unsigned int i;
+       GVariantBuilder gvb;
+
+       g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
+
+       for (i = 0; i < 3; i++)
+               g_variant_builder_add_value(&gvb, g_variant_new_double(a[i]));
+
+       return g_variant_builder_end(&gvb);
+}