]> sigrok.org Git - libsigrok.git/commitdiff
drivers: Replace struct voltage_threshold with an array.
authorUwe Hermann <redacted>
Wed, 26 Jul 2017 18:41:10 +0000 (20:41 +0200)
committerUwe Hermann <redacted>
Mon, 31 Jul 2017 14:23:31 +0000 (16:23 +0200)
This makes the code-base more consistent and will allow for wider usage
of upcoming array helper functions.

src/hardware/dreamsourcelab-dslogic/api.c
src/hardware/saleae-logic16/api.c
src/libsigrok-internal.h
src/std.c

index 65732d3a29875805581ce4c1c3faef10d2f60f00..04cc99b9ea815a69125650ee98217d8b3741679c 100644 (file)
@@ -72,7 +72,7 @@ static const char *const signal_edge_names[] = {
        [DS_EDGE_FALLING] = "falling",
 };
 
-static const struct voltage_threshold voltage_thresholds[] = {
+static const double voltage_thresholds[][2] = {
        { 0.7, 1.4 },
        { 1.4, 3.6 },
 };
@@ -405,12 +405,12 @@ static int config_get(uint32_t key, GVariant **data,
                        voltage_range = 0;
 
                        for (i = 0; i < ARRAY_SIZE(voltage_thresholds); i++)
-                               if (voltage_thresholds[i].low == devc->cur_threshold) {
+                               if (voltage_thresholds[i][0] == devc->cur_threshold) {
                                        voltage_range = i;
                                        break;
                                }
-                       *data = std_gvar_tuple_double(voltage_thresholds[voltage_range].low,
-                                       voltage_thresholds[voltage_range].high);
+                       *data = std_gvar_tuple_double(voltage_thresholds[voltage_range][0],
+                                       voltage_thresholds[voltage_range][1]);
                } else {
                        *data = std_gvar_tuple_double(devc->cur_threshold, devc->cur_threshold);
                }
@@ -505,10 +505,10 @@ static int config_set(uint32_t key, GVariant *data,
                g_variant_get(data, "(dd)", &low, &high);
                if (!strcmp(devc->profile->model, "DSLogic")) {
                        for (i = 0; (unsigned int)i < ARRAY_SIZE(voltage_thresholds); i++) {
-                               if (fabs(voltage_thresholds[i].low - low) < 0.1 &&
-                                   fabs(voltage_thresholds[i].high - high) < 0.1) {
+                               if (fabs(voltage_thresholds[i][0] - low) < 0.1 &&
+                                   fabs(voltage_thresholds[i][1] - high) < 0.1) {
                                        devc->cur_threshold =
-                                               voltage_thresholds[i].low;
+                                               voltage_thresholds[i][0];
                                        break;
                                }
                        }
index 00a4c1bc9b87d0d045ef887a0a5bf35e301ea985..6ca0f594bd9923bfb55f56d58ada1555bf7be6d8 100644 (file)
@@ -77,7 +77,7 @@ static const struct {
        { VOLTAGE_RANGE_5_V, },
 };
 
-static const struct voltage_threshold volt_thresholds[] = {
+static const double volt_thresholds[][2] = {
        { 0.7, 1.4 },
        { 1.4, 3.6 },
 };
@@ -441,7 +441,7 @@ static int config_get(uint32_t key, GVariant **data,
                        if (devc->selected_voltage_range !=
                            volt_thresholds_ranges[i].range)
                                continue;
-                       *data = std_gvar_tuple_double(volt_thresholds[i].low, volt_thresholds[i].high);
+                       *data = std_gvar_tuple_double(volt_thresholds[i][0], volt_thresholds[i][1]);
                        ret = SR_OK;
                        break;
                }
@@ -481,8 +481,8 @@ static int config_set(uint32_t key, GVariant *data,
                g_variant_get(data, "(dd)", &low, &high);
                ret = SR_ERR_ARG;
                for (i = 0; i < ARRAY_SIZE(volt_thresholds); i++) {
-                       if (fabs(volt_thresholds[i].low - low) < 0.1 &&
-                           fabs(volt_thresholds[i].high - high) < 0.1) {
+                       if (fabs(volt_thresholds[i][0] - low) < 0.1 &&
+                           fabs(volt_thresholds[i][1] - high) < 0.1) {
                                devc->selected_voltage_range =
                                        volt_thresholds_ranges[i].range;
                                ret = SR_OK;
index 97422c8ac2708a96d2648878e0a00f1d5608fbc7..65df3f261d378d6db8c62fad73aaac7fc1261316 100644 (file)
@@ -971,12 +971,7 @@ SR_PRIV GVariant *std_gvar_array_i32(const int32_t *a, unsigned int n);
 SR_PRIV GVariant *std_gvar_array_u32(const uint32_t *a, unsigned int n);
 SR_PRIV GVariant *std_gvar_array_u64(const uint64_t *a, unsigned int n);
 
-struct voltage_threshold {
-        double low;
-        double high;
-};
-
-SR_PRIV GVariant *std_gvar_thresholds(const struct voltage_threshold a[], unsigned int n);
+SR_PRIV GVariant *std_gvar_thresholds(const double a[][2], unsigned int n);
 
 /*--- resource.c ------------------------------------------------------------*/
 
index 33e926563b2df1f6c0b82a181d017207b7f8953f..fbcad8a9d65e74ec3318f8c2d7847e2b67bdc14e 100644 (file)
--- a/src/std.c
+++ b/src/std.c
@@ -685,7 +685,7 @@ SR_PRIV GVariant *std_gvar_array_u64(const uint64_t *a, unsigned int n)
                                a, n, sizeof(uint64_t));
 }
 
-SR_PRIV GVariant *std_gvar_thresholds(const struct voltage_threshold a[], unsigned int n)
+SR_PRIV GVariant *std_gvar_thresholds(const double a[][2], unsigned int n)
 {
        unsigned int i;
        GVariant *gvar, *range[2];
@@ -694,8 +694,8 @@ SR_PRIV GVariant *std_gvar_thresholds(const struct voltage_threshold a[], unsign
        g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
 
        for (i = 0; i < n; i++) {
-               range[0] = g_variant_new_double(a[i].low);
-               range[1] = g_variant_new_double(a[i].high);
+               range[0] = g_variant_new_double(a[i][0]);
+               range[1] = g_variant_new_double(a[i][1]);
                gvar = g_variant_new_tuple(range, 2);
                g_variant_builder_add_value(&gvb, gvar);
        }