เซนเซอร์ Multi-HAL

Sensors Multi-HAL เป็นเฟรมเวิร์กที่ช่วยให้เซ็นเซอร์ HAL สามารถทำงานควบคู่ไปกับเซ็นเซอร์ HAL อื่นๆ Sensors Multi-HAL โหลด HAL ย่อยของเซ็นเซอร์ที่จัดเก็บเป็นไลบรารีไดนามิกบนพาร์ติชันผู้จัดจำหน่ายแบบไดนามิก และให้วัตถุเรียกกลับที่สามารถจัดการกับเหตุการณ์การโพสต์และรับและปล่อย Wake Lock HAL ย่อยของเซ็นเซอร์คือ HAL เซ็นเซอร์ที่สร้างขึ้นในอ็อบเจ็กต์ที่ใช้ร่วมกันบนพาร์ติชันของผู้จัดจำหน่าย และถูกใช้โดยเฟรมเวิร์ก multi-HAL HAL ย่อยเหล่านี้ไม่ได้พึ่งพาอาศัยกันหรือโค้ด HAL หลายตัวที่มีฟังก์ชันหลักสำหรับกระบวนการ

เซนเซอร์หลาย HAL 2.1 ที่มีอยู่บนอุปกรณ์ที่ใช้ Android 11 หรือสูงกว่าเป็นซ้ำของเซนเซอร์หลาย HAL 2.0 ที่รองรับการโหลดย่อย HALs ที่สามารถเปิดเผยได้ บานพับมุม เซ็นเซอร์ประเภท เพื่อสนับสนุนการเซ็นเซอร์ประเภทนี้ย่อย HALs ต้องใช้ API ย่อย HAL ที่กำหนดไว้ใน ส่วนหัว 2.1 SubHal

ความแตกต่างระหว่างเซนเซอร์ Multi-HAL 2 และเซนเซอร์ HAL 2

เซนเซอร์หลาย HAL 2 ที่มีอยู่บนอุปกรณ์ที่ใช้ Android 10 หรือสูงกว่าแนะนำหลายแนวคิดด้านบนของ เซนเซอร์ HAL 2 เพื่อให้ง่ายในการโต้ตอบกับ APIs HAL เซนเซอร์หลาย HAL 2 เปิดตัว HalProxy ระดับที่จะจัดการกับการใช้เซนเซอร์ HAL 2 อินเตอร์เฟซและ V2_1/SubHal (หรือ V2_0/SubHal ) อินเตอร์เฟซที่จะอนุญาตให้ HalProxy ในการโต้ตอบกับย่อย HALs

ISensorsSubHal อินเตอร์เฟซที่แตกต่างจาก 2.1/ISensors.hal (หรือ 2.0/ISensors.hal ) อินเตอร์เฟซในรูปแบบต่อไปนี้:

  • วิธีการเริ่มต้นผ่าน IHalProxyCallback ชั้นแทนของทั้งสอง FMQs และ ISensorsCallback
  • HAL ย่อยต้องใช้ฟังก์ชันดีบักเพื่อให้ข้อมูลการดีบักในรายงานจุดบกพร่อง
  • HAL ย่อยต้องใช้ฟังก์ชันชื่อเพื่อให้สามารถแยกความแตกต่างระหว่าง HAL ย่อยที่โหลดจาก HAL ย่อยอื่นๆ

ความแตกต่างที่สำคัญระหว่างเซนเซอร์ Multi-HAL 2 และเซนเซอร์ HAL 2 อยู่ในฟังก์ชันเริ่มต้น แทนที่จะให้ FMQs ที่ IHalProxyCallback อินเตอร์เฟซที่มีสองวิธีวิธีการหนึ่งที่จะมีเหตุการณ์เซ็นเซอร์โพสต์ไปยังกรอบเซ็นเซอร์และวิธีการหนึ่งในการสร้างล็อคปลุก ภายใต้ประทุน Sensors Multi-HAL จะจัดการการโต้ตอบทั้งหมดกับ FMQ เพื่อให้แน่ใจว่ามีการส่งเหตุการณ์เซ็นเซอร์สำหรับ HAL ย่อยทั้งหมดอย่างทันท่วงที ก็ขอแนะนำให้ย่อย HALs ใช้ createScopedWakelock วิธีการที่จะมอบหมายภาระของระยะเวลาการปลุกล็อคกับเซนเซอร์หลาย HAL และการใช้งานปลุกล็อครวมศูนย์ให้เป็นหนึ่งล็อคตื่นทั่วไปสำหรับทั้งเซนเซอร์หลาย HAL, ซึ่งช่วยลดการล็อกและปลดล็อก โทร.

