chrome.usb

Açıklama

Bağlı USB cihazlarla etkileşim kurmak için chrome.usb API'yi 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

usb

Türler

ConfigDescriptor

Özellikler

  • etkin

    boolean

    Chrome 47 veya daha yeni bir sürüm

    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 açıklama 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ışıyor.

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.device herkese açık kullanıcı adından farklıdır.

  • productId

    sayı

    Ürün kimliği.

  • vendorId

    sayı

    Cihaz tedarikçisi kimliği.

ControlTransferInfo

Özellikler

  • aktarma

    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ı

    wIndex alanı, bkz. Ibid.

  • 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. index tarafından verilen hedef, "interface" veya "endpoint" ise talep edilmelidir.

  • istek

    sayı

    bRequest alanı, 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 olarak). Varsayılan değer 0, zaman aşımı olmadığını gösterir.

  • value

    sayı

    wValue alanı, bkz. Ibid.

Device

Özellikler

  • cihaz

    sayı

    USB cihazının opak kimliği. Cihazın fişi çekilene kadar bu durum değişmez.

  • manufacturerName

    dize

    Chrome 46 veya daha yeni bir sürüm

    Varsa cihazdan okunan iManufacturer dizesi.

  • productId

    sayı

    Ürün kimliği.

  • productName

    dize

    Chrome 46 veya daha yeni bir sürüm

    Varsa cihazdan okunan iProduct dizesi.

  • serialNumber

    dize

    Chrome 46 veya daha yeni bir sürüm

    Varsa cihazdan okunan iSerialNumber dizesi.

  • vendorId

    sayı

    Cihaz tedarikçisi kimliği.

  • sürüm

    sayı

    Chrome 51 veya 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ş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ç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

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

  • 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 ü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.productId ayarını yapmaya eşdeğerdir.

  • vendorId

    number isteğe bağlı

    Kullanımdan kaldırıldı

    DeviceFilter.vendorId ayarını yapmaya eşdeğerdir.

GenericTransferInfo

Özellikler

  • aktarma

    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 olarak). 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 packetLength sınırları boyunca bölünür.

Recipient

Enum

"device"

"interface"

"endpoint"

"other"

RequestType

Enum

"standard"

"class"

"vendor"

"reserved"

SynchronizationType

Kesme ve eşzamanlı modlar için SynchronizationType ve UsageType, USB spesifikasyonundaki adaşlarıyla eşlenir.

Enum

"asynchronous"

"adaptive"

"synchronous"

TransferResultInfo

Özellikler

  • aktarma

    ArrayBuffer isteğe bağlıdır.

    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,
)
: Promise<TransferResultInfo>

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

Parametreler

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

claimInterface()

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

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

closeDevice()

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

Bağlantı tutamacını kapatır. Bir kapatma işleminden sonra tutma üzerinde işlemler çağırmak güvenli bir işlemdir ancak herhangi bir işlem yapılmaz.

Parametreler

  • tanıtıcı

    Kapatmak için ConnectionHandle simgesine dokunun.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

controlTransfer()

Promise
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

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

findDevices()

Promise
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)
: Promise<ConnectionHandle[]>

Satıcı, ürün ve (isteğe bağlı olarak) arayüz kimlikleriyle 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 getDevices'ı ve ardından openDevice'ı çağırmaya eş değerdir.

Parametreler

İadeler

  • Promise<ConnectionHandle[]>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getConfiguration()

Promise
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

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getConfigurations()

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

İadeler

  • Promise<ConfigDescriptor[]>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getDevices()

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

Bağlı USB cihazları numaralandırır.

Parametreler

  • Hedef cihazlarda aranacak özellikler.

  • callback

    işlev isteğe bağlı

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

    (devices: Device[]) => void

İadeler

  • Promise<Device[]>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getUserSelectedDevices()

Promise
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

  • seçenekler

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

  • callback

    işlev isteğe bağlı

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

    (devices: Device[]) => void

İadeler

  • Promise<Device[]>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

interruptTransfer()

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

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

Parametreler

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

isochronousTransfer()

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

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

Parametreler

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

listInterfaces()

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

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

Parametreler

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

openDevice()

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

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

Parametreler

İadeler

  • Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

releaseInterface()

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

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

requestAccess()

Promise Kullanımdan kaldırıldı
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'ın bir parçası olarak örtülü bir şekilde 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ı

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

    (success: boolean) => void

    • başarılı

      boolean

İadeler

  • Promise<boolean>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

resetDevice()

Promise
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 bağlantı tutma yeri.

  • callback

    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 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

setConfiguration()

Promise
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 olduğundan bu değere izin verilir.

Parametreler

  • tanıtıcı

    Cihazla açık bir bağlantı

  • configurationValue

    sayı

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 veya daha yeni bir sürüm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

setInterfaceAlternateSetting()

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

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

    () => void

İadeler

  • Promise<void>

    Chrome 116 veya daha yeni bir sürüm

    Promises 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ının isteğe bağlı bir izni kabul etmesiyle (permissions.request bölümüne bakın) veya getUserSelectedDevices üzerinden 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 teslim edildiğini 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