โหมดการรายงาน

เซ็นเซอร์สามารถสร้างเหตุการณ์ได้หลายวิธีที่เรียกว่าโหมดการรายงาน เซ็นเซอร์แต่ละประเภทมีโหมดการรายงานเพียงโหมดเดียวเท่านั้นที่เชื่อมโยงอยู่ มีโหมดการรายงานสี่โหมด

ต่อเนื่อง

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

พิเศษ

ดู คำอธิบายประเภทเซนเซอร์ แต่ละตัวเพื่อดูรายละเอียดว่าเหตุการณ์จะเกิดขึ้นเมื่อใด