Mode pelaporan

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, dan t=60 detik), dengan total tujuh peristiwa. Tidak ada kejadian yang dihasilkan pada menit kedua karena nilai hitungan langkah tidak berubah setelah t=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.