]> sigrok.org Git - libsigrok.git/blobdiff - output/csv.c
probe_groups: API changes required to implement probe groups.
[libsigrok.git] / output / csv.c
index 0b70b2d6cf9803af0fc6c1a02a4d5dec6ace3c23..3eda9bf99a95f62df5a966ff933e1861782dd020 100644 (file)
 #include "libsigrok.h"
 #include "libsigrok-internal.h"
 
-/* Message logging helpers with driver-specific prefix string. */
-#define DRIVER_LOG_DOMAIN "output/csv: "
-#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)
+/* Message logging helpers with subsystem-specific prefix string. */
+#define LOG_PREFIX "output/csv: "
+#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)
 
 struct context {
        unsigned int num_enabled_probes;
@@ -91,8 +91,8 @@ static int init(struct sr_output *o)
 
        num_probes = g_slist_length(o->sdi->probes);
 
-       if (sr_config_get(o->sdi->driver, SR_CONF_SAMPLERATE, &gvar,
-                       o->sdi) == SR_OK) {
+       if (sr_config_get(o->sdi->driver, o->sdi, NULL, SR_CONF_SAMPLERATE,
+                       &gvar) == SR_OK) {
                ctx->samplerate = g_variant_get_uint64(gvar);
                g_variant_unref(gvar);
        } else
@@ -172,8 +172,7 @@ static int data(struct sr_output *o, const uint8_t *data_in,
 {
        struct context *ctx;
        GString *outstr;
-       uint64_t sample, i;
-       int j;
+       uint64_t sample, i, j;
 
        if (!o) {
                sr_err("%s: o was NULL", __func__);
@@ -200,7 +199,7 @@ static int data(struct sr_output *o, const uint8_t *data_in,
 
        for (i = 0; i <= length_in - ctx->unitsize; i += ctx->unitsize) {
                memcpy(&sample, data_in + i, ctx->unitsize);
-               for (j = ctx->num_enabled_probes - 1; j >= 0; j--) {
+               for (j = 0; j < ctx->num_enabled_probes; j++) {
                        g_string_append_printf(outstr, "%d%c",
                                (int)((sample & (1 << j)) >> j),
                                ctx->separator);