]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hantek-dso/api.c
std_gvar_tuple_array(): Change to allow for more ARRAY_AND_SIZE usage.
[libsigrok.git] / src / hardware / hantek-dso / api.c
index 772500ec0a9d8a795c55e02d3662c0184abbe7d1..78b7f3b304e7d725733c53f9b70485e1c9cc4fa9 100644 (file)
@@ -144,21 +144,16 @@ static const uint64_t vdivs[][2] = {
 };
 
 static const char *trigger_sources[] = {
-       "CH1",
-       "CH2",
-       "EXT",
+       "CH1", "CH2", "EXT",
        /* TODO: forced */
 };
 
 static const char *trigger_slopes[] = {
-       "r",
-       "f",
+       "r", "f",
 };
 
 static const char *coupling[] = {
-       "AC",
-       "DC",
-       "GND",
+       "AC", "DC", "GND",
 };
 
 static struct sr_dev_inst *dso_dev_new(const struct dso_profile *prof)
@@ -595,9 +590,6 @@ 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 *tuple, *rational[2];
-       GVariantBuilder gvb;
-       unsigned int i;
 
        if (!cg) {
                switch (key) {
@@ -608,26 +600,16 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
                        if (!sdi)
                                return SR_ERR_ARG;
                        devc = sdi->priv;
-                       *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64,
-                                       devc->profile->buffersizes, NUM_BUFFER_SIZES, sizeof(uint64_t));
+                       *data = std_gvar_array_u64(devc->profile->buffersizes, NUM_BUFFER_SIZES);
                        break;
                case SR_CONF_TIMEBASE:
-                       g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
-                       for (i = 0; i < ARRAY_SIZE(timebases); i++) {
-                               rational[0] = g_variant_new_uint64(timebases[i][0]);
-                               rational[1] = g_variant_new_uint64(timebases[i][1]);
-                               tuple = g_variant_new_tuple(rational, 2);
-                               g_variant_builder_add_value(&gvb, tuple);
-                       }
-                       *data = g_variant_builder_end(&gvb);
+                       *data = std_gvar_tuple_array(ARRAY_AND_SIZE(timebases));
                        break;
                case SR_CONF_TRIGGER_SOURCE:
-                       *data = g_variant_new_strv(trigger_sources,
-                                       ARRAY_SIZE(trigger_sources));
+                       *data = g_variant_new_strv(ARRAY_AND_SIZE(trigger_sources));
                        break;
                case SR_CONF_TRIGGER_SLOPE:
-                       *data = g_variant_new_strv(trigger_slopes,
-                                       ARRAY_SIZE(trigger_slopes));
+                       *data = g_variant_new_strv(ARRAY_AND_SIZE(trigger_slopes));
                        break;
                default:
                        return SR_ERR_NA;
@@ -635,21 +617,13 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
        } else {
                switch (key) {
                case SR_CONF_DEVICE_OPTIONS:
-                       *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
-                                       devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
+                       *data = std_gvar_array_u32(ARRAY_AND_SIZE(devopts_cg));
                        break;
                case SR_CONF_COUPLING:
-                       *data = g_variant_new_strv(coupling, ARRAY_SIZE(coupling));
+                       *data = g_variant_new_strv(ARRAY_AND_SIZE(coupling));
                        break;
                case SR_CONF_VDIV:
-                       g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
-                       for (i = 0; i < ARRAY_SIZE(vdivs); i++) {
-                               rational[0] = g_variant_new_uint64(vdivs[i][0]);
-                               rational[1] = g_variant_new_uint64(vdivs[i][1]);
-                               tuple = g_variant_new_tuple(rational, 2);
-                               g_variant_builder_add_value(&gvb, tuple);
-                       }
-                       *data = g_variant_builder_end(&gvb);
+                       *data = std_gvar_tuple_array(ARRAY_AND_SIZE(vdivs));
                        break;
                default:
                        return SR_ERR_NA;