X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Fgnuplot.c;h=27a764c8ad209da04b816cc94772543b5f833fd2;hb=fe997353bf0c66425997bb84a0ad1041faf2a60e;hp=7c033a91c3136f9016c7355605b5c129121c6a1d;hpb=90f680ff006e5ae2fd4935bd885a14bd9927fd99;p=libsigrok.git diff --git a/output/gnuplot.c b/output/gnuplot.c index 7c033a91..27a764c8 100644 --- a/output/gnuplot.c +++ b/output/gnuplot.c @@ -25,14 +25,7 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "output/gnuplot: " -#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args) -#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args) -#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args) -#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args) -#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) -#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +#define LOG_PREFIX "output/gnuplot" struct context { unsigned int num_enabled_probes; @@ -78,11 +71,6 @@ static int init(struct sr_output *o) return SR_ERR_ARG; } - if (!o->sdi->driver) { - sr_err("%s: o->sdi->driver was NULL", __func__); - return SR_ERR_ARG; - } - if (!(ctx = g_try_malloc0(sizeof(struct context)))) { sr_err("%s: ctx malloc failed", __func__); return SR_ERR_MALLOC; @@ -92,33 +80,37 @@ static int init(struct sr_output *o) ctx->num_enabled_probes = 0; for (l = o->sdi->probes; l; l = l->next) { probe = l->data; - if (probe->enabled) - ctx->num_enabled_probes++; + if (probe->type != SR_PROBE_LOGIC) + continue; + if (!probe->enabled) + continue; + ctx->num_enabled_probes++; } ctx->unitsize = (ctx->num_enabled_probes + 7) / 8; num_probes = g_slist_length(o->sdi->probes); comment[0] = '\0'; samplerate = 0; - if (sr_dev_has_option(o->sdi, SR_CONF_SAMPLERATE)) { - o->sdi->driver->config_get(SR_CONF_SAMPLERATE, &gvar, o->sdi); + if (sr_config_get(o->sdi->driver, o->sdi, NULL, SR_CONF_SAMPLERATE, + &gvar) == SR_OK) { samplerate = g_variant_get_uint64(gvar); + g_variant_unref(gvar); if (!(frequency_s = sr_samplerate_string(samplerate))) { sr_err("%s: sr_samplerate_string failed", __func__); g_free(ctx); - g_variant_unref(gvar); return SR_ERR; } snprintf(comment, 127, gnuplot_header_comment, ctx->num_enabled_probes, num_probes, frequency_s); g_free(frequency_s); - g_variant_unref(gvar); } /* Columns / channels */ wbuf[0] = '\0'; for (i = 0, l = o->sdi->probes; l; l = l->next, i++) { probe = l->data; + if (probe->type != SR_PROBE_LOGIC) + continue; if (!probe->enabled) continue; c = (char *)&wbuf + strlen((const char *)&wbuf);