เซ็นเซอร์สร้างเหตุการณ์ได้หลายวิธีที่เรียกว่าโหมดการรายงาน เซ็นเซอร์แต่ละประเภทจะมีโหมดการรายงานที่เชื่อมโยงอยู่เพียงโหมดเดียว โหมดการรายงานมี 4 โหมด
ต่อเนื่อง
ระบบจะสร้างเหตุการณ์ในอัตราคงที่ซึ่งกำหนดโดยพารามิเตอร์
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 วินาที แล้วยืนนิ่งเป็นเวลา 1 นาที
- ระบบจะสร้างเหตุการณ์ทุกๆ 10 วินาทีในช่วงนาทีแรก (รวมถึงที่เวลา
t=0
เนื่องจากมีการเปิดใช้งาน เซ็นเซอร์ และt=60
วินาที) รวมเป็นเหตุการณ์ทั้งหมด 7 รายการ ไม่มีการสร้างเหตุการณ์ในนาทีที่ 2 เนื่องจากค่า ของจำนวนก้าวไม่ได้เปลี่ยนแปลงหลังจากผ่านไปt=60
วินาที
ครั้งเดียว
เมื่อตรวจพบเหตุการณ์ เซ็นเซอร์จะปิดใช้งานตัวเองแล้วส่ง เหตุการณ์เดียวผ่าน HAL ลำดับมีความสำคัญเพื่อหลีกเลี่ยงสภาวะแข่งขัน (ต้องปิดใช้งานเซ็นเซอร์ก่อนรายงานเหตุการณ์ผ่าน HAL) ระบบจะไม่ส่งเหตุการณ์อื่นจนกว่าจะเปิดใช้งานเซ็นเซอร์อีกครั้ง การเคลื่อนไหว ที่สำคัญเป็นตัวอย่างของเซ็นเซอร์ประเภทนี้
บางครั้งเซ็นเซอร์แบบครั้งเดียวจะเรียกว่าเซ็นเซอร์ทริกเกอร์
ระบบจะไม่สนใจพารามิเตอร์ sampling_period_ns
และ max_report_latency_ns
ที่ส่งไปยังฟังก์ชัน batch
ระบบจะจัดเก็บเหตุการณ์
จากเหตุการณ์แบบครั้งเดียวใน FIFO ของฮาร์ดแวร์ไม่ได้ และต้องรายงานเหตุการณ์
ทันทีที่สร้างขึ้น
พิเศษ
ดูรายละเอียดเกี่ยวกับเวลาที่ระบบสร้างเหตุการณ์ได้ในคำอธิบายประเภทเซ็นเซอร์ แต่ละรายการ