kechankrisna / webUSB_plugin

A flutter webusb plugin

Home Page:https://pub.dev/packages/usb_device

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License: MIT pub dev webusb

WebUSB plugin

Apparence.io logo

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

About

A flutter webusb plugin

https://pub.dev/packages/usb_device


Languages

Language:Dart 48.7%Language:C++ 24.7%Language:CMake 15.4%Language:HTML 3.8%Language:Ruby 2.7%Language:JavaScript 1.9%Language:C 1.4%Language:Swift 1.2%Language:Kotlin 0.1%Language:Objective-C 0.0%