X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fbeaglelogic%2Fprotocol.c;h=a0a784e874502d6ca5ef93498674ac241c331468;hb=e743a47d6d23050c72aa1276c5df4a45a6bc5357;hp=05dcccf1ffac25bc0a1f0e3784e150f94bd68c7e;hpb=5a971f66a37df7c4dbe7799b3c7fc7eb30055a61;p=libsigrok.git diff --git a/src/hardware/beaglelogic/protocol.c b/src/hardware/beaglelogic/protocol.c index 05dcccf1..a0a784e8 100644 --- a/src/hardware/beaglelogic/protocol.c +++ b/src/hardware/beaglelogic/protocol.c @@ -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,8 +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, NULL); + 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);