#include <config.h>
#include "protocol.h"
+#define CHRONOVU_VENDOR (0x0403)
+
static const uint32_t scanopts[] = {
SR_CONF_CONN,
};
libusb_get_device_descriptor(devlist[i], &des);
+ /* See https://sigrok.org/bugzilla/show_bug.cgi?id=1115 and
+ * https://github.com/sigrokproject/libsigrok/pull/166 */
+ if (des.idVendor != CHRONOVU_VENDOR)
+ continue;
+
if ((ret = libusb_open(devlist[i], &hdl)) < 0)
continue;
libusb_close(hdl);
- usb_get_port_path(devlist[i], connection_id, sizeof(connection_id));
+ if (usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)) < 0)
+ continue;
if (!strcmp(product, "ChronoVu LA8"))
model = 0;
goto err_ftdi_free;
}
- if ((ret = ftdi_usb_purge_buffers(devc->ftdic)) < 0) {
+ if ((ret = PURGE_FTDI_BOTH(devc->ftdic)) < 0) {
sr_err("Failed to purge FTDI buffers (%d): %s.",
ret, ftdi_get_error_string(devc->ftdic));
goto err_ftdi_free;