API تنظیم مجدد پورت USB

برای پشتیبانی از USB Hardware Abstraction Layer (HAL) API، سازندگان دستگاه باید نسخه USB HAL مربوطه را پیاده سازی کنند. برای استفاده از USB HAL API، یک برنامه دارای امتیاز سیستم مورد نیاز است.

USB HAL از API بازنشانی پورت USB پشتیبانی می‌کند، که به USB HAL نسخه 2.0 نیاز دارد و برای دستگاه‌های دارای Android نسخه 13 و بالاتر در دسترس است. از این API برای بازنشانی اتصال USB با میزبان متصل استفاده کنید.

USB HAL و API های آن را پیدا کنید

سازندگان دستگاه باید USB HAL را برای پشتیبانی از API ها پیاده سازی کنند.

  1. برای یافتن پیاده سازی پیش فرض USB HAL، از مسیرهای زیر استفاده کنید:

    نسخه AIDL (آخرین): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. برای یافتن فایل هدر رابط سخت افزاری از مسیر زیر استفاده کنید:

    نسخه AIDL (آخرین): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. برای یافتن APIها، از مسیر زیر برای یافتن APIها در زیر فایل هدر AIDL استفاده کنید. این مسیر همچنین نقطه ورودی Android Framework برای API است:

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

USB HAL را اجرا کنید

برای کار با USB HAL API، موارد زیر را اجرا کنید:

  1. نسخه صحیح USB HAL. هیچ پیاده سازی UI سیستم مورد نیاز نیست.

  2. USB AIDL HAL برای API بازنشانی پورت USB با تنظیم مجدد اتصال USB بین دستگاه مورد نظر و میزبان.

معماری USB HAL API را درک کنید

USB HAL API در بسته android.hardware.usb تعبیه شده است و از USB HAL برای تعامل با دستگاه استفاده می کند. جزئیات در مورد معماری API در شکل زیر ارائه شده است.

API تنظیم مجدد پورت USB

شکل زیر جریان کد USB Port Reset API را در یک چارچوب، از جمله اجرای USB HAL نشان می‌دهد.

نمونه جریان کد API Reseat پورت USB

شکل 1.1 نمونه جریان کد API Reseat پورت USB.

اجرای خود را تأیید کنید

هر نسخه USB HAL و API مربوط به آن با یک مورد آزمایشی در مجموعه تست فروشنده (VTS) مرتبط است.

API تنظیم مجدد پورت USB

برای یافتن مورد آزمایشی VTS برای API تنظیم مجدد پورت USB، به آدرس زیر بروید:

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

کیس تست VTS برای USB HAL v1.2 یک کیس تست سمت میزبان است که می توانید برای انجام این اقدامات از آن استفاده کنید.

  • برای فراخوانی USB Port Reset API، از دستور adb shell ( #svc usb resetUsbPort ) استفاده کنید.

  • اطمینان حاصل کنید که دستگاه تحت آزمایش (DUT) می تواند قطع و وصل شود.