ALL_ZERO
};
+/* Devices that shall get reset during open(). */
+static struct usbtmc_blacklist whitelist_usb_reset[] = {
+ { 0xf4ec, 0xffff }, /* All Siglent SDS devices */
+ ALL_ZERO
+};
+
static GSList *scpi_usbtmc_libusb_scan(struct drv_context *drvc)
{
struct libusb_device **devlist;
int confidx, intfidx, epidx, config = 0, current_config;
uint8_t capabilities[24];
int ret, found = 0;
+ int do_reset;
if (usb->devhdl)
return SR_OK;
return SR_ERR;
}
- libusb_reset_device(usb->devhdl);
+ /* Optionally reset the USB device. */
+ do_reset = check_usbtmc_blacklist(whitelist_usb_reset,
+ des.idVendor, des.idProduct);
+ if (do_reset)
+ libusb_reset_device(usb->devhdl);
/* Get capabilities. */
ret = libusb_control_transfer(usb->devhdl, LIBUSB_ENDPOINT_IN |