X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=session.c;h=65c4c60c51b6a8f5ff8a9f27ccede18189e802c4;hp=3d0e25182e2db4121c3de1cabaf14617680882fa;hb=426d0cdaa91051c30d45055b3c10662fd392ea5a;hpb=6ea663a7639b87bab38c4c94624fdc9cce633ca4 diff --git a/session.c b/session.c index 3d0e251..65c4c60 100644 --- a/session.c +++ b/session.c @@ -416,7 +416,7 @@ void datafeed_in(const struct sr_dev_inst *sdi, int opt_to_gvar(char *key, char *value, struct sr_config *src) { const struct sr_config_info *srci; - double tmp_double; + double tmp_double, dlow, dhigh; uint64_t tmp_u64, p, q, low, high; GVariant *rational[2], *range[2]; gboolean tmp_bool; @@ -486,6 +486,16 @@ int opt_to_gvar(char *key, char *value, struct sr_config *src) src->data = g_variant_new_tuple(range, 2); } break; + case SR_T_DOUBLE_RANGE: + if (sscanf(value, "%lf-%lf", &dlow, &dhigh) != 2) { + ret = -1; + break; + } else { + range[0] = g_variant_new_double(dlow); + range[1] = g_variant_new_double(dhigh); + src->data = g_variant_new_tuple(range, 2); + } + break; default: ret = -1; }