เซ็นเซอร์สามารถสร้างเหตุการณ์ได้หลายวิธีที่เรียกว่าโหมดการรายงาน เซ็นเซอร์แต่ละประเภทมีโหมดการรายงานเพียงโหมดเดียวเท่านั้นที่เชื่อมโยงอยู่ มีโหมดการรายงานสี่โหมด
ต่อเนื่อง
เหตุการณ์จะถูกสร้างขึ้นในอัตราคงที่ซึ่งกำหนดโดยพารามิเตอร์ 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 ของฮาร์ดแวร์ได้ ต้องรายงานเหตุการณ์ทันทีที่เกิดขึ้น
พิเศษ
ดู คำอธิบายประเภทเซนเซอร์ แต่ละตัวเพื่อดูรายละเอียดว่าเหตุการณ์จะเกิดขึ้นเมื่อใด