/*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
*
* Copyright (C) 2010 Sven Peter <sven@fail0verflow.com>
* Copyright (C) 2010 Haxx Enterprises <bushing@gmail.com>
*/
#include <assert.h>
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
#include "analyzer.h"
#include "gl_usb.h"
-#include "libsigrok-internal.h"
+#include "protocol.h"
enum {
HARD_DATA_CHECK_SUM = 0x00,
break;
}
- sr_dbg("zp: Setting samplerate regs (freq=%d, scale=%d): "
+ sr_dbg("Setting samplerate regs (freq=%d, scale=%d): "
"reg0: %d, reg1: %d, reg2: %d, reg3: %d.",
freq, scale, divisor, reg0, 0x02, reg2);
if (!f[i].freq)
return -1;
- sr_dbg("zp: Setting samplerate regs (freq=%d, scale=%d): "
+ sr_dbg("Setting samplerate regs (freq=%d, scale=%d): "
"reg0: %d, reg1: %d, reg2: %d, reg3: %d.",
freq, scale, f[i].div, f[i].mul, 0x02, f[i].sel);
SR_PRIV void analyzer_wait(libusb_device_handle *devh, int set, int unset)
{
int status;
+
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,