chrome.usb

Açıklama

Bağlı USB cihazlarıyla etkileşimde bulunmak için chrome.usb API'yi 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ü olarak çalışabilir. Bu API tarafından oluşturulan hatalar, runtime.lastError ayarlanıp işlevin normal geri çağırması yürütülerek raporlanır. 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 'nı inceleyin.

    Bu, 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

    DiziArabelleği

    Bu yapılandırmayla ilişkili fazladan açıklayıcı veriler.

  • arayüzler

    Kullanılabilir arayüzler.

  • maxPower

    sayı

    Bu cihaz için gereken maksimum güç (miliamper cinsinden) (mA).

  • remoteWakeup

    boolean

    Cihaz, uzaktan uyandırma özelliğini destekler.

  • selfPowered

    boolean

    Cihazın gücünü kendiliğinden alır.

ConnectionHandle

Özellikler

  • tanıtıcı

    sayı

    USB cihazı, ilişkili tüm hak talebinde bulunulan arayüzler ve bekleyen aktarımlar ile bu bağlantıyı temsil eden opak bir herkese açık kullanıcı adı. Cihaz her açıldığında yeni bir herkese açık kullanıcı adı oluşturulur. Bağlantının herkese açık kullanıcı adı Device.device değerinden farklı.

  • productId

    sayı

    Ürün kimliği.

  • vendorId

    sayı

    Cihazın 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 Ibid'e bakın.

  • uzunluk

    sayı 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 sağlanan hedef için hak talebinde bulunulmalıdır.

  • istek

    sayı

    bRequest alanı, bkz. Evrensel Seri Yol Spesifikasyonu Düzeltmesi 1.1 § 9.3.

  • requestType

    İstek türü.

  • Mola

    sayı isteğe bağlı

    Chrome 43 ve sonraki sürümler 'nı inceleyin.

    İstek zaman aşımı (milisaniye cinsinden). Varsayılan değer 0, zaman aşımı olmadığını gösteriyor.

  • value

    sayı

    wValue alanı için Ibid'e bakın.

Device

Özellikler

  • cihaz

    sayı

    USB cihazı için opak bir kimlik. Cihaz fişe takılıncaya kadar değişmeden kalır.

  • manufacturerName

    dize

    Chrome 46 ve sonraki sürümler 'nı inceleyin.

    iManufacturer dizesi (varsa) cihazdan okunur.

  • productId

    sayı

    Ürün kimliği.

  • productName

    dize

    Chrome 46 ve sonraki sürümler 'nı inceleyin.

    Cihazdan okunan iProduct dizesi (varsa).

  • serialNumber

    dize

    Chrome 46 ve sonraki sürümler 'nı inceleyin.

    Cihazdan okunan iSerialNumber dizesi (varsa).

  • vendorId

    sayı

    Cihazın tedarikçi firma kimliği.

  • sürüm

    sayı

    Chrome 51 ve sonraki sürümler 'nı inceleyin.

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

DeviceFilter

Özellikler

  • interfaceClass

    sayı isteğe bağlı

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

  • interfaceProtocol

    sayı isteğe bağlı

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

  • interfaceSubclass

    sayı isteğe bağlı

    USB arayüzü alt sınıfı, yalnızca arayüz sınıfı eşleşirse kontrol edilir.

  • productId

    sayı isteğe bağlı

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

  • vendorId

    sayı isteğe bağlı

    Cihaz tedarikçi firma kimliği.

DevicePromptOptions

Özellikler

  • filtreler

    DeviceFilter[] isteğe bağlı

    Kullanıcıya sunulan cihazların 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 ver.

Direction

Direction (Yön), Recipient (Alıcı), RequestType (İstek Türü) ve TransferType (TransferType) seçeneklerinin tümü, USB spesifikasyonundaki ad adlarıyla eşlenir.

Enum

"in"

"out"

EndpointDescriptor

Özellikler

  • adres

    sayı

    Uç nokta adresi.

  • direction

    Aktarım yönü.

  • extra_data

    DiziArabelleği

    Bu uç noktayla ilişkili fazladan açıklayıcı veriler.

  • maximumPacketSize

    sayı

    Maksimum paket boyutu.

  • pollingInterval

    sayı isteğe bağlı

    Yoklama aralığı (yalnızca kesintili ve izkronlu).

  • senkronizasyon

    SynchronizationType isteğe bağlı

    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

    sayı isteğe bağlı

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

  • productId

    sayı

    Ürün kimliği.

  • vendorId

    sayı

    Cihazın tedarikçi firma 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 iznine sahip olduğu tüm cihazları döndürür.

  • productId

    sayı isteğe bağlı

    Desteği sonlandırıldı

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

  • vendorId

    sayı isteğe bağlı

    Desteği sonlandırıldı

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

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

  • uzunluk

    sayı isteğe bağlı

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

  • Mola

    sayı isteğe bağlı

    Chrome 43 ve sonraki sürümler 'nı inceleyin.

    İstek zaman aşımı (milisaniye cinsinden). Varsayılan değer 0, zaman aşımı olmadığını gösteriyor.

InterfaceDescriptor

Özellikler

  • alternateSetting

    sayı

    Arayüz alternatif ayar numarası (varsayılan olarak 0 olur)

  • açıklama

    dize isteğe bağlı

    Arayüzün açıklaması.

  • endpoints

    Kullanılabilir uç noktalar.

  • extra_data

    DiziArabelleği

    Bu arayüzle ilişkili 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 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"

"arayüz"

"uç nokta"

"diğer"

RequestType

Enum

"standard"

"class"

"tedarikçi firma"

"ayrılmış"

SynchronizationType

