Sensor dapat menghasilkan peristiwa dengan cara yang berbeda yang disebut mode pelaporan; setiap jenis sensor memiliki satu dan hanya satu mode pelaporan yang terkait dengannya. Ada empat mode pelaporan.
Berkelanjutan
Peristiwa dihasilkan pada kecepatan konstan yang ditentukan oleh
sampling_period_ns
parameter yang diteruskan ke fungsi batch. Contoh sensor
yang menggunakan mode pelaporan berkelanjutan adalah
aksellerometer
dan giroskop.
Sesuai perubahan
Peristiwa hanya dihasilkan jika nilai yang diukur telah berubah.
Mengaktifkan sensor di tingkat HAL (memanggil
activate(..., enable=1) di dalamnya) juga memicu peristiwa,
yang berarti HAL harus segera menampilkan peristiwa saat sensor sesuai perubahan
diaktifkan. Contoh sensor yang menggunakan mode pelaporan sesuai perubahan adalah jenis sensor
penghitung langkah, jarak, dan detak jantung.
Parameter yang diteruskan ke fungsi batch digunakan untuk menetapkan waktu minimum antara peristiwa berurutan, yang berarti peristiwa tidak boleh dihasilkan hingga sampling_period_ns nanodetik berlalu sejak peristiwa terakhir, meskipun nilai berubah sejak saat itu.sampling_period_ns Jika nilai berubah,
peristiwa harus dihasilkan segera setelah sampling_period_ns berlalu sejak peristiwa terakhir.
Misalnya, anggap saja hal berikut:
- Kita 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=0karena aktivasi sensor, dant=60detik), dengan total tujuh peristiwa. Tidak ada peristiwa yang dihasilkan pada menit kedua karena nilai jumlah langkah tidak berubah setelaht=60detik.
Sekali
Setelah mendeteksi peristiwa, sensor akan menonaktifkan dirinya sendiri, lalu mengirim satu peristiwa melalui HAL. Urutan penting untuk menghindari kondisi race. (Sensor harus dinonaktifkan sebelum peristiwa dilaporkan melalui HAL). Tidak ada peristiwa lain yang dikirim hingga sensor diaktifkan kembali. Gerakan signifikan adalah contoh jenis sensor ini.
Sensor sekali terkadang disebut sebagai sensor pemicu.
Parameter sampling_period_ns dan max_report_latency_ns
yang diteruskan ke fungsi batch diabaikan. Peristiwa
dari peristiwa sekali tidak dapat disimpan dalam FIFO hardware; peristiwa harus
dilaporkan segera setelah dihasilkan.
Khusus
Lihat deskripsi jenis sensor individual untuk mengetahui detail tentang kapan peristiwa dihasilkan.