chrome.usb

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

usb

Kullanılabilirlik

Yalnızca ChromeOS

Türler

ConfigDescriptor

Özellikler

  • etkin

    boole

    Chrome 47 ve sonraki sürümler

    Bu 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.device değ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ı

    wIndex alanı 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" ise index tarafından verilen hedef için hak talebinde bulunulmalıdır.

  • istek

    sayı

    bRequest alanı 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ı

    wValue alanı 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ı).

  • 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.productId ayarıyla aynıdır.

  • vendorId

    number isteğe bağlı

    Kullanımdan kaldırıldı

    DeviceFilter.vendorId ayarı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 packetLength sı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ı

    0 değ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()

Taahhüt
chrome.usb.bulkTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

Belirtilen cihazda toplu aktarım gerçekleştirir.

Parametreler

İadeler

  • 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()

Taahhüt
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ı

    callback parametresi ş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()

Taahhüt
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

İ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()

Taahhüt
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

İadeler

  • 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()

Taahhüt
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

İ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()

Taahhüt
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

İadeler

  • 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()

Promise Chrome 47+
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

İ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()

Taahhüt
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)
: Promise<Device[]>

Bağlı USB cihazlarını listeler.

Parametreler

  • Hedef cihazlarda aranacak özellikler.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (devices: Device[]) => void

İ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()

Taahhüt
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

  • seçenekler

    Cihaz seçici iletişim kutusunun yapılandırması.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (devices: Device[]) => void

İ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()

Taahhüt
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

Belirtilen cihazda kesme aktarımı gerçekleştirir.

Parametreler

İadeler

  • 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()

Taahhüt
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

Belirli bir cihazda eşzamanlı aktarım gerçekleştirir.

Parametreler

İadeler

  • 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()

Taahhüt
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<InterfaceDescriptor[]>

USB cihazındaki tüm arayüzleri listeler.

Parametreler

İadeler

  • 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()

Taahhüt
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)
: Promise<ConnectionHandle>

getDevices tarafından döndürülen bir USB cihazını açar.

Parametreler

İadeler

  • 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()

Taahhüt
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ı

    callback parametresi ş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()

Promise Desteği sonlandırıldı
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ı

    callback parametresi ş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()

Taahhüt
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ı

    callback parametresi ş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()

Taahhüt
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ı

    callback parametresi ş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()

Taahhüt
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ı

    callback parametresi ş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

    callback parametresi şu şekilde görünür:

    (device: Device) => void

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.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (device: Device) => void