Class: UsbDeviceDev

api/hardware/framework/dev/EvamUsbManagerDev.UsbDeviceDev

Usb device accessible from the Evam platform

Implements

Constructors

constructor

new UsbDeviceDev(usb, dev, serialNumber, productId, productName, vendorId, version, classCode, subclassCode, protocolCode)

Parameters

Name

Type

usb

USB

dev

USBDevice

serialNumber

string

productId

number

productName

string

vendorId

number

version

string

classCode

number

subclassCode

number

protocolCode

number

Properties

classCode

Readonly classCode: number

Device class code

Implementation of

UsbDevice.classCode


productId

Readonly productId: number

Device product ID

Implementation of

UsbDevice.productId


productName

Readonly productName: string

Device product name

Implementation of

UsbDevice.productName


protocolCode

Readonly protocolCode: number

Device protocol code

Implementation of

UsbDevice.protocolCode


serialNumber

Readonly serialNumber: string

Device serial number

Implementation of

UsbDevice.serialNumber


subclassCode

Readonly subclassCode: number

Device sub class code

Implementation of

UsbDevice.subclassCode


vendorId

Readonly vendorId: number

Device vendor ID

Implementation of

UsbDevice.vendorId


version

Readonly version: string

Device USB version as “major.minor.sub-minor”

Implementation of

UsbDevice.version

Methods

claimInterface

claimInterface(interfaceNumber, force): Promise<void>

Claims an interface by its number for exclusive communication access

Parameters

Name

Type

Description

interfaceNumber

number

The interface number from [UsbInterface]

force

boolean

Set to true to make an attempt at enforcing the claim

Returns

Promise<void>

Implementation of

UsbDevice.claimInterface


close

close(): Promise<void>

Close a device once it is no longer needed

Returns

Promise<void>

Implementation of

UsbDevice.close


controlTransferIn

controlTransferIn(requestType, recipient, request, value, index, length, timeout): Promise<UsbTransferResult>

Perform a control transfer - IN direction (data read)

Parameters

Name

Type

Description

requestType

USBRequestType

The request type: “standard”, “class” or “vendor”

recipient

USBRecipient

The recipient: “device” | “interface” | “endpoint” | “other”

request

number

The request byte

value

number

The value byte

index

number

The index for the request

length

number

The request length

timeout

number

timeout in milliseconds

Returns

Promise<UsbTransferResult>

Implementation of

UsbDevice.controlTransferIn


controlTransferOut

controlTransferOut(requestType, recipient, request, value, index, data, timeout): Promise<UsbTransferResult>

Perform a control transfer - OUT direction (data write)

Parameters

Name

Type

Description

requestType

USBRequestType

The request type: “standard”, “class” or “vendor”

recipient

USBRecipient

The recipient: “device” | “interface” | “endpoint” | “other”

request

number

The request byte

value

number

The value byte

index

number

The index for the request

data

Uint8Array

The data to be written

timeout

number

The timeout in milliseconds

Returns

Promise<UsbTransferResult>

Implementation of

UsbDevice.controlTransferOut


forget

forget(): Promise<void>

Release the authorization for this device, access will have to be requested again.

Returns

Promise<void>

Implementation of

UsbDevice.forget


getInterfaces

getInterfaces(): UsbInterface[]

Get the interfaces this device has

Returns

UsbInterface[]

Implementation of

UsbDevice.getInterfaces


open

open(): Promise<void>

Open the device for communication

Returns

Promise<void>

Implementation of

UsbDevice.open


releaseInterface

releaseInterface(interfaceNumber): Promise<void>

Release an interface once communication is no longer needed

Parameters

Name

Type

Description

interfaceNumber

number

The interface number from [UsbInterface]

Returns

Promise<void>

Implementation of

UsbDevice.releaseInterface


transferIn

transferIn(endpointNumber, length, timeout): Promise<UsbTransferResult>

Perform a bulk transfer - IN direction (data read)

Parameters

Name

Type

Description

endpointNumber

number

The endpoint number to be targeted

length

number

The transfer length

timeout

number

The timeout in milliseconds

Returns

Promise<UsbTransferResult>

Implementation of

UsbDevice.transferIn


transferOut

transferOut(endpointNumber, data, timeout): Promise<UsbTransferResult>

Perform a bulk transfer - OUT direction (data write)

Parameters

Name

Type

Description

endpointNumber

number

The endpoint number to be targeted

data

Uint8Array

The data bytes to be written

timeout

number

The timeout in milliseconds

Returns

Promise<UsbTransferResult>

Implementation of

UsbDevice.transferOut