Mode pelaporan

Sensor dapat menghasilkan peristiwa dengan berbagai cara yang disebut mode pelaporan; setiap jenis sensor memiliki satu dan hanya satu mode pelaporan yang terkait dengannya. Ada empat mode pelaporan.

Berkelanjutan

Peristiwa dihasilkan dengan laju konstan yang ditentukan oleh sampling_period_ns yang diteruskan ke fungsi batch. Contoh sensor yang menggunakan mode pelaporan berkelanjutan adalah akselerometer dan giroskop.

Siap berubah

Peristiwa hanya dibuat jika nilai yang diukur telah berubah. Mengaktifkan sensor pada tingkat HAL (memanggil activate(..., enable=1)) juga memicu peristiwa, artinya HAL harus segera mengembalikan kejadian ketika sensor perubahan diaktifkan. Contoh sensor yang menggunakan mode pelaporan saat perubahan adalah jenis sensor penghitung langkah, kedekatan, dan detak jantung.

Tujuan sampling_period_ns yang diteruskan ke fungsi batch digunakan untuk mengatur waktu minimum di antara peristiwa berturut-turut, artinya peristiwa tidak boleh dihasilkan hingga sampling_period_ns nanodetik berlalu sejak kejadian terakhir, meskipun nilainya berubah sejak saat itu. Jika nilai berubah, peristiwa harus dibuat segera setelah sampling_period_ns berlalu sejak peristiwa terakhir.

Misalnya:

  • Kami mengaktifkan penghitung langkah dengan sampling_period_ns = 10 * 10^9 (10 detik).
  • Kita berjalan selama 55 detik, lalu diam selama satu menit.
  • Peristiwa dibuat kira-kira setiap 10 detik selama menit (termasuk pada waktu t=0 karena aktivasi sensor, dan t=60 detik), dengan total tujuh peristiwa. Tidak ada peristiwa yang dihasilkan dalam menit kedua karena nilai jumlah langkah tidak berubah setelah t=60 detik.

Satu kali

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 yang signifikan adalah contoh sensor jenis ini.

Sensor one-shot terkadang disebut sebagai sensor pemicu.

sampling_period_ns dan max_report_latency_ns parameter yang diteruskan ke fungsi batch akan diabaikan. Acara dari kejadian satu kali tidak dapat disimpan dalam FIFO perangkat keras; peristiwa harus segera dilaporkan setelah dibuat.

Khusus

Melihat jenis sensor secara terpisah deskripsi untuk mengetahui detail tentang kapan peristiwa dibuat.