X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Fgnuplot.c;h=cadd4fa3b8c2f4f46fdc742674e348561d975efa;hb=0bc3ab92e66ee08486e25a9a95b1300e2654fd28;hp=e93556f834b0aebed65a7b8a75f110ae8b99f6ba;hpb=d3c74a6fb05118e32ad421443251b7b3288918f9;p=libsigrok.git diff --git a/output/gnuplot.c b/output/gnuplot.c index e93556f8..cadd4fa3 100644 --- a/output/gnuplot.c +++ b/output/gnuplot.c @@ -25,14 +25,7 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with subsystem-specific prefix string. */ -#define LOG_PREFIX "output/gnuplot: " -#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) -#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) -#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) -#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) -#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) -#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) +#define LOG_PREFIX "output/gnuplot" struct context { unsigned int num_enabled_probes; @@ -87,9 +80,17 @@ 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++; } + if (ctx->num_enabled_probes <= 0) { + sr_err("%s: no logic probe enabled", __func__); + return SR_ERR; + } + ctx->unitsize = (ctx->num_enabled_probes + 7) / 8; num_probes = g_slist_length(o->sdi->probes); @@ -113,6 +114,8 @@ static int init(struct sr_output *o) 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);