أوضاع إعداد التقارير

يمكن أن تنشئ أجهزة الاستشعار أحداثًا بطرق مختلفة تُعرف باسم أوضاع إعداد التقارير. يرتبط كل نوع من أجهزة الاستشعار بوضع إعداد تقارير واحد فقط. تتوفّر أربعة أوضاع لإعداد التقارير.

مستمر

يتمّ إنشاء الأحداث بمعدّل ثابت يحدّده المَعلمة sampling_period_ns التي يتمّ تمريرها إلى الدالة batch. تشمل أمثلة أدوات الاستشعار التي تستخدم وضع إعداد التقارير المستمر أدوات قياس التسارع والجيروسكوبات.

عند التغيير

لا يتمّ إنشاء الأحداث إلا إذا تغيّرت القيم المقاسة. يؤدي تفعيل أداة الاستشعار على مستوى HAL (باستخدام activate(..., enable=1)) إلى بدء حدث أيضًا، ما يعني أنّه يجب أن يعرض HAL حدثًا على الفور عند تفعيل أداة استشعار عند التغيُّر. تشمل أمثلة أجهزة الاستشعار التي تستخدم وضع إعداد التقارير عند التغيير كلاً من أنواع عداد الخطوات وأجهزة استشعار التقارب وأجهزة استشعار معدل ضربات القلب.

تُستخدَم المَعلمة sampling_period_ns التي تم تمريرها إلى الدالة batch لضبط الحد الأدنى للوقت بين الأحداث المتتالية، ما يعني أنّه لا يجب إنشاء حدث إلى أن يتم مرور sampling_period_ns نانوسانية منذ الحدث الأخير، حتى إذا تغيّرت القيمة منذ ذلك الحين. إذا تغيّرت القيمة، يجب إنشاء حدث بعد مرور sampling_period_ns منذ الحدث الأخير.

على سبيل المثال، لنفترض ما يلي:

  • ننظّم عداد الخطوات باستخدام sampling_period_ns = 10 * 10^9 (10 ثوانٍ).
  • نمشي لمدة 55 ثانية، ثم نقف لمدة دقيقة واحدة.
  • يتم إنشاء الأحداث كل 10 ثوانٍ تقريبًا خلال المدّة الأولى (بما في ذلك في الوقت t=0 بسبب بدء تشغيل المستشعر، وt=60 ثانية)، بإجمالي سبعة أحداث. لا يتمّ إنشاء أيّ حدث في الدقيقة الثانية لأنّ قيمة عدد الخطوات لم تتغيّر بعد t=60 ثانية.

طلب بمثال واحد

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

يُشار أحيانًا إلى أجهزة الاستشعار التي تعمل لمرة واحدة باسم أجهزة استشعار التنشيط.

يتم تجاهل المَعلمتَين sampling_period_ns وmax_report_latency_ns اللتين تم تمريرهما إلى الدالة batch. لا يمكن تخزين الأحداث من الأحداث لمرة واحدة في قوائم FIFO للأجهزة، ويجب الإبلاغ عن الأحداث فور إنشائها.

الأحداث الخاصة

اطّلِع على أوصاف نوع الاستشعار الفردية لمعرفة تفاصيل حول وقت إنشاء الأحداث.