chrome.usb

Açıklama

Bağlı USB cihazlarıyla etkileşim kurmak için chrome.usb API'yi kullanın. Bu API, USB işlemlerine bir uygulama bağlamından erişim sağlar. Bu API'yi kullanan uygulamalar, donanım cihazları için sürücü olarak çalışabilir. 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ımsız olur.

İzinler

usb

Türler

ConfigDescriptor

Özellikler

  • etkin

    boolean

    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 fazladan açıklayıcı veriler.

  • arayüzler

    Kullanılabilir arayüzler.

  • maxPower

    sayı

    Bu cihazın ihtiyaç duyduğu miliamper (mA) cinsinden maksimum güç.

  • remoteWakeup

    boolean

    Cihaz uzaktan uyandırmayı destekler.

  • selfPowered

    boolean

    Cihaz, kendi gücüne sahiptir.

ConnectionHandle

Özellikler

  • herkese açık kullanıcı adı

    sayı

    USB cihazı, talep edilen tüm ilişkili arayüzler ve bekleyen aktarımlarla bu bağlantıyı temsil eden opak tutma yeri. Cihaz her açıldığında yeni bir herkese açık kullanıcı adı oluşturulur. Bağlantı adı Device.device adından farklı.

  • productId

    sayı

    Ürün kimliği.

  • vendorId

    sayı

    Cihazın satıcı kimliği.

ControlTransferInfo

Özellikler

  • veri

    ArrayBuffer isteğe bağlı

    Aktarılacak veri (yalnızca çıkış aktarımları için gereklidir).

  • direction

    Aktarım yönü ("in" veya "out").

  • indeks

    sayı

    wIndex alanı için Aynı kaynak'a bakın.

  • length

    numara 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 belirtilen hedefin talep edilmesi gerekir.

  • istek

    sayı

    bRequest alanı, Evrensel Seri Yol Aracı Spesifikasyonu Revizyon 1.1 § 9.3'e bakın.

  • requestType

    İstek türü.

  • Mola

    numara isteğe bağlı

    Chrome 43 ve sonraki sürümler

    İstek zaman aşımı (milisaniye cinsinden). 0 varsayılan değeri, zaman aşımı olmadığını gösterir.

  • value

    sayı

    wValue alanı için Aynı kaynak'a bakın.

Device

Özellikler

  • cihaz

    sayı

    USB cihazı için opak bir kimlik. Cihaz fişten çıkarılana kadar bu ayar değişmeden kalır.

  • manufacturerName

    dize

    Chrome 46 ve sonraki sürümler

    Cihazdan okunan iManufacturer dizesi (varsa).

  • productId

    sayı

    Ürün kimliği.

  • productName

    dize

    Chrome 46 ve sonraki sürümler

    Cihazdan okunan iProduct dizesi (varsa).

  • serialNumber

    dize

    Chrome 46 ve sonraki sürümler

    Cihazdan okunan iSerialNumber dizesi (varsa).

  • vendorId

    sayı

    Cihazın satıcı kimliği.

  • sürüm

    sayı

    Chrome 51 ve sonraki sürümler

    Cihaz sürümü (bcdDevice alanı).

DeviceFilter

Özellikler

  • interfaceClass

    numara isteğe bağlı

    USB arayüz sınıfı, cihazdaki herhangi bir arayüzle eşleşir.

  • interfaceProtocol

    numara isteğe bağlı

    USB arayüz protokolü, yalnızca arayüz alt sınıfı eşleşirse işaretlidir.

  • interfaceSubclass

    numara isteğe bağlı

    USB arayüz alt sınıfı; yalnızca arayüz sınıfı eşleşirse işaretlidir.

  • productId

    numara isteğe bağlı

    Cihaz ürün kimliği, yalnızca tedarikçi kimliği eşleştiğinde kontrol edilir.

  • vendorId

    numara isteğe bağlı

    Cihaz tedarikçi firması kimliği.

DevicePromptOptions

Özellikler

  • filtreler

    DeviceFilter[] isteğe bağlı

    Kullanıcıya sunulan cihazların listesini filtreleyin. Birden fazla filtre sağlanmışsa herhangi bir filtreyle eşleşen cihazlar görüntülenir.

  • çoklu

    boole isteğe bağlı

    Kullanıcının birden fazla cihaz seçmesine izin ver.

Direction

Direction, Recipient, RequestType ve TransferType öğelerinin tümü, USB spesifikasyonu içinde kendi adları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 fazladan açıklayıcı veriler.

  • maximumPacketSize

    sayı

    Maksimum paket boyutu.

  • pollingInterval

    numara isteğe bağlı

    Yoklama aralığı (yalnızca kesme ve eş zamanlı).

  • senkronizasyon

    SynchronizationType isteğe bağlı

    Aktarım senkronizasyon modu (yalnızca iki kronometre).

  • Aktarım türü.

  • kullanım

    UsageType isteğe bağlı

    Uç nokta kullanımı ipucu.

