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.
while (1) {
status = gl_reg_read(devh, DEV_STATUS);
- if ((status & set) && ((status & unset) == 0))
+ if ((!set || (status & set)) && ((status & unset) == 0))
return;
}
}
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,