X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Ffx2lafw%2Fprotocol.c;h=bc3228f12d23fff44b4013da873011c4d4c5932c;hb=7bfcb25cf1aa4fe7ddc177292bcf2ee4d9b1446d;hp=d1d2d6a6df627710bea1e370a4bc859b1610d9ee;hpb=fe5a735553470fe372ff1c12eb55398bd0f098b8;p=libsigrok.git diff --git a/src/hardware/fx2lafw/protocol.c b/src/hardware/fx2lafw/protocol.c index d1d2d6a6..bc3228f1 100644 --- a/src/hardware/fx2lafw/protocol.c +++ b/src/hardware/fx2lafw/protocol.c @@ -304,6 +304,7 @@ SR_PRIV struct dev_context *fx2lafw_dev_new(void) devc->fw_updated = 0; devc->cur_samplerate = 0; devc->limit_samples = 0; + devc->capture_ratio = 0; devc->sample_wide = FALSE; devc->stl = NULL; @@ -391,6 +392,7 @@ SR_PRIV void fx2lafw_receive_transfer(struct libusb_transfer *transfer) struct sr_datafeed_logic logic; unsigned int num_samples; int trigger_offset, cur_sample_count, unitsize; + int pre_trigger_samples; sdi = transfer->user_data; devc = sdi->priv; @@ -458,8 +460,9 @@ SR_PRIV void fx2lafw_receive_transfer(struct libusb_transfer *transfer) } } else { trigger_offset = soft_trigger_logic_check(devc->stl, - transfer->buffer, transfer->actual_length, NULL); + transfer->buffer, transfer->actual_length, &pre_trigger_samples); if (trigger_offset > -1) { + devc->sent_samples += pre_trigger_samples; packet.type = SR_DF_LOGIC; packet.payload = &logic; num_samples = cur_sample_count - trigger_offset;