EnumerateDevicesAndRequestAccessOptions

Özellikler

  • interfaceId

    numara isteğe bağlı

    Erişim isteğinde bulunulacak arayüz kimliği. Yalnızca Chrome OS'te kullanılabilir. Diğer platformlar üzerinde bir etkisi yoktur.

  • productId

    sayı

    Ürün kimliği.

  • vendorId

    sayı

    Cihazın satıcı 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 izninin olduğu tüm cihazları döndürür.

  • productId

    numara isteğe bağlı

    Kullanımdan kaldırıldı

    DeviceFilter.productId ayarına eşdeğer.

  • vendorId

    numara isteğe bağlı

    Kullanımdan kaldırıldı

    DeviceFilter.vendorId ayarına eşdeğer.

GenericTransferInfo

Özellikler

  • veri

    ArrayBuffer isteğe bağlı

    Aktarılacak veri (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üzle ilgili hak talebinde bulunulmalıdır.

  • length

    numara isteğe bağlı

    Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).

  • Mola

    numara isteğe bağlı

    Chrome 43 ve sonraki sürümler

    İstek zaman aşımı (milisaniye cinsinden). 0 varsayılan değeri, zaman aşımı olmadığını gösterir.

InterfaceDescriptor

Özellikler

  • alternateSetting

    sayı

    Arayüz alternatif ayar numarası (varsayılan olarak 0 değerine ayarlanır)

  • açıklama

    string isteğe bağlı

    Arayüzün açıklaması.

  • endpoints

    Kullanılabilir uç noktalar.

  • extra_data

    ArrayBuffer

    Bu arayüzle ilgili fazladan açıklayı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

    Parametreleri aktarın. Bu parametre bloğunda belirtilen aktarım uzunluğu veya veri tamponu, aktarımın bağımsız paketlerini oluşturmak için packetLength sınırları boyunca bölünür.

Recipient

Enum

"interface"

RequestType

Enum

"standard"

"class"

SynchronizationType

Kesme ve eş zamanlı modlar için SynchronizationType ve UsageType, USB spesifikasyonu içinde kendi adlarıyla eşlenir.

Enum

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

    numara isteğe bağlı

    0 değeri, aktarımın başarılı olduğunu gösterir. Diğer değerler hata olduğunu gösterir.

TransferType

Enum

"control"

"interrupt"

"bulk"

UsageType

Enum

"data"

"feedback"

"explicitFeedback"

Yöntemler

bulkTransfer()

Söz
chrome.usb.bulkTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)

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

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

claimInterface()

Söz
chrome.usb.claimInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)

Bir USB cihazdaki bir arayüz için hak talebinde bulunuyor. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüzün hak talebinde bulunulması gerekir. Bir arayüz üzerinde, aynı anda yalnızca bir bağlantı herkese açık kullanıcı adı talep edilebilir. Arayüz için önceden hak talebinde bulunulmuşsa bu çağrı başarısız olur.

Arayüz artık gerekli olmadığında releaseInterface çağrılmalıdır.

Parametreler

  • herkese açık kullanıcı adı

    Cihaz bağlantısı açık olmalıdır.

  • interfaceNumber

    sayı

    Hak talebinde bulunulacak arayüz.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

closeDevice()

Söz
chrome.usb.closeDevice(
  handle: ConnectionHandle,
  callback?: function,
)

Bir bağlantı tutma yerini kapatır. Kapatılan herkese açık kullanıcı adlarında işlemlerin çağrılması güvenli bir işlemdir ancak hiçbir işlem yapılmasına neden olmaz.

Parametreler

  • herkese açık kullanıcı adı

    Kapatılacak ConnectionHandle.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

controlTransfer()

Söz
chrome.usb.controlTransfer(
  handle: ConnectionHandle,
  transferInfo: ControlTransferInfo,
  callback?: function,
)

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

Kontrol aktarımları cihazı, arayüzü veya bir uç noktayı belirtir. Bir arayüze veya uç noktaya aktarım için arayüzle ilgili hak talebinde bulunulması gerekir.

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

findDevices()

Söz
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)

Tedarikçi, ürün ve (isteğe bağlı olarak) arayüz kimlikleri tarafından belirtilen USB cihazlarını bulur ve izinlerin verilmesi bu cihazları kullanıma açar.

Erişim isteği reddedilirse veya cihaz açılamıyorsa bir bağlantı tanıtıcısı oluşturulmaz veya döndürülmez.

Bu yöntemin çağrılması, her cihazda getDevices ve ardından openDevice çağrılmasıyla eşdeğerdir.

Parametreler

İlerlemeler

  • Promise<ConnectionHandle[]>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

getConfiguration()

Söz
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)

Seçili olan yapılandırmanın yapılandırma tanımlayıcısını alır.

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

getConfigurations()

