واجهة برمجة التطبيقات USB Port Reset API

لدعم واجهة برمجة التطبيقات لطبقة تجريد الأجهزة (HAL) للناقل التسلسلي العالمي (USB)، على الشركات المصنّعة للأجهزة تنفيذ إصدار طبقة تجريد الأجهزة (HAL) للناقل التسلسلي العالمي (USB) المتوافق. لاستخدام واجهة برمجة التطبيقات USB HAL، يجب أن يكون لديك تطبيق يتمتع بامتيازات النظام.

يتيح USB HAL استخدام واجهة برمجة التطبيقات USB Port Reset، التي تتطلّب الإصدار 2.0 من USB HAL وتتوفّر للأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. استخدِم واجهة برمجة التطبيقات هذه لإعادة ضبط اتصال USB مع الجهاز المضيف المتصل.

العثور على طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB وواجهات برمجة التطبيقات الخاصة بها

على الشركات المصنّعة للأجهزة تنفيذ طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB لتوفير إمكانية استخدام واجهات برمجة التطبيقات.

  1. للعثور على التنفيذ التلقائي لطبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB، استخدِم المسارات التالية:

    إصدار AIDL (الأحدث): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. للعثور على ملف عنوان واجهة الأجهزة، استخدِم المسار التالي:

    إصدار AIDL (الأحدث): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. للعثور على واجهات برمجة التطبيقات، استخدِم المسار التالي لتحديد موقعها ضمن ملف عنوان AIDL. هذا المسار هو أيضًا نقطة دخول إطار عمل Android لواجهة برمجة التطبيقات:

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

تنفيذ طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB

للعمل مع واجهة برمجة التطبيقات USB HAL، عليك تنفيذ ما يلي:

  1. إصدار USB HAL الصحيح ليس عليك اتّخاذ أي إجراء تقني.

  2. طبقة تجريد الأجهزة (HAL) لواجهة تعريف لغة AIDL لمنفذ USB لإعادة ضبط واجهة برمجة التطبيقات من خلال إعادة ضبط اتصال USB بين جهاز الاختبار والمضيف

فهم بنية واجهة برمجة التطبيقات USB HAL

تم إنشاء واجهة برمجة التطبيقات USB HAL في حزمة android.hardware.usb وتستفيد من USB HAL للتفاعل مع الجهاز. يتم تقديم تفاصيل حول بنية واجهة برمجة التطبيقات في الشكل أدناه.

USB Port Reset API

يوضّح الشكل التالي مسار رمز واجهة برمجة التطبيقات USB Port Reset API في إطار عمل، بما في ذلك تنفيذ USB HAL.

نموذج تسلسل رموز واجهة برمجة التطبيقات لإعادة توصيل منفذ USB

الشكل 1.1 مثال على تدفّق الرمز البرمجي لواجهة برمجة التطبيقات لإعادة توصيل منفذ USB

التحقّق من صحة عملية التنفيذ

يرتبط كل إصدار من USB HAL وواجهة برمجة التطبيقات المقابلة بحالة اختبار في &quot;مجموعة أدوات اختبار المورّد&quot; (VTS).

USB Port Reset API

للعثور على حالة اختبار VTS لواجهة برمجة التطبيقات USB Port Reset، انتقِل إلى:

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

حالة اختبار VTS لواجهة USB HAL الإصدار 1.2 هي حالة اختبار من جهة المضيف يمكنك استخدامها لتنفيذ هذه الإجراءات.

  • لاستدعاء واجهة برمجة التطبيقات USB Port Reset API، استخدِم الأمر adb shell (#svc usb resetUsbPort).

  • تأكَّد من إمكانية فصل الجهاز قيد الاختبار (DUT) وإعادة توصيله.