Hi,

> While I do not have a legacy DSLogic, I do have a U3Pro16, so let me know if 
> you need any help testing your changes. I left a comment on the GitHub PR 
> with 
> some initial findings I found.

I went through the comments and pushed some updates to the PR today:

- Change the buffer-deinterleaving worker thread to use a queue instead
  of a single buffer. This decouples USB transfers from data processing,
  i.e. the deinterleaving of the buffer (to convert from dslogic format
  to the format sigrok is expecting) is not blocking or slowing down USB
  transfers. This helps avoiding buffer underruns and receive errors
  especially at high sample rates. It comes at cost of additional memory
  consumption during reception but the buffers are immediately released
  once data postprocessing is done.
- Proper handling of usb buffer underruns. It happened to me at high
  sample rates that in case of underruns the received data stream got
  misaligned with regards to the channels, i.e. I observed "channel
  swapping". This is fixed now.
- Continous/streaming mode is now enabled by default which addresses
  some of your comments you added to the PR: By using streaming mode,
  the data is updated in real time in pulseview and not only at the end
  of the capture. Since I improved now the deinterleaving of the buffer
  (as described above) the streaming mode can be used also along with
  high sample rates. The limits are:

1GHz: Max. 3 channels
500MHz: Max. 6 channels
250MHz: Max. 12 channels

If you try to enable more channels for one of these sample rates,
pulseview will silently ignore it and immediately stop the capture
again.

If the U3Pro16 is connected to a USB2 port, capturing 16 channels works
reliable up to 20MHz, if you want to go for higher sample rates, numbers
of channels needs to be reduced.

Would appreciate if you could test the latest updates.

Thanks,
Christian.


_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to