]> sigrok.org Git - libsigrok.git/blobdiff - src/output/vcd.c
Don't reference SR_PACKAGE_VERSION_STRING directly in output modules.
[libsigrok.git] / src / output / vcd.c
index db77a7adeddf09cb37c6c6be9b7745a4de69d6c4..561b3ba059fc914583b85c0b01901a5490f62e7f 100644 (file)
@@ -96,13 +96,13 @@ static GString *gen_header(const struct sr_output *o)
        /* timestamp */
        t = time(NULL);
        timestamp = g_strdup(ctime(&t));
-       timestamp[strlen(timestamp)-1] = 0;
+       timestamp[strlen(timestamp) - 1] = 0;
        g_string_printf(header, "$date %s $end\n", timestamp);
        g_free(timestamp);
 
        /* generator */
        g_string_append_printf(header, "$version %s %s $end\n",
-                       PACKAGE_NAME, SR_PACKAGE_VERSION_STRING);
+                       PACKAGE_NAME, sr_package_version_string_get());
        g_string_append_printf(header, "$comment\n  Acquisition with "
                        "%d/%d channels", ctx->num_enabled_channels, num_channels);
 
@@ -200,7 +200,16 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
                        timestamp_written = FALSE;
 
                        for (p = 0; p < ctx->num_enabled_channels; p++) {
-                               index = ctx->channel_index[p];
+                               /*
+                                * TODO Check whether the mapping from
+                                * data image positions to channel numbers
+                                * is required. Experiments suggest that
+                                * the data image "is dense", and packs
+                                * bits of enabled channels, and leaves no
+                                * room for positions of disabled channels.
+                                */
+                               /* index = ctx->channel_index[p]; */
+                               index = p;
 
                                curbit = ((unsigned)sample[index / 8]
                                                >> (index % 8)) & 1;
@@ -261,7 +270,7 @@ static int cleanup(struct sr_output *o)
 struct sr_output_module output_vcd = {
        .id = "vcd",
        .name = "VCD",
-       .desc = "Value Change Dump",
+       .desc = "Value Change Dump data",
        .exts = (const char*[]){"vcd", NULL},
        .flags = 0,
        .options = NULL,