]> sigrok.org Git - libsigrok.git/blobdiff - src/soft-trigger.c
scpi-pps: Support for the EEZ PSU series
[libsigrok.git] / src / soft-trigger.c
index d932c65c07d26f9bbc6a9bbbdf0ff20195aa4732..1f81fae54e11575d226cb1fd0aaf9fc0ef9a9ddb 100644 (file)
 #include <libsigrok/libsigrok.h>
 #include "libsigrok-internal.h"
 
-/* @cond PRIVATE */
+/** @cond PRIVATE */
 #define LOG_PREFIX "soft-trigger"
-/* @endcond */
+/** @endcond */
 
-static size_t logic_channel_unitsize(GSList *channels)
+SR_PRIV int logic_channel_unitsize(GSList *channels)
 {
-       size_t number = 0;
+       int number = 0;
        struct sr_channel *channel;
        GSList *l;
 
        for (l = channels; l; l = l->next) {
                channel = l->data;
                if (channel->type == SR_CHANNEL_LOGIC)
-                       number += 1;
+                       number++;
        }
-       sr_dbg("number of logic channels: %d", (int) number);
-       return (number + 7) / 8;
-} 
 
+       return (number + 7) / 8;
+}
 
 SR_PRIV struct soft_trigger_logic *soft_trigger_logic_new(
                const struct sr_dev_inst *sdi, struct sr_trigger *trigger,
@@ -51,7 +50,6 @@ SR_PRIV struct soft_trigger_logic *soft_trigger_logic_new(
        stl = g_malloc0(sizeof(struct soft_trigger_logic));
        stl->sdi = sdi;
        stl->trigger = trigger;
-       /* Retreive number of logic channels, unitsize */
        stl->unitsize = logic_channel_unitsize(sdi->channels);
        stl->prev_sample = g_malloc0(stl->unitsize);
        stl->pre_trigger_size = stl->unitsize * pre_trigger_samples;
@@ -177,7 +175,6 @@ static gboolean logic_check_match(struct soft_trigger_logic *stl,
 SR_PRIV int soft_trigger_logic_check(struct soft_trigger_logic *stl,
                uint8_t *buf, int len, int *pre_trigger_samples)
 {
-       struct sr_datafeed_packet packet;
        struct sr_trigger_stage *stage;
        struct sr_trigger_match *match;
        GSList *l, *l_stage;
@@ -218,9 +215,7 @@ SR_PRIV int soft_trigger_logic_check(struct soft_trigger_logic *stl,
                                /* Fire trigger. */
                                offset = i / stl->unitsize;
 
-                               packet.type = SR_DF_TRIGGER;
-                               packet.payload = NULL;
-                               sr_session_send(stl->sdi, &packet);
+                               std_session_send_df_trigger(stl->sdi);
                                break;
                        }
                } else if (stl->cur_stage > 0) {