USB Bağlantı Noktası Sıfırlama API'si

USB Donanım Soyutlama Katmanı (HAL) API'sini desteklemek için cihaz üreticilerinin ilgili USB HAL sürümünü uygulaması gerekir. USB HAL API'yi kullanmak için sistem ayrıcalıklı bir uygulama gereklidir.

USB HAL, USB HAL v2.0 gerektiren ve Android 13 ve üstünü çalıştıran cihazlarda kullanılabilen USB Bağlantı Noktası Sıfırlama API'sini destekler. Bağlı ana bilgisayarla USB bağlantısını sıfırlamak için bu API'yi kullanın.

USB HAL'ı ve API'lerini bulun

Cihaz üreticilerinin API'leri desteklemek için USB HAL'yi uygulaması gerekir.

  1. USB HAL'in varsayılan uygulamasını bulmak için aşağıdaki yolları kullanın:

    Sürüm AIDL (en yeni): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. Donanım arayüzü başlık dosyasını bulmak için aşağıdaki yolu kullanın:

    Sürüm AIDL (en yeni): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. API'leri bulmak için AIDL başlık dosyasının altındaki API'leri bulmak üzere aşağıdaki yolu kullanın. Bu yol aynı zamanda API için Android Framework giriş noktasıdır:

    android.hardware.usb : <aosp>/core/java/android/hardware/usb

USB HAL'yi uygulayın

USB HAL API ile çalışmak için şunları uygulayın:

  1. Doğru USB HAL sürümü. Hiçbir sistem kullanıcı arayüzü uygulamasına gerek yoktur.

  2. Hedef cihaz ile ana bilgisayar arasındaki USB bağlantısını sıfırlayarak USB Bağlantı Noktası Sıfırlama API'si için USB AIDL HAL.

USB HAL API mimarisini anlayın

USB HAL API, android.hardware.usb paketinde yerleşiktir ve cihazla etkileşim kurmak için USB HAL'den yararlanır. API mimarisine ilişkin ayrıntılar aşağıdaki şekilde verilmiştir.

USB Bağlantı Noktası Sıfırlama API'si

Aşağıdaki şekil, USB HAL'ın uygulanması da dahil olmak üzere USB Bağlantı Noktası Sıfırlama API'sinin bir çerçevedeki kod akışını göstermektedir.

Örnek USB Bağlantı Noktasını Yeniden Yerleştirme API kodu akışı

Şekil 1.1 Örnek USB Bağlantı Noktasını Yeniden Yerleştirme API kodu akışı.

Uygulamanızı doğrulayın

Her USB HAL sürümü ve buna karşılık gelen API, Satıcı Test Paketindeki (VTS) bir test durumuyla ilişkilendirilir.

USB Bağlantı Noktası Sıfırlama API'si

USB Bağlantı Noktası Sıfırlama API'sine yönelik VTS test senaryosunu bulmak için şu adrese gidin:

<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/

USB HAL v1.2 için VTS test senaryosu, bu eylemleri gerçekleştirmek için kullanabileceğiniz ana bilgisayar tarafı test senaryosudur.

  • USB Bağlantı Noktası Sıfırlama API'sini çağırmak için adb shell komutunu ( #svc usb resetUsbPort ) kullanın.

  • Test edilen cihazın (DUT) bağlantısının kesilip yeniden bağlanabildiğini doğrulayın.