- if (sdi->priv)
- devc = sdi->priv;
- g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
- if (devc && !strcmp(devc->profile->model, "DSLogic")) {
- for (i = 0; i < ARRAY_SIZE(voltage_thresholds); i++) {
- range[0] = g_variant_new_double(voltage_thresholds[i].low);
- range[1] = g_variant_new_double(voltage_thresholds[i].high);
- gvar = g_variant_new_tuple(range, 2);
- g_variant_builder_add_value(&gvb, gvar);
- }
- } else {
- for (v = 0.0; v <= 5.0; v += 0.1) {
- range[0] = g_variant_new_double(v);
- range[1] = g_variant_new_double(v);
- gvar = g_variant_new_tuple(range, 2);
- g_variant_builder_add_value(&gvb, gvar);
- }
- }
- *data = g_variant_builder_end(&gvb);
+ if (!devc || !devc->profile)
+ return SR_ERR_ARG;
+ if (!strcmp(devc->profile->model, "DSLogic"))
+ *data = std_gvar_thresholds(ARRAY_AND_SIZE(thresholds));
+ else
+ *data = std_gvar_min_max_step_thresholds(0.0, 5.0, 0.1);