เซ็นเซอร์ Multi-HAL 2 ยังมีคุณสมบัติด้านความปลอดภัยในตัวอีกด้วย มันจัดการสถานการณ์ที่เซ็นเซอร์ FMQ เต็มหรือที่ที่เฟรมเวิร์กเซ็นเซอร์ Android รีสตาร์ทและต้องรีเซ็ตสถานะเซ็นเซอร์ นอกจากนี้เมื่อเหตุการณ์ที่จะโพสต์ไปยัง HalProxy ชั้น แต่กรอบการเซ็นเซอร์ไม่สามารถที่จะยอมรับเหตุการณ์ที่เกิดขึ้นทันทีที่เซนเซอร์หลาย HAL สามารถย้ายเหตุการณ์ที่เกิดขึ้นด้ายพื้นหลังเพื่อให้การทำงานที่จะดำเนินการในทุกย่อย HALs ขณะที่รอให้เหตุการณ์ที่เกิดขึ้น ที่จะโพสต์

ซอร์สโค้ดและการใช้งานอ้างอิง

ทั้งหมดรหัสเซนเซอร์หลาย HAL มีอยู่ใน hardware/interfaces/sensors/common/default/2.X/multihal/ / นี่คือตัวชี้ไปยังแหล่งข้อมูลบางส่วน

  • HalProxy.h : ผู้ HalProxy วัตถุถูกสร้างโดยเซนเซอร์หลาย HAL และจัดการการส่งผ่านข้อมูลจากย่อย HALs กรอบเซ็นเซอร์
  • HalProxy.cpp : การดำเนินงานของ HalProxy มีตรรกะทั้งหมดที่จำเป็นในการสื่อสารระหว่าง multiplex ย่อย HALs และกรอบการเซ็นเซอร์
  • SubHal.h : ผู้ ISensorsSubHal อินเตอร์เฟซที่กำหนดอินเตอร์เฟซที่ย่อย HAL ที่ต้องทำตามการใช้งานร่วมกับ HalProxy ดำเนินย่อย HAL วิธีการเริ่มต้นเพื่อให้ HalProxyCallback วัตถุที่สามารถใช้สำหรับ postEvents และ createScopedWakelock

    สำหรับ Multi-HAL 2.0 การใช้งานที่ใช้รุ่น 2.0 SubHal.h

  • hardware/interfaces/sensors/common/default/2.X/multihal/tests/ : การทดสอบหน่วยเหล่านี้ตรวจสอบ HalProxy การดำเนินงาน

  • hardware/interfaces/sensors/common/default/2.X/multihal/tests/fake_subhal/ : เซ็นเซอร์นี้ตัวอย่างเช่นย่อย HAL ใช้การดำเนินการปลอมในการสร้างข้อมูลปลอม มีประโยชน์สำหรับการทดสอบว่า HAL ย่อยหลายรายการโต้ตอบกันอย่างไรบนอุปกรณ์

การดำเนินการ

ส่วนนี้อธิบายวิธีการใช้ Sensors Multi-HAL ในสถานการณ์ต่อไปนี้:

การติดตั้งเซ็นเซอร์ Multi-HAL 2.1

