Changes

378 bytes added ,  01:13, 9 October 2017
Line 223: Line 223:  
This structure matches [http://libusb.sourceforge.net/api-1.0/structlibusb__endpoint__descriptor.html libusb_endpoint_descriptor].
 
This structure matches [http://libusb.sourceforge.net/api-1.0/structlibusb__endpoint__descriptor.html libusb_endpoint_descriptor].
   −
The buffer size must be >=0x7. Only the first 0x7-bytes from the buffer are used. Byte0(bLength) must match 0x7, and byte1(bDescriptorType) must match 0x5. Byte2(bEndpointAddress) is only compared with 0x80 to determine whether to use an input or output endpoint, the actual endpoint-number is allocated automatically by checking state. Hence, all input endpoints must use bEndpointAddress==0x80.
+
The buffer size must be >=0x7. Only the first 0x7-bytes from the buffer are used.
 +
* Byte0(bLength) must match 0x7.
 +
* Byte1(bDescriptorType) must match 0x5.
 +
* Byte2(bEndpointAddress) is only compared with 0x80 to determine whether to use an input or output endpoint, the actual endpoint-number is allocated automatically by checking state. Hence, all input endpoints must use bEndpointAddress==0x80. Up to endpoint-number 0xF can be allocated for each endpoint-direction, for a total of 16 endpoints including control, and 15 for non-control endpoints([[#IDsEndpoint]] sessions for each direction). This matches the Tegra maximum.
 +
 
 +
From the Tegra datasheet: "The maximum packet size supported on any endpoint is 1024 bytes in high-speed mode, for both device and host modes."
    
=== GetSetupEvent ===
 
=== GetSetupEvent ===