]> sigrok.org Git - libsigrok.git/commit
asix-sigma: download sample memory in multiple receive calls
authorGerhard Sittig <redacted>
Sun, 31 May 2020 16:38:39 +0000 (18:38 +0200)
committerGerhard Sittig <redacted>
Sun, 31 May 2020 21:52:24 +0000 (23:52 +0200)
commitdebe1ff66d6567f0733e74fefc185437e67a7ce2
tree367638ad41b795c8c2928d63008bf7e8966705f1
parent914f8160e7cacfafd89c372e7fbb8a3e515c141b
asix-sigma: download sample memory in multiple receive calls

The previous implementation ran the complete sample memory retrieval
in a single call to the receive callback. Which in combination with
slow USB communication and deep memory could block application logic
for rather long periods of time.

Rephrase the download_capture() routine such that it can spread its
workload across multiple invocations. Run the acquisition stop and
resource allocation for the download, the interpretation of a set of
DRAM lines, and the resource cleanup, as needed. And keep calling the
download routine until completion of the interpretation of the sample
memory region of interest. The workload size per invocation may need
more adjustment.

The previous implementation could stall UI progress for some 20-30s.
This change lets users perceive UI progress while sample memory gets
retrieved and interpreted.

This resolves bug #1005.
src/hardware/asix-sigma/protocol.c