Object with fields from the endpoint descriptor -- see libusb documentation or USB spec.
Protected
deviceEndpoint direction.
Protected
pollProtected
pollProtected
pollSets the timeout in milliseconds for transfers on this endpoint. The default, 0
, is infinite timeout.
Endpoint type: usb.LIBUSB_TRANSFER_TYPE_BULK
, usb.LIBUSB_TRANSFER_TYPE_INTERRUPT
, or usb.LIBUSB_TRANSFER_TYPE_ISOCHRONOUS
.
Clear the halt/stall condition for this endpoint.
Create a new Transfer
object for this endpoint.
The passed callback will be called when the transfer is submitted and finishes. Its arguments are the error (if any), the submitted buffer, and the amount of data actually written (for OUT transfers) or read (for IN transfers).
Timeout for the transfer (0 means unlimited).
Transfer completion callback.
Start polling the endpoint.
The library will keep nTransfers
transfers of size transferSize
pending in the kernel at all times to ensure continuous data flow.
This is handled by the libusb event thread, so it continues even if the Node v8 thread is busy. The data
and error
events are emitted as transfers complete.
The device must be open to use this method.
Optional
nTransfers: numberOptional
transferSize: numberOptional
callback: ((error: undefined | LibUSBException, buffer: Buffer, actualLength: number, cancelled: boolean) => void)Protected
startPerform a transfer to read data from the endpoint.
If length is greater than maxPacketSize, libusb will automatically split the transfer in multiple packets, and you will receive one callback with all data once all packets are complete.
this
in the callback is the InEndpoint object.
The device must be open to use this method.
Optional
data: Buffer
Endpoints in the IN direction (device->PC) have this type.