]> sigrok.org Git - libsigrok.git/blobdiff - output/vcd.c
sr: s/sr_session_bus/sr_session_send/.
[libsigrok.git] / output / vcd.c
index 1d333c6c56466ca7ad6411a06403b45375f6379b..91f72c1377a63af1c24b010aa4efef1f401a1425 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the sigrok project.
  *
  * Copyright (C) 2010 Uwe Hermann <uwe@hermann-uwe.de>
- * Copyright (C) 2011 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -57,21 +57,21 @@ static int init(struct sr_output *o)
        o->internal = ctx;
        ctx->num_enabled_probes = 0;
 
-       for (l = o->device->probes; l; l = l->next) {
+       for (l = o->dev->probes; l; l = l->next) {
                probe = l->data;
                if (!probe->enabled)
                        continue;
                ctx->probelist[ctx->num_enabled_probes++] = probe->name;
        }
        if (ctx->num_enabled_probes > 94) {
-               sr_err("VCD only supports 94 probes.");
+               sr_err("vcd out: VCD only supports 94 probes.");
                return SR_ERR;
        }
 
        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->device->probes);
+       num_probes = g_slist_length(o->dev->probes);
 
        /* timestamp */
        t = time(NULL);
@@ -84,9 +84,9 @@ static int init(struct sr_output *o)
        g_string_append_printf(ctx->header, "$version %s %s $end\n",
                        PACKAGE, PACKAGE_VERSION);
 
-       if (o->device->plugin && sr_dev_has_hwcap(o->device, SR_HWCAP_SAMPLERATE)) {
-               ctx->samplerate = *((uint64_t *) o->device->plugin->get_device_info(
-                               o->device->plugin_index, SR_DI_CUR_SAMPLERATE));
+       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 (!((samplerate_s = sr_samplerate_string(ctx->samplerate)))) {
                        g_string_free(ctx->header, TRUE);
                        g_free(ctx);
@@ -138,10 +138,8 @@ static int init(struct sr_output *o)
 static int event(struct sr_output *o, int event_type, char **data_out,
                 uint64_t *length_out)
 {
-       struct context *ctx;
        char *outbuf;
 
-       ctx = o->internal;
        switch (event_type) {
        case SR_DF_END:
                outbuf = g_strdup("$dumpoff\n$end\n");