chrome.usb

Açıklama

Bağlı USB cihazlarla 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. 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ğırma işlevi çalıştırılarak bildirilir. Bu durumda geri çağırma işlevinin normal parametreleri tanımlanmaz.

İ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

    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 cinsinden).

  • remoteWakeup

    boolean

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

  • selfPowered

    boolean

    Cihaz kendi kendine güç alır.

ConnectionHandle

Özellikler

  • tanıtıcı

    sayı

    USB cihazıyla bu bağlantıyı ve ilişkili tüm hak talebinde bulunulan arayüzleri ve bekleyen aktarım işlemlerini 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ı herkese açık kullanıcı adı Device.device ile aynı değil.

  • 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 Universal Serial Bus Specification Revision 1.1 (Evrensel Seri Yol Spesifikasyonu 1.1 Sürümü) Bölüm 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ının opak kimliği. Cihazın fişi çekilene kadar değişmez.

  • manufacturerName

    dize

    Chrome 46 ve sonraki sürümler

    Mevcutsa cihazdan okunan iManufacturer dizesi.

  • productId

    sayı

    Ürün kimliği.

  • productName

    dize

    Chrome 46 ve sonraki sürümler

    Mevcutsa cihazdan okunan iProduct dizesi.

  • serialNumber

    dize

    Chrome 46 ve sonraki sürümler

    Mevcutsa cihazdan okunan iSerialNumber dizesi.

  • vendorId

    sayı

    Cihaz tedarikçi firma kimliği.

  • sürüm

    sayı

    Chrome 51 ve sonraki sürümler

    Cihaz 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ş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 işaretlenir.

  • 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 firma 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 benzerleriyle eşlenir.

Enum

"in"

"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ı

    Yoklama aralığı (yalnızca kesinti ve senkronize).

  • senkronizasyon

    SynchronizationType isteğe bağlı

    Aktarım senkronizasyonu modu (yalnızca senkronize).

  • 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 Chrome OS'te kullanılabilir. Diğer platformları etkilemez.

  • productId

    sayı

    Ürün kimliği.

  • vendorId

    sayı

    Cihaz tedarikçi firma kimliği.

EnumerateDevicesOptions

Özellikler

  • filtreler

    DeviceFilter[] isteğe bağlı

    Belirli bir filtreyle eşleşen bir cihaz iade edilir. Boş bir filtre listesi, uygulamanın izni olan tüm cihazları döndürür.

  • productId

    number isteğe bağlı

    Kullanımdan kaldırıldı

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

  • vendorId

    number isteğe bağlı

    Kullanımdan kaldı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ç noktası 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

    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ı 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 paketlerin her birinin uzunluğu.

  • paket

    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ımdaki tek tek paketleri oluşturmak için packetLength sınırları boyunca bölünür.

Recipient

Enum

"device"

"interface"

"endpoint"

"other"

RequestType

Enum

"standard"

"class"

"vendor"

"reserved"

SynchronizationType

Kesinti ve senkronize modlar için SynchronizationType ve UsageType, USB spesifikasyonundaki benzer adlarla eşlenir.

Enum

"asynchronous"

"adaptive"

"synchronous"

TransferResultInfo

Özellikler

  • veri

    ArrayBuffer isteğe bağlı

    Giriş aktarımı tarafından döndürülen veriler. undefined çıkış aktarımları için.

  • resultCode

    number isteğe bağlı

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

Promise
chrome.usb.bulkTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)

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

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

claimInterface()

Promise
chrome.usb.claimInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)

USB cihazda bir arayüz için hak talebinde bulunur. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüz için hak talebinde bulunulması gerekir. Bir arayüz için herhangi bir zamanda yalnızca bir bağlantı herkese açık kullanıcı adı hak talebinde bulunabilir. Arayüz için hak talebinde bulunulmuşsa 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ı

    Cihaza 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

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

closeDevice()

Promise
chrome.usb.closeDevice(
  handle: ConnectionHandle,
  callback?: function,
)

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

Parametreler

  • tanıtıcı

    Kapatmak için ConnectionHandle simgesine dokunun.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

