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

برای پشتیبانی از رابط برنامه‌نویسی کاربردی لایه انتزاعی سخت‌افزار USB (HAL)، تولیدکنندگان دستگاه باید نسخه USB HAL مربوطه را پیاده‌سازی کنند. برای استفاده از رابط برنامه‌نویسی کاربردی USB HAL، یک برنامه با دسترسی سیستمی مورد نیاز است.

USB HAL از رابط برنامه‌نویسی کاربردی (API) تنظیم مجدد پورت USB پشتیبانی می‌کند که به USB HAL نسخه ۲.۰ نیاز دارد و برای دستگاه‌های دارای اندروید ۱۳ و بالاتر در دسترس است. از این 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، موارد زیر را پیاده‌سازی کنید:

  1. نسخه صحیح USB HAL. هیچ پیاده‌سازی رابط کاربری سیستمی لازم نیست.

  2. USB AIDL HAL برای رابط برنامه‌نویسی کاربردی تنظیم مجدد پورت USB با تنظیم مجدد اتصال USB بین دستگاه هدف و میزبان.

معماری رابط برنامه‌نویسی کاربردی USB HAL را درک کنید

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

رابط برنامه‌نویسی بازنشانی پورت USB

شکل زیر جریان کد رابط برنامه‌نویسی کاربردی تنظیم مجدد پورت USB را در یک چارچوب، شامل پیاده‌سازی USB HAL، نشان می‌دهد.

نمونه کد API برای بازسازی پورت USB

شکل ۱.۱ نمونه کد API برای بازسازی پورت USB.

اعتبارسنجی پیاده‌سازی شما

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

رابط برنامه‌نویسی بازنشانی پورت USB

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

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

مورد آزمایشی VTS برای USB HAL نسخه ۱.۲ یک مورد آزمایشی سمت میزبان است که می‌توانید برای انجام این اقدامات از آن استفاده کنید.

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

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