]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/kingst-la2016/protocol.h
kingst-la2016: setup usb transfer sizes to be multiple of endpoint max packet size...
[libsigrok.git] / src / hardware / kingst-la2016 / protocol.h
index 58998b24290bd0b9f7251f48e376aa86384822bf..09e12be6577d8739b860745a152f7f67648b0a4c 100644 (file)
 
 #define LA2016_BULK_MAX         8388608
 
+/*
+ * On Windows sigrok uses WinUSB RAW_IO policy which requires the
+ * USB transfer buffer size to be a multiple of the endpoint max packet
+ * size, which is 512 bytes in this case. Also, the maximum allowed size of
+ * the transfer buffer is normally read from WinUSB_GetPipePolicy API but
+ * libusb does not expose this function. Typically, max size is 2MB.
+ */
+#define LA2016_EP6_PKTSZ       512 /* endpoint 6 max packet size */
+#define LA2016_USB_BUFSZ       (256 * 2 * LA2016_EP6_PKTSZ) /* 256KB buffer */
+
 #define MAX_RENUM_DELAY_MS     3000
 #define DEFAULT_TIMEOUT_MS      200