zeroplus: Just wait until not busy on data capture

While captures using a trigger do set the STATUS_READY bit, immediate
captures do not set the STATUS_READY bit, they just clear the STATUS_BUSY
bit. This was confirmed with packet captures using the "official" driver/app.
This commit is contained in:
Russ Dill 2013-12-02 21:47:14 -08:00 committed by Bert Vermeulen
parent 60cc6f8579
commit d20844e28b
1 changed files with 2 additions and 2 deletions

View File

@ -404,7 +404,7 @@ SR_PRIV void analyzer_wait(libusb_device_handle *devh, int set, int unset)
while (1) {
status = gl_reg_read(devh, DEV_STATUS);
if ((status & set) && ((status & unset) == 0))
if ((!set || (status & set)) && ((status & unset) == 0))
return;
}
}
@ -614,7 +614,7 @@ SR_PRIV void analyzer_wait_button(libusb_device_handle *devh)
SR_PRIV void analyzer_wait_data(libusb_device_handle *devh)
{
analyzer_wait(devh, STATUS_READY | 8, STATUS_BUSY);
analyzer_wait(devh, 0, STATUS_BUSY);
}
SR_PRIV int analyzer_decompress(void *input, unsigned int input_len,