Platforms to show: All Mac Windows Linux Cross-Platform
LibUSBTransferMBS class
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| class | USB | MBS USB Plugin | 22.2 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The user populates this class and then submits it in order to request a transfer. After the transfer has completed, the library populates the transfer with the results and passes it back to the user.
Please check LibUSB documentation and examples for asynchronous transfers.
- event Completed
- 11 properties
- property ActualLength as Integer
- property Buffer as MemoryBlock
- property Device as LibUSBDeviceMBS
- property Endpoint as Integer
- property Flags as Integer
- property ISOPackets as Integer
- property Length as Integer
- property Status as Integer
- property Tag as Variant
- property Timeout as Integer
- property Type as Integer
- 14 methods
- method Cancel as Integer
- method Constructor(ISOPackets as Integer = 0)
- method ControlTransferGetData as Ptr
- method ControlTransferGetSetup as Ptr
- method FillBulkStreamTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, StreamId as Integer, Buffer as MemoryBlock, Timeout as Integer)
- method FillBulkTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, Buffer as MemoryBlock, Timeout as Integer)
- method FillControlSetup(Buffer as MemoryBlock, RequestType as Integer, Request as Integer, Value as Integer, Index as Integer, Length as Integer)
- method FillControlTransfer(Device as LibUSBDeviceMBS, Buffer as MemoryBlock, Timeout as Integer)
- method FillInterruptTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, Buffer as MemoryBlock, Timeout as Integer)
- method FillISOTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, Buffer as MemoryBlock, NumISOPackets as Integer, Timeout as Integer)
- method ISOPacketBuffer(Index as Integer) as Ptr
- method ISOPacketDescriptor(index as Integer) as LibUSBISOPacketDescriptorMBS
- method SetISOPacketLengths(Length as UInt32)
- method Submit as Integer
- 14 constants
Flags
| Constant | Value | Description |
|---|---|---|
| kTransferFlagsAddZeroPacket | 4 | Terminate transfers that are a multiple of the endpoint's MaxPacketSize with an extra zero length packet. more |
| kTransferFlagsShortNotOK | 1 |
Report short frames as errors. |
Status Codes
| Constant | Value | Description |
|---|---|---|
| kTransferStatusCancelled | 3 |
Transfer was cancelled. |
| kTransferStatusCompleted | 0 |
Transfer completed without error. Note that this does not indicate that the entire amount of requested data was transferred. |
| kTransferStatusError | 1 |
Transfer failed |
| kTransferStatusNoDevice | 5 |
Device was disconnected |
| kTransferStatusOverflow | 6 |
Device sent more data than requested |
| kTransferStatusStall | 4 |
For bulk/interrupt endpoints: halt condition detected (endpoint stalled). For control endpoints: control request not supported. |
| kTransferStatusTimeout | 2 |
Transfer timed out. |
Transfer Types
| Constant | Value | Description |
|---|---|---|
| kTransferTypeBulk | 2 |
Bulk endpoint |
| kTransferTypeBulkStream | 4 |
Stream endpoint. |
| kTransferTypeControl | 0 |
Control endpoint |
| kTransferTypeInterrupt | 3 |
Interrupt endpoint |
| kTransferTypeISOChronous | 1 |
Isochronous endpoint |
This class has no sub classes.
Blog Entries
- MonkeyBread Software Releases the MBS Xojo Plugins in version 24.4
- MBS Xojo Plugins, version 24.4pr1
- News from the MBS Xojo Plugins Version 22.2
Release notes
- Version 24.4
- Improved events for LibUSBTransferMBS class on Linux 32-bit.
Some related classes:
The items on this page are in the following plugins: MBS USB Plugin.
LibUSBISOPacketDescriptorMBS - LibUSBVersionMBS