quick_usb 0.3.0 copy "quick_usb: ^0.3.0" to clipboard
quick_usb: ^0.3.0 copied to clipboard

outdated

A cross-platform USB plugin for Flutter

quick_usb #

A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter

Usage #

List devices #

await QuickUsb.init();
// ...
var deviceList = await QuickUsb.getDeviceList();
// ...
await QuickUsb.exit();

List devices with additional description #

Returns devices list with manufacturer, product and serial number description.

Any of these attributes can be null.

On Android user will be asked for permission for each device if needed.

var descriptions = await QuickUsb.getDevicesWithDescription();
var deviceList = descriptions.map((e) => e.device).toList();
print('descriptions $descriptions');

Get device description #

Returns manufacturer, product and serial number description for specified device.

Any of these attributes can be null.

On Android user will be asked for permission if needed.

 var description = await QuickUsb.getDeviceDescription(device);
 print('description ${description.toMap()}');

Check/Request permission #

Android Only

var hasPermission = await QuickUsb.hasPermission(device);
print('hasPermission $hasPermission');
// ...
await QuickUsb.requestPermission(device);

Open/Close device #

var openDevice = await QuickUsb.openDevice(device);
print('openDevice $openDevice');
// ...
await QuickUsb.closeDevice();

Get/Set configuration #

var configuration = await QuickUsb.getConfiguration(index);
print('getConfiguration $configuration');
// ...
var setConfiguration = await QuickUsb.setConfiguration(configuration);
print('setConfiguration $getConfiguration');

Claim/Release interface #

var claimInterface = await QuickUsb.claimInterface(interface);
print('claimInterface $claimInterface');
// ...
var releaseInterface = await QuickUsb.releaseInterface(interface);
print('releaseInterface $releaseInterface');

Bulk transfer in/out #

var bulkTransferIn = await QuickUsb.bulkTransferIn(endpoint, 1024);
print('bulkTransferIn ${hex.encode(bulkTransferIn)}');
// ...
var bulkTransferOut = await QuickUsb.bulkTransferOut(endpoint, data);
print('bulkTransferOut $bulkTransferOut');