usb_device 1.0.0 usb_device: ^1.0.0 copied to clipboard
Flutter plugin for connecting/accessing usb device.
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 #
- ✅ getDevices() : Get paired attached devices
- ✅ requestDevice(filters): pair a device with filter or not
USBDevice #
- ✅ Get device info with configuration
- ✅ open(): Start session
- ✅ close(): Close session
- ✅ selectConfiguration(configurationValue): Select a specified configuration
- ✅ claimInterface(interfaceNumber): Claim an interface for exclusive access
- ✅ releaseInterface(interfaceNumber): Release a claimed interface
- ✅ controlTransferIn(setup, length): Return result of a command
- ✅ controlTransferOut(setup, data) : Send a command to device
- ✅ transferIn(): Return data from device
- ✅ transferOut(): Send data to device
- ✅ clearHalt()
- ✅ reset(): Reset device
- ✅ isochronousTransferIn()
- ✅ isochronousTransferOut()
Events #
- ✅ OnConnect
- ✅ OnDisconnect