ในการปรับใช้ Sensors Multi-HAL 2.1 บนอุปกรณ์ใหม่ ให้ทำตามขั้นตอนเหล่านี้:

  1. ใช้ ISensorsSubHal อินเตอร์เฟซที่อธิบายไว้ใน SubHal.h
  2. ใช้ sensorsHalGetSubHal_2_1 วิธีการใน SubHal.h
  3. เพิ่ม cc_library_shared เป้าหมายที่จะสร้างขึ้นใหม่ดำเนินการย่อย HAL เมื่อเพิ่มเป้าหมาย:

    1. ตรวจสอบให้แน่ใจว่าเป้าหมายถูกผลักไปที่ใดที่หนึ่งบนพาร์ติชั่นผู้จำหน่ายของอุปกรณ์
    2. ในไฟล์ config อยู่ที่ /vendor/etc/sensors/hals.conf เพิ่มเส้นทางไปยังห้องสมุดในบรรทัดใหม่ หากจำเป็นต้องสร้าง hals.conf ไฟล์

    สำหรับตัวอย่าง Android.bp รายการสำหรับการสร้างห้องสมุดย่อย HAL ดู hardware/interfaces/sensors/common/default/2.X/multihal/tests/Android.bp

  4. ลบทั้งหมด android.hardware.sensors รายการจาก manifest.xml ไฟล์ซึ่งมีรายชื่อของ HAL ที่ได้รับการสนับสนุนบนอุปกรณ์

  5. ลบทั้งหมด android.hardware.sensors บริการและการ service.rc ไฟล์จาก device.mk ไฟล์และเพิ่ม android.hardware.sensors@2.1-service.multihal และ android.hardware.sensors@2.1-service.multihal.rc เพื่อ PRODUCT_PACKAGES

ในการบูต HalProxy เริ่มต้นมองหาการดำเนินการใหม่ย่อย HAL และเริ่มต้นโดยเรียก sensorsHalGetSubHal_2_1

การย้ายจากเซนเซอร์ Multi-HAL 2.0 ไปยัง Multi-HAL 2.1

ไปยังพอร์ตจากหลาย HAL 2.0 Multi-HAL 2.1 ใช้ SubHal อินเตอร์เฟซและ recompile ย่อย HAL ของคุณ

เหล่านี้เป็นความแตกต่างระหว่าง 2.0 และ 2.1 SubHal อินเตอร์เฟซ:

  • IHalProxyCallback ใช้ชนิดที่สร้างขึ้นในรุ่น 2.1 ของ ISensors.hal specifcation
  • initialize() ฟังก์ชั่นผ่านใหม่ IHalProxyCallback แทนหนึ่งจาก 2.0 SubHal อินเตอร์เฟซ
  • Sub-HAL ที่จะต้องดำเนินการ getSensorsList_2_1 และ injectSensorData_2_1 แทน getSensorsList และ injectSensorData เป็นวิธีการเหล่านี้ใช้รูปแบบใหม่เพิ่มเข้ามาในรุ่น 2.1 ของ ISensors.hal สเปค
  • Sub-HALs ต้องเปิดเผย sensorsHalGetSubHal_2_1 มากกว่า sensorsHalGetSubHal สำหรับ Multi-HAL เพื่อรักษาพวกเขาเป็นรุ่น 2.1 ย่อย HALs

การย้ายจากเซนเซอร์ HAL 2.0

เมื่ออัพเกรดเซนเซอร์หลาย HAL 2.0 จาก เซนเซอร์ HAL 2.0 , ให้การดำเนินงาน HAL เป็นไปตามข้อกำหนดดังต่อไปนี้

การเริ่มต้นHAL

เซ็นเซอร์ HAL 2.0 มีฟังก์ชันเริ่มต้นที่ช่วยให้บริการเซ็นเซอร์ส่งผ่าน FMQ และการเรียกกลับของเซ็นเซอร์แบบไดนามิก ในเซนเซอร์หลาย HAL 2.0 initialize() ฟังก์ชั่นผ่านการเรียกกลับเดียวที่ต้องใช้ในการโพสต์เหตุการณ์เซ็นเซอร์ขอรับล็อคตื่นและแจ้งของการเชื่อมต่อเซ็นเซอร์แบบไดนามิกและ disconnections

การโพสต์เหตุการณ์เซ็นเซอร์ในการใช้งาน Multi-HAL

แทนการโพสต์เหตุการณ์เซ็นเซอร์ผ่าน FMQ ย่อย HAL ต้องเขียนเหตุการณ์เซ็นเซอร์ไป IHalProxyCallback เมื่อมีเหตุการณ์เซ็นเซอร์ที่มีอยู่

กิจกรรม WAKE_UP

ในเซ็นเซอร์ HAL 2.0 HAL สามารถจัดการ Wake Lock สำหรับการใช้งานได้ ในเซนเซอร์หลาย HAL 2.0 ย่อย HAL ที่อนุญาตให้มีการดำเนินการหลาย HAL ในการจัดการล็อคปลุกและสามารถขอได้ล็อคปลุกที่จะได้มาโดยการเรียก createScopedWakelock ล็อคล็อคตื่นขอบเขตต้องได้รับและส่งผ่านไปยัง postEvents เมื่อตื่นขึ้นโพสต์กิจกรรมเพื่อการดำเนินงานหลาย HAL