Kesme ve iki kronik modlar için SynchronizationType ve UsageType, USB spesifikasyonundaki ad adlarıyla eşlenir.

Enum

"eşzamansız"

"uyarlanabilir"

"Senkronize"

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

    sayı isteğe bağlı

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

TransferType

Enum

"control"

"kesinti"

"iki kronik"

"toplu"

UsageType

Enum

"data"

"feedback"

"explicitFeedback"

"periyodik"

"bildirim"

Yöntemler

bulkTransfer()

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

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

Parametreler

İadeler

  • Promise<TransferResultInfo>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

claimInterface()

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

Bir USB cihazında arayüz için hak talebinde bulunur. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için önce arayüz için hak talebinde bulunulması gerekir. Bir arayüzde aynı anda yalnızca bir bağlantı işleyici için hak talebinde bulunabilir. Arayüz için zaten 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

  • tanıtıcı

    Cihaza yönelik açık bir bağlantı.

  • interfaceNumber

    sayı

    Hak talebinde bulunulacak arayüz.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

closeDevice()

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

Bağlantı işleyicisini kapatır. Kapatıldıktan sonra herkese açık kullanıcı adında işlem yapmak güvenli bir işlemdir ancak hiçbir işlem yapılmasına neden olmaz.

Parametreler

İadeler

  • Taahhüt<void>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

controlTransfer()

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

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

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

Parametreler

İadeler

  • Promise&lt;TransferResultInfo&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

findDevices()

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

Tedarikçi firma, ürün ve (isteğe bağlı olarak) arayüz kimlikleri tarafından belirtilen USB cihazlarını ve izinler izin veriliyorsa bunları kullanıma açar.

Erişim isteği reddedilirse veya cihaz açılamıyorsa bağlantı herkese açık kullanıcı adı oluşturulmaz veya döndürülmez.

Bu yöntemin çağrılması, her bir cihaz için getDevices ve ardından openDevice işlevinin çağrılmasıyla eşdeğerdir.

Parametreler

İadeler

  • Promise&lt;ConnectionHandle[]&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getConfiguration()

Söz 'nı inceleyin.
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

İadeler

  • Promise&lt;ConfigDescriptor&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getConfigurations()

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

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

Parametreler

İadeler

  • Promise&lt;ConfigDescriptor[]&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getDevices()

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

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

Parametreler

  • Hedef cihazlarda aranacak özellikler.

  • geri çağırma

    işlev isteğe bağlı

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

    (devices: Device[]) => void

İadeler

  • Promise <Cihaz[]>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getUserSelectedDevices()

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

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

Parametreler

  • seçenekler

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

  • geri çağırma

    işlev isteğe bağlı

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

    (devices: Device[]) => void

İadeler

  • Promise <Cihaz[]>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

interruptTransfer()

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

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

Parametreler

İadeler

  • Promise&lt;TransferResultInfo&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

isochronousTransfer()

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

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

Parametreler

İadeler

  • Promise&lt;TransferResultInfo&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

listInterfaces()

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

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

Parametreler

İadeler

  • Promise&lt;InterfaceDescriptor[]&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

openDevice()

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

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

Parametreler

İadeler

  • Promise&lt;ConnectionHandle&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

releaseInterface()

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

Hak talebinde bulunulan arayüzü serbest bırakır.

Parametreler

  • tanıtıcı

    Cihaza yönelik açık bir bağlantı.

  • interfaceNumber

    sayı

    Çıkarılacak arayüz.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

requestAccess()

Söz Desteği sonlandırıldı
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)

Bu işlev Chrome OS'e özgüydü ve diğer platformlarda çağrılması başarısız oluyordu. Bu işlem artık openDevice kapsamında dolaylı olarak gerçekleştirilmektedir ve bu işlev tüm platformlarda true değerini döndürür.

Cihazda belirtilen arayüz için hak talebinde bulunulmadıysa izin aracısından Chrome OS tarafından talep edilen bir cihaza erişim ister.

Parametreler

  • cihaz

    Erişim istenecek Device.

  • interfaceId

    sayı

    İstenen arayüz.

  • geri çağırma

    işlev isteğe bağlı

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

    (success: boolean) => void

    • başarılı

      boolean

İadeler

  • Promise&lt;boolean&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

resetDevice()

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

USB cihazını sıfırlamaya çalışır. Sıfırlama işlemi başarısız olursa belirtilen bağlantı tutma yeri kapatılır ve USB cihazının bağlantısı kesilip yeniden bağlanmış gibi gösterilir. Bu durumda, cihazın alınması için getDevices veya findDevices tekrar aranmalıdır.

Parametreler

  • tanıtıcı

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

  • geri çağırma

    işlev isteğe bağlı

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

    (success: boolean) => void

    • başarılı

      boolean

İadeler

  • Promise&lt;boolean&gt;

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

setConfiguration()

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

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 hatalı bazı cihazların çalışan bir 0 yapılandırması olduğundan bu değere izin verilir.

Parametreler

  • tanıtıcı

    Cihaza yönelik açık bir bağlantı.

  • configurationValue

    sayı

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

setInterfaceAlternateSetting()

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

Daha önce hak talebinde bulunulan bir arayüzde alternatif bir ayar seçer.

Parametreler

  • tanıtıcı

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

  • interfaceNumber

    sayı

    Yapılandırılacak arayüz.

  • alternateSetting

    sayı

    Yapılandırılacak alternatif ayar.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 116 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması 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 kabul ettiğinde (bkz. permissions.request) 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. Etkinliklerin teslim edildiği onDeviceAdded konusuna bakın.

Parametreler

  • geri çağırma

    işlev

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

    (device: Device) => void