Açıklama
Bağlı USB cihazlarla etkileşim kurmak için chrome.usb API'sini kullanın. Bu API, bir uygulamanın bağlamı içinden USB işlemlerine erişim sağlar. Uygulamalar, bu API'yi kullanarak donanım cihazları için sürücü olarak işlev görebilir. Bu API tarafından oluşturulan hatalar, runtime.lastError ayarlanarak ve işlevin normal geri çağırması yürütülerek bildirilir. Bu durumda geri çağırmanın normal parametreleri tanımlanmamış olur.
İzinler
usbKullanılabilirlik
Türler
ConfigDescriptor
Özellikler
-
etkin
boolean
Chrome 47 veya daha yeni bir sürümBu, etkin yapılandırma mı?
-
configurationValue
sayı
Yapılandırma numarası.
-
açıklama
dize isteğe bağlı
Yapılandırmanın açıklaması.
-
extra_data
ArrayBuffer
Bu yapılandırmayla ilişkili ek tanımlayıcı verileri.
-
arayüzler
Kullanılabilir arayüzler.
-
maxPower
sayı
Bu cihazın ihtiyaç duyduğu maksimum güç, miliamper (mA) cinsinden ifade edilir.
-
remoteWakeup
boolean
Cihaz, uzaktan uyandırmayı destekliyor olmalıdır.
-
selfPowered
boolean
Cihaz kendi kendine çalışır.
ConnectionHandle
Özellikler
-
tanıtıcı
sayı
USB cihazına yapılan bu bağlantıyı ve ilişkili tüm talep edilen arayüzleri ve bekleyen aktarımları temsil eden opak bir tutma yeri. Cihaz her açıldığında yeni bir tutma yeri oluşturulur. Bağlantı herkese açık kullanıcı adı,
Device.deviceherkese açık kullanıcı adından farklıdır. -
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçisi kimliği.
ControlTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlıdır.
İletilecek veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"veya"out"). -
indeks
sayı
wIndexalanı, bkz. Aynı kaynak. -
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 talep edilmelidir. -
istek
sayı
bRequestalanı, Universal Serial Bus Specification Revision 1.1 § 9.3'e bakın. -
requestType
İstek türü.
-
Mola
number isteğe bağlı
Chrome 43 veya daha yeni bir sürümİstek zaman aşımı (milisaniye cinsinden). Varsayılan değer
0, zaman aşımı olmadığını gösterir. -
value
sayı
wValuealanı, bkz. Aynı kaynak.
Device
Özellikler
-
cihaz
sayı
USB cihazının opak kimliği. Cihazın fişi çekilene kadar değişmez.
-
manufacturerName
dize
Chrome 46 veya daha yeni bir sürümVarsa cihazdan okunan iManufacturer dizesi.
-
productId
sayı
Ürün kimliği.
-
productName
dize
Chrome 46 veya daha yeni bir sürümCihazdan okunan iProduct dizesi (varsa).
-
serialNumber
dize
Chrome 46 veya daha yeni bir sürümVarsa cihazdan okunan iSerialNumber dizesi.
-
vendorId
sayı
Cihaz tedarikçisi kimliği.
-
sürüm
sayı
Chrome 51 veya sonraki sürümlerCihaz sürümü (bcdDevice alanı).
DeviceFilter
Özellikler
-
interfaceClass
number isteğe bağlı
USB arayüz sınıfı, cihazdaki herhangi bir arayüzle eşleşir.
-
interfaceProtocol
number isteğe bağlı
USB arayüz protokolü, yalnızca arayüz alt sınıfı eşleşiyorsa kontrol edilir.
-
interfaceSubclass
number isteğe bağlı
Yalnızca arayüz sınıfı eşleşiyorsa kontrol edilen USB arayüzü alt sınıfı.
-
productId
number isteğe bağlı
Cihaz ürün kimliği (yalnızca satıcı kimliği eşleşiyorsa kontrol edilir).
-
vendorId
number isteğe bağlı
Cihaz tedarikçisi 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
boolean 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
"in"
"out"
EndpointDescriptor
Özellikler
-
adres
sayı
Uç nokta adresi.
-
direction
Aktarım yönü.
-
extra_data
ArrayBuffer
Bu uç nokta ile ilişkili ek tanımlayıcı verileri.
-
maximumPacketSize
sayı
Maksimum paket boyutu.
-
pollingInterval
number isteğe bağlı
Yoklama 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çisi kimliği.
EnumerateDevicesOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Belirli bir filtreyle eşleşen bir cihaz döndürülür. Boş bir filtre listesi, uygulamanın izin verdiği tüm cihazları döndürür.
-
productId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.productIdayarını yapmaya eşdeğerdir. -
vendorId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.vendorIdayarını yapmaya eşdeğerdir.
GenericTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlıdır.
İletilecek 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ün hak talebinde bulunulmuş olması gerekir.
-
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 veya daha yeni bir sürümİstek zaman aşımı (milisaniye cinsinden). Varsayılan değer
0, zaman aşımı olmadığını gösterir.
InterfaceDescriptor
Özellikler
-
alternateSetting
sayı
Arayüz alternatif ayar numarası (varsayılan olarak
0 -
açıklama
dize 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ı veriler.
-
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 paketlerin her birinin uzunluğu.
-
paketler
sayı
Bu aktarımdaki toplam paket sayısı.
-
transferInfo
Transfer parametreleri. Bu parametre bloğunda belirtilen aktarım uzunluğu veya veri arabelleği, aktarımın ayrı ayrı paketlerini oluşturmak için
packetLengthsınırları boyunca bölünür.
Recipient
Enum
"device"
"interface"
"endpoint"
"other"
RequestType
Enum
"standard"
"class"
"vendor"
"reserved"
SynchronizationType
Kesme ve eşzamanlı modlarda SynchronizationType ve UsageType, USB spesifikasyonundaki adaşlarıyla eşlenir.
Enum
"asynchronous"
"adaptive"
"synchronous"
TransferResultInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlıdır.
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 hatayı gösterir.
TransferType
Enum
"control"
"interrupt"
"isochronous"
"bulk"
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
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
USB cihazdaki bir arayüzü talep eder. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüzün hak sahipliğinin alınması gerekir. Herhangi bir zamanda yalnızca bir bağlantı işleyeni bir arayüzü talep edebilir. Arayüz zaten talep edilmişse 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ı
Hak talebinde bulunulacak arayüz.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<void>
Bir bağlantı tutamacını kapatır. Kapatıldıktan sonra bir tutamaç üzerinde işlemlerin çağrılması güvenli bir işlemdir ancak herhangi bir işlem yapılmaz.
Parametreler
-
tanıtıcı
Kapatmak için
ConnectionHandlesimgesine dokunun. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
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 yapılan aktarımlar için arayüzün talep edilmesi gerekir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
transferInfo
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
): Promise<ConnectionHandle[]>
Satıcı, ürün ve (isteğe bağlı olarak) arayüz kimlikleri tarafından belirtilen USB cihazları bulur ve izinler verildiyse bunları kullanıma açar.
Erişim isteği reddedilirse veya cihazda bağlantı açılamazsa bağlantı işleyeni oluşturulmaz ya da döndürülmez.
Bu yöntemi çağırmak, her cihaz için önce getDevices, ardından openDevice yöntemini çağırmaya eş değerdir.
Parametreler
-
seçenekler
Hedef cihazlarda aranacak özellikler.
-
callback
işlev 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 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
): Promise<ConfigDescriptor>
Şu anda 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
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(config: ConfigDescriptor) => void
-
yapılandırma
-
İadeler
-
Promise<ConfigDescriptor>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
): Promise<ConfigDescriptor[]>
Cihaz yapılandırma tanımlayıcılarının tamamını döndürür.
Parametreler
-
cihaz
Açıklamaların getirileceği
Device. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(configs: ConfigDescriptor[]) => void
-
configs
-
İadeler
-
Promise<ConfigDescriptor[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
): Promise<Device[]>
Bağlı USB cihazları numaralandırır.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
Kullanıcıya bir cihaz seçici sunar ve seçilen Device'ları 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 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
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
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
Belirli cihazda eşzamanlı aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
transferInfo
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
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
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(descriptors: InterfaceDescriptor[]) => void
-
tanımlayıcılar
-
İadeler
-
Promise<InterfaceDescriptor[]>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
getDevices tarafından döndürülen bir USB cihazı açar.
Parametreler
-
cihaz
Açılacak
Device. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(handle: ConnectionHandle) => void
-
tanıtıcı
-
İadeler
-
Promise<ConnectionHandle>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
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
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
): Promise<boolean>
Bu işlev Chrome OS'e özgüydü ve diğer platformlarda çağrıldığında başarısız oluyordu. Bu işlem artık openDevice kapsamında örtülü olarak gerçekleştiriliyor ve bu işlev tüm platformlarda true değerini döndürüyor.
Cihazdaki arayüz talep edilmemişse Chrome OS tarafından talep edilen bir cihaza izin aracısından erişim isteğinde bulunur.
Parametreler
-
cihaz
Erişim isteğinde bulunulacak
Device. -
interfaceId
sayı
İstenen arayüz.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İadeler
-
Promise<boolean>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<boolean>
USB cihazını sıfırlamayı dener. Sıfırlama başarısız olursa verilen bağlantı tutacağı kapatılır ve USB cihazının bağlantısı kesilip yeniden bağlanmış gibi görünür. Bu durumda, cihazı almak için getDevices veya findDevices tekrar aranmalıdır.
Parametreler
-
tanıtıcı
Sıfırlanacak bir bağlantı tutma yeri.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İadeler
-
Promise<boolean>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
): Promise<void>
Bir 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 0 değerine sahip çalışan bir yapılandırma bulunur ve bu nedenle bu değere izin verilir.
Parametreler
-
tanıtıcı
Cihazla açık bir bağlantı
-
configurationValue
sayı
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
): Promise<void>
Daha önce hak talebinde bulunulan bir arayüzde alternatif bir ayar seçer.
Parametreler
-
tanıtıcı
Bu arayüzün talep edildiği cihaza açık bir bağlantı.
-
interfaceNumber
sayı
Yapılandırılacak arayüz.
-
alternateSetting
sayı
Yapılandırılacak alternatif ayar.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
Etkinlikler
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
Bir cihaz sisteme 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 teslim edildiğini görmek için onDeviceAdded bölümüne bakın.