]> sigrok.org Git - libsigrok.git/blobdiff - output/text/text.c
Bump copyright year
[libsigrok.git] / output / text / text.c
index 41f88356c10eea015e1614f5aecebb23cacc587c..71526b10e50d610323d3c4089cc8bebf585e2178 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the sigrok project.
  *
- * Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2013 Bert Vermeulen <bert@biot.com>
  * Copyright (C) 2011 HÃ¥vard Espeland <gus@ping.uio.no>
  *
  * This program is free software: you can redistribute it and/or modify
 #include <stdio.h>
 #include <string.h>
 #include <glib.h>
-#include "config.h"
+#include "config.h" /* Needed for PACKAGE_STRING and others. */
 #include "libsigrok.h"
 #include "libsigrok-internal.h"
 #include "text.h"
 
+/* Message logging helpers with driver-specific prefix string. */
+#define DRIVER_LOG_DOMAIN "output/text: "
+#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)
+
 SR_PRIV void flush_linebufs(struct context *ctx, uint8_t *outbuf)
 {
        static int max_probename_len = 0;
@@ -75,7 +84,7 @@ SR_PRIV int init(struct sr_output *o, int default_spl, enum outputmode mode)
        char *samplerate_s;
 
        if (!(ctx = g_try_malloc0(sizeof(struct context)))) {
-               sr_err("text out: %s: ctx malloc failed", __func__);
+               sr_err("%s: ctx malloc failed", __func__);
                return SR_ERR_MALLOC;
        }
 
@@ -96,6 +105,7 @@ SR_PRIV int init(struct sr_output *o, int default_spl, enum outputmode mode)
        ctx->mark_trigger = -1;
        ctx->mode = mode;
 
+       ret = SR_OK;
        if (o->param && o->param[0]) {
                ctx->samples_per_line = strtoul(o->param, NULL, 10);
                if (ctx->samples_per_line < 1) {
@@ -106,15 +116,15 @@ SR_PRIV int init(struct sr_output *o, int default_spl, enum outputmode mode)
                ctx->samples_per_line = default_spl;
 
        if (!(ctx->header = g_try_malloc0(512))) {
-               sr_err("text out: %s: ctx->header malloc failed", __func__);
+               sr_err("%s: ctx->header malloc failed", __func__);
                ret = SR_ERR_MALLOC;
                goto err;
        }
 
        snprintf(ctx->header, 511, "%s\n", PACKAGE_STRING);
        num_probes = g_slist_length(o->sdi->probes);
-       if (o->sdi->driver || sr_dev_has_hwcap(o->sdi, SR_HWCAP_SAMPLERATE)) {
-               ret = o->sdi->driver->info_get(SR_DI_CUR_SAMPLERATE,
+       if (o->sdi->driver || sr_dev_has_option(o->sdi, SR_CONF_SAMPLERATE)) {
+               ret = o->sdi->driver->config_get(SR_CONF_SAMPLERATE,
                                (const void **)&samplerate, o->sdi);
                if (ret != SR_OK)
                        goto err;
@@ -131,13 +141,13 @@ SR_PRIV int init(struct sr_output *o, int default_spl, enum outputmode mode)
 
        ctx->linebuf_len = ctx->samples_per_line * 2 + 4;
        if (!(ctx->linebuf = g_try_malloc0(num_probes * ctx->linebuf_len))) {
-               sr_err("text out: %s: ctx->linebuf malloc failed", __func__);
+               sr_err("%s: ctx->linebuf malloc failed", __func__);
                ret = SR_ERR_MALLOC;
                goto err;
        }
 
        if (!(ctx->linevalues = g_try_malloc0(num_probes))) {
-               sr_err("text out: %s: ctx->linevalues malloc failed", __func__);
+               sr_err("%s: ctx->linevalues malloc failed", __func__);
                ret = SR_ERR_MALLOC;
        }
 
@@ -168,7 +178,7 @@ SR_PRIV int event(struct sr_output *o, int event_type, uint8_t **data_out,
                outsize = ctx->num_enabled_probes
                                * (ctx->samples_per_line + 20) + 512;
                if (!(outbuf = g_try_malloc0(outsize))) {
-                       sr_err("text out: %s: outbuf malloc failed", __func__);
+                       sr_err("%s: outbuf malloc failed", __func__);
                        return SR_ERR_MALLOC;
                }
                flush_linebufs(ctx, outbuf);