USB Device plugin
Developed with 💙 by Apparence.io
This plugin provide access to USB devices from web pages with WebUSB.
Platform Support
| Android | iOS | MacOS | Web | Linux | Windows |
|---|---|---|---|---|---|
| ➖ | ➖ | ➖ | ✔️ | ➖ | ➖ |
Usage
import 'package:usb_device/usb_device.dart';
final UsbDevice usbDevice = UsbDevice();
var pairedDevices = await usbDevice.pairedDevices; // get paired devices
var pairedDevice = await usbDevice.requestDevices([DeviceFilter(vendorId : 0x00, productId: 0x00)]); // par a device
List<USBConfiguration> availableConfigurations = await usbDevice.getAvailableConfigurations(pairedDevice); // get device's configurations
USBDeviceInfo deviceInfo = await usbDevice.getPairedDeviceInfo(pairedDevice); // get device's info
await usbDevice.open(pairedDevice); // start session
await usbDevice.close(pairedDevice); // close session
Implementation
USB
xgetDevices() : Get paired attached devicesxrequestDevice(filters): pair a device with filter or not
USBDevice
xGet device info with configurationxopen(): Start sessionxclose(): Close sessionxselectConfiguration(configurationValue): Select a specified configurationxclaimInterface(interfaceNumber): Claim an interface for exclusive accessxreleaseInterface(interfaceNumber): Release a claimed interfacexcontrolTransferIn(setup, length): Return result of a commandxcontrolTransferOut(setup, data) : Send a command to devicextransferIn(): Return data from devicextransferOut(): Send data to devicexclearHalt()xreset(): Reset devicexisochronousTransferIn()xisochronousTransferOut()
Events
xOnConnectxOnDisconnect
