drivers: Factor out std_gvar_min_max_step_thresholds().
This commit is contained in:
parent
bcee129962
commit
7bc3cfe6ff
|
@ -555,7 +555,6 @@ static int config_list(uint32_t key, GVariant **data,
|
|||
GVariant *gvar, *range[2];
|
||||
GVariantBuilder gvb;
|
||||
unsigned int i;
|
||||
double v;
|
||||
|
||||
devc = (sdi) ? sdi->priv : NULL;
|
||||
|
||||
|
@ -564,23 +563,18 @@ static int config_list(uint32_t key, GVariant **data,
|
|||
case SR_CONF_DEVICE_OPTIONS:
|
||||
return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
|
||||
case SR_CONF_VOLTAGE_THRESHOLD:
|
||||
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
||||
if (!strcmp(devc->profile->model, "DSLogic")) {
|
||||
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
||||
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);
|
||||
}
|
||||
*data = g_variant_builder_end(&gvb);
|
||||
} 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 = std_gvar_min_max_step_thresholds(0.0, 5.0, 0.1);
|
||||
}
|
||||
*data = g_variant_builder_end(&gvb);
|
||||
break;
|
||||
case SR_CONF_SAMPLERATE:
|
||||
*data = std_gvar_samplerates(devc->samplerates, devc->num_samplerates);
|
||||
|
|
|
@ -391,10 +391,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
|
|||
const struct sr_channel_group *cg)
|
||||
{
|
||||
struct dev_context *devc;
|
||||
GVariant *gvar, *grange[2];
|
||||
GVariantBuilder gvb;
|
||||
double v;
|
||||
GVariant *range[2];
|
||||
GVariant *grange[2];
|
||||
|
||||
switch (key) {
|
||||
case SR_CONF_DEVICE_OPTIONS:
|
||||
|
@ -417,14 +414,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
|
|||
sizeof(int32_t));
|
||||
break;
|
||||
case SR_CONF_VOLTAGE_THRESHOLD:
|
||||
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
||||
for (v = -6.0; v <= 6.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);
|
||||
*data = std_gvar_min_max_step_thresholds(-6.0, 6.0, 0.1);
|
||||
break;
|
||||
case SR_CONF_LIMIT_SAMPLES:
|
||||
if (!sdi)
|
||||
|
|
|
@ -962,6 +962,7 @@ SR_PRIV GVariant *std_gvar_samplerates(const uint64_t samplerates[], unsigned in
|
|||
SR_PRIV GVariant *std_gvar_samplerates_steps(const uint64_t samplerates[], unsigned int n);
|
||||
SR_PRIV GVariant *std_gvar_min_max_step(double min, double max, double step);
|
||||
SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3]);
|
||||
SR_PRIV GVariant *std_gvar_min_max_step_thresholds(const double dmin, const double dmax, const double dstep);
|
||||
|
||||
|
||||
/*--- resource.c ------------------------------------------------------------*/
|
||||
|
|
19
src/std.c
19
src/std.c
|
@ -627,3 +627,22 @@ SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3])
|
|||
|
||||
return g_variant_builder_end(&gvb);
|
||||
}
|
||||
|
||||
SR_PRIV GVariant *std_gvar_min_max_step_thresholds(const double min, const double max, const double step)
|
||||
{
|
||||
double d;
|
||||
GVariant *gvar, *range[2];
|
||||
GVariantBuilder gvb;
|
||||
|
||||
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
||||
|
||||
for (d = min; d <= max; d += step) {
|
||||
range[0] = g_variant_new_double(d);
|
||||
range[1] = g_variant_new_double(d);
|
||||
|
||||
gvar = g_variant_new_tuple(range, 2);
|
||||
g_variant_builder_add_value(&gvb, gvar);
|
||||
}
|
||||
|
||||
return g_variant_builder_end(&gvb);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue