]> sigrok.org Git - libsigrok.git/blobdiff - output/ols.c
Skip analog probes in logic-only output formats.
[libsigrok.git] / output / ols.c
index 09115f81f5720a5deb0fff3aa979141103c64f9e..9f9cc957bdb743566e01a96570b46bafb8f6b8d2 100644 (file)
 #include "libsigrok.h"
 #include "libsigrok-internal.h"
 
-/* Message logging helpers with driver-specific prefix string. */
-#define DRIVER_LOG_DOMAIN "output/ols: "
-#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/ols"
 
 struct context {
        uint64_t samplerate;
@@ -69,8 +62,8 @@ static GString *gen_header(const struct sr_dev_inst *sdi, struct context *ctx)
        GVariant *gvar;
        int num_enabled_probes;
 
-       if (!ctx->samplerate && sr_config_get(sdi->driver, SR_CONF_SAMPLERATE,
-                       &gvar, sdi) == SR_OK) {
+       if (!ctx->samplerate && sr_config_get(sdi->driver, sdi, NULL,
+                       SR_CONF_SAMPLERATE, &gvar) == SR_OK) {
                ctx->samplerate = g_variant_get_uint64(gvar);
                g_variant_unref(gvar);
        }
@@ -78,8 +71,11 @@ static GString *gen_header(const struct sr_dev_inst *sdi, struct context *ctx)
        num_enabled_probes = 0;
        for (l = sdi->probes; l; l = l->next) {
                probe = l->data;
-               if (probe->enabled)
-                       num_enabled_probes++;
+               if (probe->type != SR_PROBE_LOGIC)
+                       continue;
+               if (!probe->enabled)
+                       continue;
+               num_enabled_probes++;
        }
 
        s = g_string_sized_new(512);