Açıklama
Bağlı USB cihazlarıyla etkileşim kurmak için chrome.usb API'sini kullanın. Bu API, bir uygulama bağlamından USB işlemlerine erişim sağlar. Uygulamalar bu API'yi kullanarak donanım cihazları için sürücü işlevi görebilir. Bu API tarafından oluşturulan hatalar, runtime.lastError ayarlanarak ve işlevin normal geri çağırma işlevi yürütülerek bildirilir. Bu durumda, geri çağırmanın normal parametreleri tanımlanmaz.
İzinler
usbKullanılabilirlik
Türler
ConfigDescriptor
Özellikler
-
etkin
boole
Chrome 47 ve sonraki sürümlerBu etkin yapılandırma mı?
-
configurationValue
sayı
Yapılandırma numarası.
-
açıklama
string isteğe bağlı
Yapılandırmanın açıklaması.
-
extra_data
ArrayBuffer
Bu yapılandırmayla ilişkili ek tanımlayıcı veriler.
-
arayüzler
Kullanılabilir arayüzler.
-
maxPower
sayı
Bu cihazın ihtiyaç duyduğu maksimum güç (miliamper (mA) cinsinden).
-
remoteWakeup
boole
Cihaz, uzaktan uyandırmayı destekler.
-
selfPowered
boole
Cihaz kendi kendine çalışır.
ConnectionHandle
Özellikler
-
tanıtıcı
sayı
USB cihazıyla olan bu bağlantıyı ve tüm ilişkili talep edilen arayüzleri ve bekleyen aktarımları temsil eden opak bir tutma yeri. Cihaz her açıldığında yeni bir herkese açık kullanıcı adı oluşturulur. Bağlantı herkese açık kullanıcı adı
Device.devicedeğerinden farklı. -
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçi firma kimliği.
ControlTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Aktarılacak veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"veya"out"). -
indeks
sayı
wIndexalanı için Aynı kaynak bölümüne bakın. -
uzunluk
number isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
alıcı
Aktarım hedefi.
"interface"veya"endpoint"iseindextarafından verilen hedef için hak talebinde bulunulmalıdır. -
istek
sayı
bRequestalanı için Evrensel Seri Yol Spesifikasyonu Sürüm 1.1 § 9.3'e bakın. -
requestType
İstek türü.
-
Mola
number isteğe bağlı
Chrome 43 ve sonraki sürümlerİstek zaman aşımı (milisaniye cinsinden). Varsayılan değer olan
0, zaman aşımı olmadığını gösterir. -
value
sayı
wValuealanı için Aynı kaynak bölümüne bakın.
Device
Özellikler
-
cihaz
sayı
USB cihazı için opak bir kimlik. Cihazın fişi çekilene kadar bu durum değişmez.
-
manufacturerName
dize
Chrome 46+Varsa cihazdan okunan iManufacturer dizesi.
-
productId
sayı
Ürün kimliği.
-
productName
dize
Chrome 46+Cihazdan okunan iProduct dizesi (varsa).
-
serialNumber
dize
Chrome 46+Varsa cihazdan okunan iSerialNumber dizesi.
-
vendorId
sayı
Cihaz tedarikçi firma kimliği.
-
sürüm
sayı
Chrome 51+Cihaz sürümü (bcdDevice alanı).
DeviceFilter
Özellikler
-
interfaceClass
number isteğe bağlı
USB arayüz sınıfı, cihazdaki tüm arayüzlerle eşleşir.
-
interfaceProtocol
number isteğe bağlı
USB arayüz protokolü, yalnızca arayüz alt sınıfı eşleşirse kontrol edilir.
-
interfaceSubclass
number isteğe bağlı
USB arayüzü alt sınıfı, yalnızca arayüz sınıfı eşleşirse kontrol edilir.
-
productId
number isteğe bağlı
Cihaz ürün kimliği, yalnızca satıcı kimliği eşleşirse kontrol edilir.
-
vendorId
number isteğe bağlı
Cihaz tedarikçi kimliği.
DevicePromptOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Kullanıcıya sunulan cihaz listesini filtreleyin. Birden fazla filtre sağlanırsa herhangi bir filtreyle eşleşen cihazlar gösterilir.
-
çoklu
boole isteğe bağlı
Kullanıcının birden fazla cihaz seçmesine izin verin.
Direction
Direction, Recipient, RequestType ve TransferType, USB spesifikasyonundaki adaşlarıyla eşlenir.
Enum
"içinde"
"out"
EndpointDescriptor
Özellikler
-
adres
sayı
Uç nokta adresi.
-
direction
Aktarım yönü.
-
extra_data
ArrayBuffer
Bu uç noktayla ilişkili ek tanımlayıcı verileri.
-
maximumPacketSize
sayı
Maksimum paket boyutu.
-
pollingInterval
number isteğe bağlı
Sorgulama aralığı (yalnızca kesme ve eş zamanlı).
-
senkronizasyon
SynchronizationType isteğe bağlı
Aktarım senkronizasyon modu (yalnızca eş zamanlı).
-
tür
Aktarım türü.
-
kullanım
UsageType isteğe bağlı
Uç nokta kullanım ipucu.
EnumerateDevicesAndRequestAccessOptions
Özellikler
-
interfaceId
number isteğe bağlı
Erişim isteğinde bulunulacak arayüz kimliği. Yalnızca ChromeOS'te kullanılabilir. Diğer platformlar üzerinde etkisi yoktur.
-
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçi firma kimliği.
EnumerateDevicesOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Belirtilen filtrelerden herhangi biriyle eşleşen bir cihaz döndürülür. Boş bir filtre listesi, uygulamanın izin aldığı tüm cihazları döndürür.
-
productId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.productIdayarıyla aynıdır. -
vendorId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.vendorIdayarıyla aynıdır.
GenericTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Aktarılacak veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"veya"out"). -
uç nokta
sayı
Hedef uç nokta adresi. Bu uç noktayı içeren arayüz için hak talebinde bulunulmalıdır.
-
uzunluk
number isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
Mola
number isteğe bağlı
Chrome 43 ve sonraki sürümlerİstek zaman aşımı (milisaniye cinsinden). Varsayılan değer olan
0, zaman aşımı olmadığını gösterir.
InterfaceDescriptor
Özellikler
-
alternateSetting
sayı
Arayüz alternatif ayar numarası (varsayılan olarak
0 -
açıklama
string isteğe bağlı
Arayüzün açıklaması.
-
endpoints
Kullanılabilir uç noktalar.
-
extra_data
ArrayBuffer
Bu arayüzle ilişkili ek tanımlayıcı verileri.
-
interfaceClass
sayı
USB arayüz sınıfı.
-
interfaceNumber
sayı
Arayüz numarası.
-
interfaceProtocol
sayı
USB arayüz protokolü.
-
interfaceSubclass
sayı
USB arayüzü alt sınıfı.
IsochronousTransferInfo
Özellikler
-
packetLength
sayı
Bu aktarımdaki her bir paketin uzunluğu.
-
paketler
sayı
Bu aktarımdaki toplam paket sayısı.
-
transferInfo
Aktarım parametreleri. Bu parametre bloğunda belirtilen aktarım uzunluğu veya veri arabelleği, aktarımın ayrı paketlerini oluşturmak için
packetLengthsınırları boyunca bölünür.
Recipient
Enum
"device"
"interface"
"endpoint"
"diğer"
RequestType
Enum
"standard"
"class"
"vendor"
"reserved"
SynchronizationType
Kesme ve eşzamanlı modlar için SynchronizationType ve UsageType, USB spesifikasyonundaki adaşlarıyla eşleşir.
Enum
"asynchronous"
"adaptive"
"synchronous"
TransferResultInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Giriş aktarımı tarafından döndürülen veriler. Çıkış aktarımları için
undefined. -
resultCode
number isteğe bağlı
0değeri, aktarımın başarılı olduğunu gösterir. Diğer değerler başarısızlığı gösterir.
TransferType
Enum
"control"
"interrupt"
"isochronous"
"toplu"
UsageType
Enum
"data"
"feedback"
"explicitFeedback"
"periodic"
"notification"
Yöntemler
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirtilen cihazda toplu aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
transferInfo
Aktarım parametreleri.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
USB cihazda bir arayüz talep eder. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüzün hak talebinde bulunulması gerekir. Herhangi bir zamanda yalnızca bir bağlantı tanıtıcısı bir arayüz için hak talebinde bulunabilir. Arayüz zaten kullanılıyorsa bu çağrı başarısız olur.
Arayüze artık ihtiyaç duyulmadığında releaseInterface çağrılmalıdır.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
interfaceNumber
sayı
Talep edilecek arayüz.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<void>
Bağlantı tanıtıcısını kapatır. Kapandıktan sonra bir tutamaçta işlem çağırmak güvenli bir işlemdir ancak herhangi bir işlem yapılmasına neden olmaz.
Parametreler
-
tanıtıcı
Kapatmak için
ConnectionHandle. -
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirtilen cihazda kontrol aktarımı gerçekleştirir.
Kontrol aktarımları cihazı, arayüzü veya uç noktayı ifade eder. Bir arayüze veya uç noktaya aktarım yapabilmek için arayüzün hak talebinde bulunulması gerekir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
transferInfo
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
): Promise<ConnectionHandle[]>
Tedarikçi, ürün ve (isteğe bağlı olarak) arayüz kimlikleri tarafından belirtilen USB cihazlarını bulur ve izinler izin veriyorsa bunları kullanıma açar.
Erişim isteği reddedilirse veya cihaz açılamazsa bağlantı herkese açık kullanıcı adı oluşturulmaz veya döndürülmez.
Bu yöntemi çağırmak, her cihaz için getDevices ve ardından openDevice yöntemini çağırmakla eşdeğerdir.
Parametreler
-
seçenekler
Hedef cihazlarda aranacak özellikler.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(handles: ConnectionHandle[]) => void
-
herkese açık kullanıcı adları
-
İadeler
-
Promise<ConnectionHandle[]>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
): Promise<ConfigDescriptor>
Seçili yapılandırmanın yapılandırma tanımlayıcısını alır.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(config: ConfigDescriptor) => void
-
yapılandırma
-
İadeler
-
Promise<ConfigDescriptor>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
): Promise<ConfigDescriptor[]>
Cihaz yapılandırma tanımlayıcılarının tam grubunu döndürür.
Parametreler
-
cihaz
Tanımlayıcıların getirileceği
Device. -
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(configs: ConfigDescriptor[]) => void
-
configs
-
İadeler
-
Promise<ConfigDescriptor[]>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
): Promise<Device[]>
Bağlı USB cihazlarını listeler.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
Kullanıcıya bir cihaz seçici sunar ve seçilen Device değerini döndürür. Kullanıcı seçiciyi iptal ederse cihazlar boş olur. İletişim kutusunun gösterilmesi için kullanıcı hareketi gerekir. Kullanıcı hareketi olmadan geri çağırma, kullanıcı iptal etmiş gibi çalışır.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirtilen cihazda kesme aktarımı gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
transferInfo
Aktarım parametreleri.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirli bir cihazda eşzamanlı aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
transferInfo
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
): Promise<InterfaceDescriptor[]>
USB cihazındaki tüm arayüzleri listeler.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(descriptors: InterfaceDescriptor[]) => void
-
tanımlayıcılar
-
İadeler
-
Promise<InterfaceDescriptor[]>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
getDevices tarafından döndürülen bir USB cihazını açar.
Parametreler
-
cihaz
Açılacak
Device. -
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(handle: ConnectionHandle) => void
-
tanıtıcı
-
İadeler
-
Promise<ConnectionHandle>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
Hak talebinde bulunulan bir arayüzü serbest bırakır.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
interfaceNumber
sayı
Yayınlanacak arayüz.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
): Promise<boolean>
Bu işlev ChromeOS'e özgüydü ve diğer platformlarda çağrıldığında başarısız oluyordu. Bu işlem artık openDevice kapsamında dolaylı olarak gerçekleştirilir ve bu işlev tüm platformlarda true değerini döndürür.
Cihazdaki belirli arayüz talep edilmemişse izin aracısından Chrome OS tarafından talep edilen bir cihaza erişim ister.
Parametreler
-
cihaz
Erişim isteğinde bulunulacak
Device. -
interfaceId
sayı
İstenen belirli arayüz.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boole
-
İadeler
-
Promise<boolean>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<boolean>
USB cihazını sıfırlamaya çalışır. Sıfırlama başarısız olursa verilen bağlantı tanıtıcısı kapatılır ve USB cihazının bağlantısı kesilip yeniden bağlanmış gibi görünür. Bu durumda, cihazı edinmek için getDevices veya findDevices tekrar çağrılmalıdır.
Parametreler
-
tanıtıcı
Sıfırlanacak bağlantı tanıtıcısı.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boole
-
İadeler
-
Promise<boolean>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
): Promise<void>
Cihaz yapılandırması seçin.
Bu işlev, cihazın mevcut yapılandırmalarından birini seçerek cihazı etkili bir şekilde sıfırlar. Yalnızca 0 değerinden büyük yapılandırma değerleri geçerlidir ancak bazı hatalı cihazlarda çalışan bir yapılandırma 0 olduğundan bu değere izin verilir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı.
-
configurationValue
sayı
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
): Promise<void>
Daha önce talep edilen bir arayüzde alternatif bir ayar seçer.
Parametreler
-
tanıtıcı
Bu arayüzün talep edildiği cihazla açık bir bağlantı.
-
interfaceNumber
sayı
Yapılandırılacak arayüz.
-
alternateSetting
sayı
Yapılandırılacak alternatif ayar.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116+Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
Etkinlikler
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
Sisteme bir cihaz eklendiğinde oluşturulan etkinlik. Etkinlikler yalnızca cihaza erişim izni olan uygulamalara ve uzantılara yayınlanır. İzin, yükleme sırasında, kullanıcı isteğe bağlı bir izni kabul ettiğinde (bkz. permissions.request) veya getUserSelectedDevices aracılığıyla verilmiş olabilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(device: Device) => void
-
cihaz
-
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
Bir cihaz sistemden kaldırıldığında oluşturulan etkinlik. Hangi etkinliklerin yayınlandığını görmek için onDeviceAdded bölümüne bakın.