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