ไดนามิกเซนเซอร์

เซนเซอร์หลาย HAL 2.0 กำหนดว่า onDynamicSensorsConnected และ onDynamicSensorsDisconnected ใน IHalProxyCallback จะเรียกว่าเมื่อใดก็ตามที่มีการเปลี่ยนแปลงแบบไดนามิกการเชื่อมต่อเซ็นเซอร์ เรียกกลับเหล่านี้มีอยู่เป็นส่วนหนึ่งของ IHalProxyCallback ชี้ที่ให้ไว้ผ่าน initialize() ฟังก์ชั่น

การย้ายจากเซนเซอร์ HAL 1.0

เมื่ออัพเกรดเซนเซอร์หลาย HAL 2.0 จาก เซนเซอร์ HAL 1.0 , ให้การดำเนินงาน HAL เป็นไปตามข้อกำหนดดังต่อไปนี้

การเริ่มต้นHAL

initialize() ฟังก์ชั่นจะต้องได้รับการสนับสนุนในการสร้างการเรียกกลับระหว่างย่อย HAL และการดำเนินงานหลาย HAL

การเปิดเผยเซ็นเซอร์ที่มีอยู่

ในเซนเซอร์หลาย HAL 2.0 getSensorsList() ฟังก์ชั่นจะต้องกลับค่าเดียวกันในระหว่างการบูตเครื่องเดียวแม้ทั่วเซ็นเซอร์ HAL เตะ ซึ่งช่วยให้เฟรมเวิร์กพยายามสร้างการเชื่อมต่อเซ็นเซอร์ใหม่หากเซิร์ฟเวอร์ระบบรีสตาร์ท ค่าส่งกลับโดย getSensorsList() สามารถเปลี่ยนหลังจากที่อุปกรณ์ทำการรีบูต

การโพสต์เหตุการณ์เซ็นเซอร์ในการใช้งาน Multi-HAL

ในเซนเซอร์ HAL 2.0 แทนการรอคอยสำหรับ poll() จะเรียกว่า sub-HAL ต้องเซ็นเซอร์เหตุการณ์การเขียนในเชิงรุกเพื่อ IHalProxyCallback เมื่อมีเหตุการณ์เซ็นเซอร์ที่มีอยู่

กิจกรรม WAKE_UP

ในเซนเซอร์ HAL 1.0 HAL สามารถจัดการ Wake Lock สำหรับการใช้งานได้ ในเซนเซอร์หลาย HAL 2.0 ย่อย HAL ที่ช่วยให้การดำเนินงานหลาย HAL ในการจัดการล็อคปลุกและสามารถขอได้ล็อคปลุกที่จะได้มาโดยการเรียก createScopedWakelock ล็อคล็อคตื่นขอบเขตต้องได้รับและส่งผ่านไปยัง postEvents เมื่อตื่นขึ้นโพสต์กิจกรรมเพื่อการดำเนินงานหลาย HAL

ไดนามิกเซนเซอร์

ในเซนเซอร์ HAL 1.0 เซ็นเซอร์แบบไดนามิกจะถูกส่งกลับผ่าน poll() ฟังก์ชั่น เซนเซอร์หลาย HAL 2.0 กำหนดว่า onDynamicSensorsConnected และ onDynamicSensorsDisconnected ใน IHalProxyCallback จะเรียกว่าเมื่อใดก็ตามที่มีการเปลี่ยนแปลงแบบไดนามิกการเชื่อมต่อเซ็นเซอร์ เรียกกลับเหล่านี้มีอยู่เป็นส่วนหนึ่งของ IHalProxyCallback ชี้ที่ให้ไว้ผ่าน initialize() ฟังก์ชั่น

การย้ายจากเซนเซอร์ Multi-HAL 1.0

