X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fkingst-la2016%2Fprotocol.h;h=09e12be6577d8739b860745a152f7f67648b0a4c;hb=1cadb5ecc134e3426c453b31e6c11c43b57f9616;hp=58998b24290bd0b9f7251f48e376aa86384822bf;hpb=8b172e78f6b9643cd62384df87459acb71f60d62;p=libsigrok.git diff --git a/src/hardware/kingst-la2016/protocol.h b/src/hardware/kingst-la2016/protocol.h index 58998b24..09e12be6 100644 --- a/src/hardware/kingst-la2016/protocol.h +++ b/src/hardware/kingst-la2016/protocol.h @@ -37,6 +37,16 @@ #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