Sensor dapat menghasilkan peristiwa dengan cara berbeda yang disebut mode pelaporan; setiap jenis sensor memiliki satu dan hanya satu mode pelaporan yang terkait dengannya. Empat mode pelaporan ada.
Kontinu
Peristiwa dihasilkan pada laju konstan yang ditentukan oleh parameter sampling_period_ns
yang diteruskan ke fungsi batch
. Contoh sensor yang menggunakan mode pelaporan berkelanjutan adalah akselerometer dan giroskop .
Dalam perubahan
Peristiwa dihasilkan hanya jika nilai yang diukur telah berubah. Mengaktifkan sensor pada tingkat HAL (memanggil activate(..., enable=1)
di atasnya) juga memicu suatu peristiwa, artinya HAL harus segera mengembalikan suatu peristiwa ketika sensor pada perubahan diaktifkan. Contoh sensor yang menggunakan mode pelaporan saat perubahan adalah jenis sensor penghitung langkah, kedekatan, dan detak jantung.
Parameter sampling_period_ns
yang diteruskan ke fungsi batch
digunakan untuk menyetel waktu minimum antara peristiwa yang berurutan, artinya peristiwa tidak boleh dibuat hingga nanodetik sampling_period_ns
berlalu sejak peristiwa terakhir, meskipun nilainya berubah sejak saat itu. Jika nilainya berubah, suatu peristiwa harus dibuat segera setelah sampling_period_ns
berlalu sejak peristiwa terakhir.
Misalnya, anggaplah:
- Kami mengaktifkan penghitung langkah dengan
sampling_period_ns = 10 * 10^9
(10 detik). - Kita berjalan selama 55 detik, lalu berdiri diam selama satu menit.
- Peristiwa dihasilkan setiap 10 detik selama menit pertama (termasuk pada waktu
t=0
karena pengaktifan sensor, dant=60
detik), dengan total tujuh peristiwa. Tidak ada kejadian yang dihasilkan pada menit kedua karena nilai hitungan langkah tidak berubah setelaht=60
detik.
Satu tembakan
Setelah mendeteksi suatu peristiwa, sensor menonaktifkan dirinya sendiri dan kemudian mengirimkan satu peristiwa melalui HAL. Memesan hal-hal untuk menghindari kondisi balapan. (Sensor harus dinonaktifkan sebelum kejadian dilaporkan melalui HAL). Tidak ada peristiwa lain yang dikirim hingga sensor diaktifkan kembali. Gerakan signifikan adalah contoh dari jenis sensor ini.
Sensor sekali tembak kadang-kadang disebut sebagai sensor pemicu.
Parameter sampling_period_ns
dan max_report_latency_ns
yang diteruskan ke fungsi batch
diabaikan. Peristiwa dari peristiwa sekali tembak tidak dapat disimpan dalam FIFO perangkat keras; peristiwa harus dilaporkan segera setelah mereka dihasilkan.
Spesial
Lihat deskripsi jenis sensor individual untuk detail tentang kapan peristiwa dihasilkan.