- USB 3.0 IO API for the browser. Works only over HTTPS (not localhost).
- https://developer.mozilla.org/en-US/docs/Web/API/USB
- Experimental, see https://caniuse.com/webusb
Types
USBDevice = ref object of JsRoot deviceClass*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/deviceClass deviceProtocol*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/deviceProtocol deviceSubclass*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/deviceSubclass deviceVersionMajor*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/deviceVersionMajor deviceVersionMinor*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/deviceVersionMinor deviceVersionSubminor*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/deviceVersionSubminor manufacturerName*: cstring ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/manufacturerName opened*: bool ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/opened productId: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/productID productName*: cstring ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/productName serialNumber*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/serialNumber usbVersionMajor*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/usbVersionMajor usbVersionMinor*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/usbVersionMinor usbVersionSubminor*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/usbVersionSubminor vendorID*: SomeNumber ## https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/vendorID
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice
Procs
func claimInterface(self: USBDevice; interfaceNumber: SomeNumber) {. importjs: "(await #.$1(#))", discardable, ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/claimInterface
func clearHalt(self: USBDevice; direction: cstring; endpointNumber: SomeNumber) {. importjs: "(await #.$1(#, #))", discardable, ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/clearHalt
func close(self: USBDevice) {.importjs: "(await #.$1())", discardable, ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/close
func getDevices(): seq[USBDevice] {.importjs: "(await navigator.usb.$1() || [])", ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USB/getDevices
func releaseInterface(self: USBDevice; interfaceNumber: SomeNumber) {. importjs: "(await #.$1(#))", discardable, ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/releaseInterface
func requestDevice(productId: SomeNumber): seq[USBDevice] {. importjs: "(await navigator.usb.$1([{productId: #}]) || [])", ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USB/requestDevice
func requestDevice(serialNumber: SomeNumber): seq[USBDevice] {. importjs: "(await navigator.usb.$1([{serialNumber: #}]) || [])", ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USB/requestDevice
func requestDevice(vendorId: SomeNumber): seq[USBDevice] {. importjs: "(await navigator.usb.$1([{vendorId: #}]) || [])", ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USB/requestDevice
func reset(self: USBDevice) {.importjs: "(await #.$1())", discardable, ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/reset
func selectConfiguration(self: USBDevice; configurationValue: SomeNumber) {. importjs: "(await #.$1(#))", discardable, ...raises: [], tags: [].}
- https://developer.mozilla.org/en-US/docs/Web/API/USBDevice/selectConfiguration