Söz Chrome 47 ve sonraki sürümleri
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)

Cihaz yapılandırması tanımlayıcılarının tamamını döndürür.

Parametreler

İlerlemeler

  • Promise<ConfigDescriptor[]>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

getDevices()

Söz
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)

Bağlı USB cihazlarını sıralar.

Parametreler

  • Hedef cihazlarda aranacak özellikler.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (devices: Device[])=>void

İlerlemeler

  • Söz<Cihaz[]>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

getUserSelectedDevices()

Söz
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)

Kullanıcıya bir cihaz seçici sunar ve seçilen Deviceları döndürür. Kullanıcı iptal ederse seçici cihazlar boş olur. İletişim kutusunun gösterilebilmesi için kullanıcı hareketi gereklidir. Kullanıcı hareketi olmadan geri çağırma, kullanıcı işlemi iptal etmiş gibi çalışır.

Parametreler

  • seçenekler

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

  • geri çağırma

    Functions (isteğe bağlı)

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

    (devices: Device[])=>void

İlerlemeler

  • Söz<Cihaz[]>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

interruptTransfer()

Söz
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)

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

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

isochronousTransfer()

Söz
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)

İlgili cihazda eş zamanlı aktarım işlemi gerçekleştirir.

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

listInterfaces()

Söz
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)

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

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

openDevice()

Söz
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)

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

Parametreler

İlerlemeler

  • Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

releaseInterface()

Söz
chrome.usb.releaseInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)

Hak talebinde bulunulan bir arayüzü iptal eder.

Parametreler

  • herkese açık kullanıcı adı

    Cihaz bağlantısı açık olmalıdır.

  • interfaceNumber

    sayı

    Kullanıma sunulacak arayüz.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

requestAccess()

Söz Kullanımdan kaldırıldı
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)

Bu işlev Chrome OS'e özgüdür ve diğer platformlarda çağrılamazdı. Bu işlem, dolaylı yoldan openDevice kapsamında gerçekleştiriliyor ve işlevi, tüm platformlarda true sonucunu döndürecek.

Cihazda belirtilen arayüzle ilgili hak talebinde bulunulmaması durumunda, Chrome OS tarafından talep edilen bir cihaza izin aracısından erişim talep eder.

Parametreler

  • cihaz

    Erişim isteğinde bulunulacak Device.

  • interfaceId

    sayı

    İstenen arayüz.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (success: boolean)=>void

    • başarılı

      boolean

İlerlemeler

  • Promise<boolean>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

resetDevice()

Söz
chrome.usb.resetDevice(
  handle: ConnectionHandle,
  callback?: function,
)

USB cihazı sıfırlamaya çalışır. Sıfırlama işlemi başarısız olursa belirtilen bağlantı tutamacı kapatılır ve USB cihazının bağlantısı kesilip yeniden bağlanılmış olarak görünür. Bu durumda, cihazı edinmek için getDevices veya findDevices yeniden çağrılmalıdır.

Parametreler

  • herkese açık kullanıcı adı

    Sıfırlanacak bağlantı tutma yeri.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (success: boolean)=>void

    • başarılı

      boolean

İlerlemeler

  • Promise<boolean>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

setConfiguration()

Söz
chrome.usb.setConfiguration(
  handle: ConnectionHandle,
  configurationValue: number,
  callback?: function,
)

Bir cihaz yapılandırması seçin.

Bu işlev, cihazın kullanılabilir yapılandırmalarından birini seçerek cihazı etkin bir şekilde sıfırlar. Yalnızca 0 değerinden büyük yapılandırma değerleri geçerlidir ancak bazı hatalı cihazların 0 çalışan yapılandırması vardır. Dolayısıyla bu değere izin verilir.

Parametreler

  • herkese açık kullanıcı adı

    Cihaz bağlantısı açık olmalıdır.

  • configurationValue

    sayı

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.

setInterfaceAlternateSetting()

Söz
chrome.usb.setInterfaceAlternateSetting(
  handle: ConnectionHandle,
  interfaceNumber: number,
  alternateSetting: number,
  callback?: function,
)

Önceden talep edilen arayüzde alternatif bir ayar seçer.

Parametreler

  • herkese açık kullanıcı adı

    Bu arayüzle ilgili hak talebinde bulunulan cihaza açık bağlantı.

  • interfaceNumber

    sayı

    Yapılandırılacak arayüz.

  • alternateSetting

    sayı

    Yapılandırılacak alternatif ayar.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları 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 uygulama ve uzantılara yayınlanır. İzin, yükleme sırasında, kullanıcı isteğe bağlı bir izni (bkz. permissions.request) kabul ettiğinde veya getUserSelectedDevices aracılığıyla verilmiş olabilir.

Parametreler

  • geri çağırma

    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ığına ilişkin bilgi için onDeviceAdded bölümüne bakın.

Parametreler

  • geri çağırma

    işlev

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

    (device: Device)=>void