กับพอร์ตการดำเนินงานที่มีอยู่จาก เซนเซอร์หลาย HAL 1.0 ทำตามขั้นตอนเหล่านี้

  1. ตรวจสอบให้แน่ใจว่าการตั้งค่าเซ็นเซอร์ HAL ตั้งอยู่ที่ /vendor/etc/sensors/hals.conf. นี้อาจเกี่ยวข้องกับการเคลื่อนย้ายไฟล์อยู่ที่ /system/etc/sensors/hals.conf
  2. ลบการอ้างอิงใด ๆ กับ hardware/hardware.h และ hardware/sensors.h เป็นเหล่านี้จะไม่ได้รับการสนับสนุนสำหรับ HAL 2.0
  3. พอร์ตย่อย HALs ที่อธิบายไว้ใน Porting จากเซนเซอร์ฮัล 1.0
  4. ชุดเซนเซอร์หลาย HAL 2.0 เป็น HAL กำหนดโดยทำตามขั้นตอนที่ 3 และ 4 ใน การใช้เซนเซอร์ Mutli-HAL 2.0 ส่วน

การตรวจสอบความถูกต้อง

เรียกใช้ VTS

เมื่อคุณได้บูรณาการอย่างใดอย่างหนึ่งหรือมากกว่าย่อย HALs กับเซนเซอร์หลาย Hal 2.1 ใช้ ผู้ขาย Test Suite (VTS) เพื่อให้แน่ใจว่าการใช้งานย่อย HAL ของคุณตอบสนองทุกความต้องการที่กำหนดโดยอินเตอร์เฟซเซนเซอร์ HAL

ในการรันเฉพาะเซ็นเซอร์ VTS จะทดสอบเมื่อมีการตั้งค่า VTS บนเครื่องโฮสต์ ให้ดำเนินการคำสั่งต่อไปนี้:

vts-tradefed run commandAndExit vts \
    --skip-all-system-status-check \
    --primary-abi-only \
    --skip-preconditions \
    --module VtsHalSensorsV2_0Target && \
  vts-tradefed run commandAndExit vts \
    --skip-all-system-status-check \
    --primary-abi-only \
    --skip-preconditions \
    --module VtsHalSensorsV2_1Target

การทดสอบหน่วยการวิ่ง

การทดสอบหน่วย HalProxy_test.cpp ทดสอบ HalProxy ใช้ปลอมย่อย HALs ที่ instantiated ในการทดสอบหน่วยและยังไม่ได้โหลดแบบไดนามิก เมื่อสร้าง HAL ย่อยใหม่ การทดสอบเหล่านี้ควรทำหน้าที่เป็นแนวทางในการเพิ่มการทดสอบหน่วยที่ตรวจสอบว่ามีการใช้ HAL ย่อยใหม่อย่างถูกต้อง

ในการรันการทดสอบ ให้รันคำสั่งต่อไปนี้:

cd $ANDROID_BUILD_TOP/hardware/interfaces/sensors/common/default/2.X/multihal/tests
atest

การทดสอบกับ HAL ย่อยปลอม

ปลอมย่อย HAL ที่มีการใช้งานหุ่นของ ISensorsSubHal อินเตอร์เฟซ HAL ย่อยจะเปิดเผยรายการเซ็นเซอร์ต่างๆ เมื่อเซ็นเซอร์จะเปิดใช้งานพวกเขาเป็นระยะ ๆ โพสต์กิจกรรมเซ็นเซอร์สร้างขึ้นโดยอัตโนมัติเพื่อ HalProxy ขึ้นอยู่กับช่วงเวลาที่ระบุไว้ในคำขอเซ็นเซอร์ที่กำหนด

สามารถใช้ HAL ย่อยปลอมเพื่อทดสอบว่าโค้ด Multi-HAL เต็มรูปแบบทำงานอย่างไรกับ HAL ย่อยอื่นๆ ที่โหลดเข้าสู่ระบบ และเน้นแง่มุมต่างๆ ของโค้ด Multi-HAL ของเซนเซอร์

สองปลอมย่อย HAL ที่มีอยู่ที่ hardware/interfaces/sensors/common/default/2.X/multihal/tests/fake_subhal/ /

