Beschrijving
Gebruik de chrome.usb
API om te communiceren met aangesloten USB-apparaten. Deze API biedt toegang tot USB-bewerkingen vanuit de context van een app. Met behulp van deze API kunnen apps functioneren als stuurprogramma's voor hardwareapparaten. Fouten die door deze API worden gegenereerd, worden gerapporteerd door runtime.lastError
in te stellen en de reguliere callback van de functie uit te voeren. De reguliere parameters van de callback zijn in dit geval niet gedefinieerd.
Machtigingen
usb
Soorten
ConfigDescriptor
Eigenschappen
- actief
Booleaans
Chroom 47+Is dit de actieve configuratie?
- configuratieWaarde
nummer
Het configuratienummer.
- beschrijving
tekenreeks optioneel
Beschrijving van de configuratie.
- extra_gegevens
ArrayBuffer
Extra descriptorgegevens die aan deze configuratie zijn gekoppeld.
- interfaces
Beschikbare interfaces.
- max. vermogen
nummer
Het maximale vermogen dat dit apparaat nodig heeft, in milliampère (mA).
- op afstand wakker worden
Booleaans
Het apparaat ondersteunt ontwaken op afstand.
- zelfaangedreven
Booleaans
Het apparaat is zelfvoorzienend.
ConnectionHandle
Eigenschappen
- hendel
nummer
Een ondoorzichtig handvat dat deze verbinding met het USB-apparaat en alle bijbehorende geclaimde interfaces en lopende overdrachten vertegenwoordigt. Elke keer dat het apparaat wordt geopend, wordt er een nieuwe handgreep gemaakt. De verbindingshandle is anders dan
Device.device
. - productId
nummer
De product-ID.
- leverancierId
nummer
De leverancier-ID van het apparaat.
ControlTransferInfo
Eigenschappen
- gegevens
ArrayBuffer optioneel
De gegevens die moeten worden verzonden (alleen vereist bij uitvoeroverdrachten).
- richting
De overdrachtsrichting (
"in"
of"out"
). - index
nummer
Het veld
wIndex
, zie Ibid . - lengte
nummer optioneel
Het maximale aantal te ontvangen bytes (alleen vereist bij invoeroverdrachten).
- ontvanger
Het transferdoel. Het door
index
opgegeven doel moet worden geclaimd als"interface"
of"endpoint"
. - verzoek
nummer
Het veld
bRequest
, zie Universal Serial Bus-specificatie revisie 1.1 § 9.3. - verzoekType
Het verzoektype.
- time-out
nummer optioneel
Chroom 43+Time-out aanvragen (in milliseconden). De standaardwaarde
0
geeft aan dat er geen time-out is. - waarde
nummer
Het
wValue
veld, zie Ibid .
Device
Eigenschappen
- apparaat
nummer
Een ondoorzichtige ID voor het USB-apparaat. Het blijft ongewijzigd totdat het apparaat wordt losgekoppeld.
- fabrikantNaam
snaar
Chroom 46+De iManufacturer-reeks die van het apparaat wordt gelezen, indien beschikbaar.
- productId
nummer
De product-ID.
- productnaam
snaar
Chroom 46+De iProduct-tekenreeks die van het apparaat wordt gelezen, indien beschikbaar.
- serienummer
snaar
Chroom 46+De iSerialNumber-reeks die van het apparaat wordt gelezen, indien beschikbaar.
- leverancierId
nummer
De leverancier-ID van het apparaat.
- versie
nummer
Chroom 51+De apparaatversie (veld bcdDevice).
DeviceFilter
Eigenschappen
- interfaceKlasse
nummer optioneel
USB-interfaceklasse, komt overeen met elke interface op het apparaat.
- interfaceProtocol
nummer optioneel
USB-interfaceprotocol, alleen gecontroleerd als de interface-subklasse overeenkomt.
- interfaceSubklasse
nummer optioneel
Subklasse USB-interface, alleen gecontroleerd als de interfaceklasse overeenkomt.
- productId
nummer optioneel
Apparaatproduct-ID, alleen gecontroleerd als de leveranciers-ID overeenkomt.
- leverancierId
nummer optioneel
Leveranciers-ID van apparaat.
DevicePromptOptions
Eigenschappen
- filters
DeviceFilter [] optioneel
Filter de lijst met apparaten die aan de gebruiker wordt gepresenteerd. Als er meerdere filters beschikbaar zijn, worden apparaten die overeenkomen met een filter weergegeven.
- meerdere
Booleaans optioneel
Sta de gebruiker toe om meerdere apparaten te selecteren.
Direction
Direction, Recipient, RequestType en TransferType verwijzen allemaal naar hun naamgenoten binnen de USB-specificatie.
Enum
"in" "uit"
EndpointDescriptor
Eigenschappen
- adres
nummer
Eindpunt adres.
- richting
Overdracht richting.
- extra_gegevens
ArrayBuffer
Extra descriptorgegevens die aan dit eindpunt zijn gekoppeld.
- maximale pakketgrootte
nummer
Maximale pakketgrootte.
- pollingInterval
nummer optioneel
Polling-interval (alleen interrupt en isochroon).
- synchronisatie
Synchronisatietype optioneel
Overdrachtsynchronisatiemodus (alleen isochroon).
- type
Overdrachtstype.
- gebruik
Gebruikstype optioneel
Tip voor eindpuntgebruik.
EnumerateDevicesAndRequestAccessOptions
Eigenschappen
- interfaceId
nummer optioneel
De interface-ID waartoe toegang moet worden aangevraagd. Alleen beschikbaar op Chrome OS. Het heeft geen effect op andere platforms.
- productId
nummer
De product-ID.
- leverancierId
nummer
De leverancier-ID van het apparaat.
EnumerateDevicesOptions
Eigenschappen
- filters
DeviceFilter [] optioneel
Een apparaat dat aan een bepaald filter voldoet, wordt geretourneerd. Een lege filterlijst retourneert alle apparaten waarvoor de app toestemming heeft.
- productId
nummer optioneel
AfgekeurdGelijk aan het instellen
DeviceFilter.productId
. - leverancierId
nummer optioneel
AfgekeurdGelijk aan het instellen van
DeviceFilter.vendorId
.
GenericTransferInfo
Eigenschappen
- gegevens
ArrayBuffer optioneel
De gegevens die moeten worden verzonden (alleen vereist bij uitvoeroverdrachten).
- richting
De overdrachtsrichting (
"in"
of"out"
). - eindpunt
nummer
Het doeleindpuntadres. De interface die dit eindpunt bevat, moet worden geclaimd.
- lengte
nummer optioneel
Het maximale aantal te ontvangen bytes (alleen vereist bij invoeroverdrachten).
- time-out
nummer optioneel
Chroom 43+Time-out aanvragen (in milliseconden). De standaardwaarde
0
geeft aan dat er geen time-out is.
InterfaceDescriptor
Eigenschappen
- alternatieveInstelling
nummer
Het alternatieve instellingsnummer van de interface (standaard ingesteld op
0
- beschrijving
tekenreeks optioneel
Beschrijving van de interface.
- eindpunten
Beschikbare eindpunten.
- extra_gegevens
ArrayBuffer
Extra descriptorgegevens die aan deze interface zijn gekoppeld.
- interfaceKlasse
nummer
De USB-interfaceklasse.
- interfaceNummer
nummer
Het interfacenummer.
- interfaceProtocol
nummer
Het USB-interfaceprotocol.
- interfaceSubklasse
nummer
De subklasse USB-interface.
IsochronousTransferInfo
Eigenschappen
- pakketLengte
nummer
De lengte van elk van de pakketten in deze overdracht.
- pakketten
nummer
Het totale aantal pakketten in deze overdracht.
- overdrachtInfo
Overdrachtsparameters. De overdrachtslengte of gegevensbuffer die in dit parameterblok is gespecificeerd, wordt gesplitst langs
packetLength
om de individuele pakketten van de overdracht te vormen.
Recipient
Enum
"apparaat" "interface" "eindpunt" "ander"
RequestType
Enum
"standaard" "klas" "leverancier" "gereserveerd"
SynchronizationType
Voor interrupt- en isochrone modi worden SynchronizationType en UsageType toegewezen aan hun naamgenoten binnen de USB-specificatie.
Enum
"asynchroon" "adaptief" "synchroon"
TransferResultInfo
Eigenschappen
- gegevens
ArrayBuffer optioneel
De gegevens die worden geretourneerd door een invoeroverdracht.
undefined
voor uitvoeroverdrachten. - resultaatCode
nummer optioneel
Een waarde van
0
geeft aan dat de overdracht een succes was. Andere waarden duiden op een storing.
TransferType
Enum
"controle" "onderbreken" "isochroon" "bulk"
UsageType
Enum
"gegevens" "feedback" "expliciete feedback" "periodiek" "kennisgeving"
Methoden
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
Voert een bulkoverdracht uit op het opgegeven apparaat.
Parameters
- hendel
Een open verbinding met het apparaat.
- overdrachtInfo
De overdrachtsparameters.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(info: TransferResultInfo) => void
- informatie
Retouren
Beloof < TransferResultInfo >
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
Claimt een interface op een USB-apparaat. Voordat gegevens kunnen worden overgedragen naar een interface of bijbehorende eindpunten, moet de interface worden geclaimd. Er kan op elk moment slechts één verbindingshandle een interface claimen. Als de interface al is geclaimd, mislukt deze oproep.
releaseInterface
moet worden aangeroepen wanneer de interface niet langer nodig is.
Parameters
- hendel
Een open verbinding met het apparaat.
- interfaceNummer
nummer
De interface die moet worden geclaimd.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
)
Sluit een verbindingsgreep. Het uitvoeren van bewerkingen op een kruk nadat deze is gesloten, is een veilige handeling, maar heeft tot gevolg dat er geen actie wordt ondernomen.
Parameters
- hendel
De
ConnectionHandle
om te sluiten. - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
)
Voert een besturingsoverdracht uit op het opgegeven apparaat.
Controleoverdrachten hebben betrekking op het apparaat, een interface of een eindpunt. Voor overdrachten naar een interface of eindpunt moet de interface worden geclaimd.
Parameters
- hendel
Een open verbinding met het apparaat.
- overdrachtInfo
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(info: TransferResultInfo) => void
- informatie
Retouren
Beloof < TransferResultInfo >
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
)
Vindt USB-apparaten gespecificeerd door de leverancier, het product en (optioneel) interface-ID's en opent deze, indien de machtigingen dit toestaan, voor gebruik.
Als het toegangsverzoek wordt afgewezen of het apparaat niet kan worden geopend, wordt er geen verbindingshandle gemaakt of geretourneerd.
Het aanroepen van deze methode is gelijk aan het aanroepen getDevices
gevolgd door openDevice
voor elk apparaat.
Parameters
De eigenschappen waarnaar moet worden gezocht op doelapparaten.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(handles: ConnectionHandle[]) => void
- handvatten
Retouren
Belofte< VerbindingHandle []>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
)
Haalt de configuratiedescriptor op voor de momenteel geselecteerde configuratie.
Parameters
- hendel
Een open verbinding met het apparaat.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(config: ConfigDescriptor) => void
- configuratie
Retouren
Belofte <ConfigDescriptor>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
)
Retourneert de volledige set apparaatconfiguratiedescriptors.
Parameters
- apparaat
Het
Device
waarvan de descriptors moeten worden opgehaald. - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(configs: ConfigDescriptor[]) => void
- configuraties
Retouren
Beloof < ConfigDescriptor []>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
)
Somt aangesloten USB-apparaten op.
Parameters
Retouren
Beloof < Apparaat []>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
)
Presenteert een apparaatkiezer aan de gebruiker en retourneert het geselecteerde Device
. Als de gebruiker annuleert, zijn de kiezerapparaten leeg. Er is een gebruikersgebaar vereist om het dialoogvenster weer te geven. Zonder een gebruikersgebaar verloopt het terugbellen alsof de gebruiker heeft geannuleerd.
Parameters
Retouren
Beloof < Apparaat []>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
Voert een interruptoverdracht uit op het opgegeven apparaat.
Parameters
- hendel
Een open verbinding met het apparaat.
- overdrachtInfo
De overdrachtsparameters.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(info: TransferResultInfo) => void
- informatie
Retouren
Beloof < TransferResultInfo >
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
)
Voert een isochrone overdracht uit op het specifieke apparaat.
Parameters
- hendel
Een open verbinding met het apparaat.
- overdrachtInfo
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(info: TransferResultInfo) => void
- informatie
Retouren
Beloof < TransferResultInfo >
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
)
Geeft een overzicht van alle interfaces op een USB-apparaat.
Parameters
- hendel
Een open verbinding met het apparaat.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(descriptors: InterfaceDescriptor[]) => void
- beschrijvingen
Retouren
Beloof < InterfaceDescriptor []>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
)
Opent een USB-apparaat dat wordt geretourneerd door getDevices
.
Parameters
- apparaat
Het
Device
dat moet worden geopend. - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(handle: ConnectionHandle) => void
- hendel
Retouren
Belofte <VerbindingHandle>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
Geeft een geclaimde interface vrij.
Parameters
- hendel
Een open verbinding met het apparaat.
- interfaceNummer
nummer
De interface die moet worden vrijgegeven.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
)
Deze functie was specifiek voor Chrome OS en het aanroepen ervan op andere platforms zou mislukken. Deze bewerking wordt nu impliciet uitgevoerd als onderdeel van openDevice
en deze functie retourneert true
op alle platforms.
Vraagt toegang aan de toestemmingsmakelaar tot een apparaat dat door Chrome OS wordt geclaimd als de gegeven interface op het apparaat niet wordt geclaimd.
Parameters
- apparaat
Het
Device
waartoe toegang moet worden aangevraagd. - interfaceId
nummer
De specifieke gevraagde interface.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(success: boolean) => void
- succes
Booleaans
Retouren
Beloof<boolean>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
)
Probeert het USB-apparaat te resetten. Als het opnieuw instellen mislukt, wordt de gegeven verbindingsgreep gesloten en lijkt het alsof het USB-apparaat is losgekoppeld en vervolgens opnieuw is aangesloten. In dit geval moet getDevices
of findDevices
opnieuw worden aangeroepen om het apparaat te verkrijgen.
Parameters
- hendel
Een verbindingshandvat om te resetten.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(success: boolean) => void
- succes
Booleaans
Retouren
Beloof<boolean>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
)
Selecteer een apparaatconfiguratie.
Deze functie reset het apparaat effectief door een van de beschikbare configuraties van het apparaat te selecteren. Alleen configuratiewaarden groter dan 0
zijn geldig, maar sommige apparaten met fouten hebben een werkende configuratie 0
en deze waarde is dus toegestaan.
Parameters
- hendel
Een open verbinding met het apparaat.
- configuratieWaarde
nummer
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
)
Selecteert een alternatieve instelling op een eerder geclaimde interface.
Parameters
- hendel
Een open verbinding met het apparaat waarop deze interface is geclaimd.
- interfaceNummer
nummer
De interface om te configureren.
- alternatieveInstelling
nummer
De alternatieve instelling om te configureren.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 116+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
Evenementen
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
Gebeurtenis gegenereerd wanneer een apparaat aan het systeem wordt toegevoegd. Gebeurtenissen worden alleen uitgezonden naar apps en extensies die toestemming hebben om toegang te krijgen tot het apparaat. Toestemming kan zijn verleend tijdens de installatie, toen de gebruiker een optionele toestemming accepteerde (zie permissions.request
), of via getUserSelectedDevices
.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(device: Device) => void
- apparaat
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
Gebeurtenis die wordt gegenereerd wanneer een apparaat uit het systeem wordt verwijderd. Zie onDeviceAdded
voor welke evenementen worden geleverd.