+ GVariant *const gvar_double = g_variant_new_double(
+ g_variant_get_uint64(gvar));
+
+ g_variant_unref(gvar);
+
+ return gvar_double;
+}
+
+void DeviceOptions::samplerate_double_setter(
+ struct sr_dev_inst *sdi, GVariant *value)
+{
+ GVariant *const gvar = g_variant_new_uint64(
+ g_variant_get_double(value));
+ config_setter(sdi, SR_CONF_SAMPLERATE, gvar);
+}
+
+QString DeviceOptions::print_timebase(GVariant *const gvar)
+{
+ uint64_t p, q;
+ g_variant_get(gvar, "(tt)", &p, &q);
+ return QString(sr_period_string(p * q));
+}
+
+QString DeviceOptions::print_vdiv(GVariant *const gvar)
+{
+ uint64_t p, q;
+ g_variant_get(gvar, "(tt)", &p, &q);
+ return QString(sr_voltage_string(p, q));
+}
+
+QString DeviceOptions::print_voltage_threshold(GVariant *const gvar)
+{
+ gdouble lo, hi;
+ char buf[64];
+ g_variant_get(gvar, "(dd)", &lo, &hi);
+ snprintf(buf, sizeof(buf), "L<%.1fV H>%.1fV", lo, hi);
+ return QString(buf);