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];
|
GVariant *gvar, *range[2];
|
||||||
GVariantBuilder gvb;
|
GVariantBuilder gvb;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
double v;
|
|
||||||
|
|
||||||
devc = (sdi) ? sdi->priv : NULL;
|
devc = (sdi) ? sdi->priv : NULL;
|
||||||
|
|
||||||
|
@ -564,23 +563,18 @@ static int config_list(uint32_t key, GVariant **data,
|
||||||
case SR_CONF_DEVICE_OPTIONS:
|
case SR_CONF_DEVICE_OPTIONS:
|
||||||
return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
|
return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
|
||||||
case SR_CONF_VOLTAGE_THRESHOLD:
|
case SR_CONF_VOLTAGE_THRESHOLD:
|
||||||
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
|
||||||
if (!strcmp(devc->profile->model, "DSLogic")) {
|
if (!strcmp(devc->profile->model, "DSLogic")) {
|
||||||
|
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
||||||
for (i = 0; i < ARRAY_SIZE(voltage_thresholds); i++) {
|
for (i = 0; i < ARRAY_SIZE(voltage_thresholds); i++) {
|
||||||
range[0] = g_variant_new_double(voltage_thresholds[i].low);
|
range[0] = g_variant_new_double(voltage_thresholds[i].low);
|
||||||
range[1] = g_variant_new_double(voltage_thresholds[i].high);
|
range[1] = g_variant_new_double(voltage_thresholds[i].high);
|
||||||
gvar = g_variant_new_tuple(range, 2);
|
gvar = g_variant_new_tuple(range, 2);
|
||||||
g_variant_builder_add_value(&gvb, gvar);
|
g_variant_builder_add_value(&gvb, gvar);
|
||||||
}
|
}
|
||||||
|
*data = g_variant_builder_end(&gvb);
|
||||||
} else {
|
} else {
|
||||||
for (v = 0.0; v <= 5.0; v += 0.1) {
|
*data = std_gvar_min_max_step_thresholds(0.0, 5.0, 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);
|
|
||||||
break;
|
break;
|
||||||
case SR_CONF_SAMPLERATE:
|
case SR_CONF_SAMPLERATE:
|
||||||
*data = std_gvar_samplerates(devc->samplerates, devc->num_samplerates);
|
*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)
|
const struct sr_channel_group *cg)
|
||||||
{
|
{
|
||||||
struct dev_context *devc;
|
struct dev_context *devc;
|
||||||
GVariant *gvar, *grange[2];
|
GVariant *grange[2];
|
||||||
GVariantBuilder gvb;
|
|
||||||
double v;
|
|
||||||
GVariant *range[2];
|
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case SR_CONF_DEVICE_OPTIONS:
|
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));
|
sizeof(int32_t));
|
||||||
break;
|
break;
|
||||||
case SR_CONF_VOLTAGE_THRESHOLD:
|
case SR_CONF_VOLTAGE_THRESHOLD:
|
||||||
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
|
*data = std_gvar_min_max_step_thresholds(-6.0, 6.0, 0.1);
|
||||||
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);
|
|
||||||
break;
|
break;
|
||||||
case SR_CONF_LIMIT_SAMPLES:
|
case SR_CONF_LIMIT_SAMPLES:
|
||||||
if (!sdi)
|
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_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(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_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 ------------------------------------------------------------*/
|
/*--- 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);
|
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