]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/beaglelogic/protocol.c
Simplify a few config_set() callbacks.
[libsigrok.git] / src / hardware / beaglelogic / protocol.c
index 1c01b64f758405955e5715d3b9a4a67998b51c9d..a0a784e874502d6ca5ef93498674ac241c331468 100644 (file)
@@ -40,6 +40,7 @@ SR_PRIV int beaglelogic_receive_data(int fd, int revents, void *cb_data)
        struct sr_datafeed_logic logic;
 
        int trigger_offset;
+       int pre_trigger_samples;
        uint32_t packetsize;
        uint64_t bytes_remaining;
 
@@ -67,10 +68,9 @@ SR_PRIV int beaglelogic_receive_data(int fd, int revents, void *cb_data)
                } else {
                        /* Check for trigger */
                        trigger_offset = soft_trigger_logic_check(devc->stl,
-                                               logic.data,
-                                               packetsize);
-
+                                       logic.data, packetsize, &pre_trigger_samples);
                        if (trigger_offset > -1) {
+                               devc->bytes_read += pre_trigger_samples * logic.unitsize;
                                trigger_offset *= logic.unitsize;
                                logic.length = MIN(packetsize - trigger_offset,
                                                bytes_remaining);