X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Fvcd.c;h=6e3910fdb3459e4869ddc2726b1d8712bb20bdcb;hb=ba6383f85574e4e374a141ca88979db86fe2893d;hp=7f7342795e139c670b89a5e57b16342a6913bcb8;hpb=45c59c8bdd01954f9214fe7b869d92c55415d109;p=libsigrok.git diff --git a/output/vcd.c b/output/vcd.c index 7f734279..6e3910fd 100644 --- a/output/vcd.c +++ b/output/vcd.c @@ -22,7 +22,7 @@ #include #include #include -#include "config.h" +#include "config.h" /* Needed for PACKAGE and others. */ #include "libsigrok.h" #include "libsigrok-internal.h" @@ -45,6 +45,7 @@ static int init(struct sr_output *o) struct context *ctx; struct sr_probe *probe; GSList *l; + uint64_t *samplerate; int num_probes, i; char *samplerate_s, *frequency_s, *timestamp; time_t t; @@ -57,7 +58,7 @@ static int init(struct sr_output *o) o->internal = ctx; ctx->num_enabled_probes = 0; - for (l = o->dev->probes; l; l = l->next) { + for (l = o->sdi->probes; l; l = l->next) { probe = l->data; if (!probe->enabled) continue; @@ -71,7 +72,7 @@ static int init(struct sr_output *o) ctx->probelist[ctx->num_enabled_probes] = 0; ctx->unitsize = (ctx->num_enabled_probes + 7) / 8; ctx->header = g_string_sized_new(512); - num_probes = g_slist_length(o->dev->probes); + num_probes = g_slist_length(o->sdi->probes); /* timestamp */ t = time(NULL); @@ -84,9 +85,10 @@ static int init(struct sr_output *o) g_string_append_printf(ctx->header, "$version %s %s $end\n", PACKAGE, PACKAGE_VERSION); - if (o->dev->driver && sr_dev_has_hwcap(o->dev, SR_HWCAP_SAMPLERATE)) { - ctx->samplerate = *((uint64_t *) o->dev->driver->dev_info_get( - o->dev->driver_index, SR_DI_CUR_SAMPLERATE)); + if (o->sdi->driver && sr_dev_has_hwcap(o->sdi, SR_HWCAP_SAMPLERATE)) { + o->sdi->driver->info_get(SR_DI_CUR_SAMPLERATE, + (const void **)&samplerate, o->sdi); + ctx->samplerate = *samplerate; if (!((samplerate_s = sr_samplerate_string(ctx->samplerate)))) { g_string_free(ctx->header, TRUE); g_free(ctx);