X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fstd.c;h=33e926563b2df1f6c0b82a181d017207b7f8953f;hb=9fb9afb573193a6614c45e3a040a3c92c713523a;hp=3561c590bbe60d0d74f58de55ab1ca53b583e809;hpb=43995cda362b117ecae790f01e05eb9b43d5e886;p=libsigrok.git diff --git a/src/std.c b/src/std.c index 3561c590..33e92656 100644 --- a/src/std.c +++ b/src/std.c @@ -684,3 +684,21 @@ SR_PRIV GVariant *std_gvar_array_u64(const uint64_t *a, unsigned int n) return g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64, a, n, sizeof(uint64_t)); } + +SR_PRIV GVariant *std_gvar_thresholds(const struct voltage_threshold a[], unsigned int n) +{ + unsigned int i; + GVariant *gvar, *range[2]; + GVariantBuilder gvb; + + g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY); + + for (i = 0; i < n; i++) { + range[0] = g_variant_new_double(a[i].low); + range[1] = g_variant_new_double(a[i].high); + gvar = g_variant_new_tuple(range, 2); + g_variant_builder_add_value(&gvb, gvar); + } + + return g_variant_builder_end(&gvb); +}