يمكن أن تنشئ أجهزة الاستشعار أحداثًا بطرق مختلفة تُعرف باسم أوضاع إعداد التقارير. يرتبط كل نوع من أجهزة الاستشعار بوضع إعداد تقارير واحد فقط. تتوفّر أربعة أوضاع لإعداد التقارير.
مستمر
يتمّ إنشاء الأحداث بمعدّل ثابت يحدّده المَعلمة
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 للأجهزة، ويجب الإبلاغ عن الأحداث
فور إنشائها.
الأحداث الخاصة
اطّلِع على أوصاف نوع الاستشعار الفردية للحصول على تفاصيل عن وقت إنشاء الأحداث.