/*
* This file is part of the libsigrok project.
*
+ * Copyright (C) 2022 Gerhard Sittig <gerhard.sittig@gmx.net>
* Copyright (C) 2020 Florian Schmidt <schmidt_florian@gmx.de>
* Copyright (C) 2013 Marcus Comstedt <marcus@mc.pp.se>
* Copyright (C) 2013 Bert Vermeulen <bert@biot.com>
*/
#define LA2016_EP6_PKTSZ 512 /* Max packet size of USB endpoint 6. */
#define LA2016_USB_BUFSZ (256 * 2 * LA2016_EP6_PKTSZ) /* 256KiB buffer. */
+#define LA2016_USB_XFER_COUNT 32 /* Size of USB bulk transfers pool. */
/* USB communication timeout during regular operation. */
#define DEFAULT_TIMEOUT_MS 200
+#define CAPTURE_TIMEOUT_MS 500
/*
* Check for MCU firmware to take effect after upload. Check the device
uint32_t read_pos;
struct feed_queue_logic *feed_queue;
- struct libusb_transfer *transfer;
+ GSList *transfers;
+ size_t transfer_bufsize;
};
SR_PRIV int la2016_upload_firmware(const struct sr_dev_inst *sdi,
- struct sr_context *sr_ctx, libusb_device *dev, uint16_t product_id);
+ struct sr_context *sr_ctx, libusb_device *dev, gboolean skip_upload);
SR_PRIV int la2016_identify_device(const struct sr_dev_inst *sdi,
gboolean show_message);
SR_PRIV int la2016_init_hardware(const struct sr_dev_inst *sdi);
SR_PRIV int la2016_start_acquisition(const struct sr_dev_inst *sdi);
SR_PRIV int la2016_abort_acquisition(const struct sr_dev_inst *sdi);
SR_PRIV int la2016_receive_data(int fd, int revents, void *cb_data);
+SR_PRIV void la2016_release_resources(const struct sr_dev_inst *sdi);
#endif