ในการสร้างและผลัก HAL ย่อยปลอมไปยังอุปกรณ์ ให้ทำตามขั้นตอนต่อไปนี้:

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างและผลัก HAL ย่อยปลอมที่แตกต่างกันสามรายการไปยังอุปกรณ์:

    $ANDROID_BUILD_TOP/hardware/interfaces/sensors/common/default/2.X/multihal/tests/
    mma
    adb push \
      $ANDROID_BUILD_TOP/out/target/product/<device>/symbols/vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config1.so \
      /vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config1.so
    adb push \
      $ANDROID_BUILD_TOP/out/target/product/<device>/symbols/vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config2.so \
      /vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config2.so
    adb push \
      $ANDROID_BUILD_TOP/out/target/product/<device>/symbols/vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config3.so \
      /vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config3.so
    
  2. อัพเดทเซ็นเซอร์ HAL การตั้งค่าที่ /vendor/etc/sensors/hals.conf มีเส้นทางสำหรับปลอมย่อย HALs

    /vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config1.so
    /vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config2.so
    /vendor/lib64/android.hardware.sensors@2.X-fakesubhal-config3.so
    
  3. เริ่มต้นใหม่ HalProxy และโหลดย่อยใหม่ HAL ที่ระบุไว้ในการตั้งค่า

    adb shell stop
    adb shell start
    

แก้จุดบกพร่อง

นักพัฒนาสามารถแก้ปัญหากรอบโดยใช้ lshal คำสั่ง หากต้องการขอเอาต์พุตการดีบักของ Sensors HAL ให้รันคำสั่งต่อไปนี้:

adb root
adb shell lshal debug android.hardware.sensors@2.1::ISensors/default

ข้อมูลเกี่ยวกับสถานะปัจจุบันของ HalProxy และย่อย HALs ของมันคือการส่งออกแล้วไปยังสถานี แสดงด้านล่างเป็นตัวอย่างของการออกคำสั่งสำหรับ HalProxy วัตถุและปลอมย่อย HALs

Internal values:
  Threads are running: true
  Wakelock timeout start time: 200 ms ago
  Wakelock timeout reset time: 73208 ms ago
  Wakelock ref count: 0
  # of events on pending write queue: 0
  # of non-dynamic sensors across all subhals: 8
  # of dynamic sensors across all subhals: 0
SubHals (2):
  Name: FakeSubHal-OnChange
  Debug dump:
Available sensors:
Name: Ambient Temp Sensor
Min delay: 40000
Flags: 2
Name: Light Sensor
Min delay: 200000
Flags: 2
Name: Proximity Sensor
Min delay: 200000
Flags: 3
Name: Relative Humidity Sensor
Min delay: 40000
Flags: 2
  Name: FakeSubHal-OnChange
  Debug dump:
Available sensors:
Name: Ambient Temp Sensor
Min delay: 40000
Flags: 2
Name: Light Sensor
Min delay: 200000
Flags: 2
Name: Proximity Sensor
Min delay: 200000
Flags: 3
Name: Relative Humidity Sensor
Min delay: 40000
Flags: 2

หากหมายเลขที่ระบุไว้สำหรับ # of events on pending write queue เป็นจำนวนมาก (1000 หรือมากกว่า) ซึ่งบ่งชี้ว่ามีหลายเหตุการณ์ที่รอดำเนินการที่จะเขียนกรอบเซ็นเซอร์ สิ่งนี้บ่งชี้ว่าบริการเซ็นเซอร์หยุดชะงักหรือหยุดทำงาน และไม่ประมวลผลเหตุการณ์เซ็นเซอร์ หรือมีการโพสต์เหตุการณ์เซ็นเซอร์จำนวนมากเมื่อเร็วๆ นี้จาก sub-HAL

ถ้าปลุกนับล็อคเตะที่มีค่ามากกว่า 0 ที่นี้หมายถึง HalProxy ได้มาล็อคปลุก นี้ควรจะสูงกว่า 0 ถ้า ScopedWakelock จะถูกจัดขึ้นโดยเจตนาหรือถ้าเหตุการณ์ปลุกถูกส่งไปยัง HalProxy และยังไม่ได้รับการดำเนินการตามกรอบเซ็นเซอร์

อธิบายไฟล์ส่งผ่านไปยังวิธีการแก้ปัญหาของ HalProxy ถูกส่งไปยังแต่ละย่อย HAL ดังนั้นนักพัฒนาจะต้องใช้วิธีการแก้ปัญหาเป็นส่วนหนึ่งของ ISensorsSubHal อินเตอร์เฟซ