controlTransfer()

Promise
chrome.usb.controlTransfer(
  handle: ConnectionHandle,
  transferInfo: ControlTransferInfo,
  callback?: function,
)

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

Kontrol aktarımları cihazı, bir arayüzü veya uç noktayı ifade eder. Bir arayüze veya uç noktaya aktarım yapmak için arayüzün talep edilmesi gerekir.

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

findDevices()

Promise
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ı bulur ve izinler izin veriyorsa bunları kullanıma açar.

Erişim isteği reddedilirse veya cihaz açılamazsa bağlantı türü oluşturulmaz veya döndürülmez.

Bu yöntemi çağırmak, her cihaz için getDevices ve ardından openDevice çağrılmasına eşdeğerdir.

Parametreler

İadeler

  • Promise<ConnectionHandle[]>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getConfiguration()

Promise
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)

Şu anda seçili olan yapılandırma için yapılandırma tanımlayıcısını alır.

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler 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 ve sonraki sürümler
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)

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

Parametreler

İadeler

  • Promise<ConfigDescriptor[]>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getDevices()

Promise
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)

Bağlı USB cihazlarını listeler.

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<Device[]>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getUserSelectedDevices()

Promise
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)

Kullanıcıya bir cihaz seçici sunar ve seçilen Device öğelerini 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ı.

  • geri çağırma

    işlev isteğe bağlı

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

    (devices: Device[]) => void

İadeler

  • Promise<Device[]>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

interruptTransfer()

Promise
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)

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

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

isochronousTransfer()

Promise
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)

Belirli cihazda senkronize aktarım gerçekleştirir.

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

listInterfaces()

Promise
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)

USB cihazdaki tüm arayüzleri listeler.

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

openDevice()

Promise
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)

getDevices tarafından iade edilen bir USB cihazını açar.

Parametreler

İadeler

  • Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

releaseInterface()

Promise
chrome.usb.releaseInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)

Hak talebinde bulunulan bir arayüzü iptal eder.

Parametreler

  • tanıtıcı

    Cihaza açık bir bağlantı.

  • interfaceNumber

    sayı

    Yayınlanacak arayüz.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Sözler 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,
)

Bu işlev ChromeOS'e özeldir ve diğer platformlarda çağrılırsa başarısız olur. Bu işlem artık openDevice kapsamında örtülü olarak gerçekleştirilir ve bu işlev tüm platformlarda true döndürür.

Cihazdaki belirli bir arayüz için hak talebinde bulunulmamışsa izin aracısından Chrome OS tarafından hak talebinde bulunulan bir cihaza erişim isteğinde bulunur.

Parametreler

  • cihaz

    Erişim isteğinde bulunacağınız 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<boolean>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

resetDevice()

Promise
chrome.usb.resetDevice(
  handle: ConnectionHandle,
  callback?: function,
)

USB cihazı sıfırlamaya çalışır. Sıfırlama başarısız olursa belirtilen bağlantı türü kapatılır ve USB cihazın bağlantısı kesilip yeniden bağlanır. Bu durumda, cihazı almak için getDevices veya findDevices işlevi tekrar çağrılmalıdır.

Parametreler

  • tanıtıcı

    Sıfırlanacak bağlantı herkese açık kullanıcı adı.

  • 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<boolean>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

setConfiguration()

Promise
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'ten büyük yapılandırma değerleri geçerlidir. Ancak bazı hatalı cihazlarda çalışan bir 0 yapılandırması olduğundan bu değere izin verilir.

Parametreler

  • tanıtıcı

    Cihaza 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

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Sözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

setInterfaceAlternateSetting()

Promise
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üzün hak talebinde bulunulduğu 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

  • Promise<void>

    Chrome 116 ve sonraki sürümler

    Sözler 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şme izni olan uygulamalara ve uzantılara yayınlanır. İzin, kullanıcı isteğe bağlı bir izni kabul ettiğinde (bkz. permissions.request) veya getUserSelectedDevices aracılığıyla yükleme sırasında 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 dair 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