Sensörler, raporlama modları adı verilen farklı yollarla olayları oluşturabilir; her sensör tipinin kendisiyle ilişkilendirilmiş tek bir raporlama modu vardır. Dört raporlama modu mevcuttur.
Sürekli
Olaylar, batch
işlevine iletilen sampling_period_ns
parametresi tarafından tanımlanan sabit bir hızda oluşturulur. Sürekli raporlama modunu kullanan örnek sensörler ivmeölçerler ve jiroskoplardır .
Değişim sırasında
Olaylar yalnızca ölçülen değerler değiştiğinde oluşturulur. Sensörün HAL seviyesinde etkinleştirilmesi (bunun üzerinde activate(..., enable=1)
çağrılması) aynı zamanda bir olayı tetikler; bu, bir değişim sensörü etkinleştirildiğinde HAL'nin hemen bir olay döndürmesi gerektiği anlamına gelir. Değişiklik raporlama modunu kullanan örnek sensörler, adım sayacı, yakınlık ve kalp atış hızı sensörü türleridir.
batch
işlevine iletilen sampling_period_ns
parametresi, ardışık olaylar arasındaki minimum süreyi ayarlamak için kullanılır; bu, değer o zamandan bu yana değişse bile, son olaydan bu yana sampling_period_ns
nanosaniye geçene kadar bir olayın oluşturulmaması gerektiği anlamına gelir. Değer değiştiyse, son olaydan bu yana sampling_period_ns
geçer geçmez bir olay oluşturulmalıdır.
Örneğin şunu varsayalım:
-
sampling_period_ns = 10 * 10^9
(10 saniye) ile adım sayacını aktif hale getiriyoruz. - 55 saniye yürüyoruz, sonra bir dakika hareketsiz kalıyoruz.
- Olaylar, toplam yedi olay için ilk dakika boyunca yaklaşık her 10 saniyede bir üretilir (sensörün aktivasyonundan dolayı
t=0
vet=60
saniye dahil). Adım sayısının değerit=60
saniyeden sonra değişmediğinden ikinci dakikada herhangi bir olay oluşturulmaz.
Tek atış
Bir olayın algılanması üzerine sensör kendisini devre dışı bırakır ve ardından HAL aracılığıyla tek bir olay gönderir. Yarış koşullarından kaçınmak için sıralama önemlidir. (Olay HAL aracılığıyla bildirilmeden önce sensör devre dışı bırakılmalıdır). Sensör yeniden etkinleştirilene kadar başka hiçbir olay gönderilmez. Önemli hareket bu tür sensörlere bir örnektir.
Tek atımlı sensörlere bazen tetiklemeli sensörler adı verilir.
batch
işlevine iletilen sampling_period_ns
ve max_report_latency_ns
parametreleri göz ardı edilir. Tek seferlik olaylardan kaynaklanan olaylar donanım FIFO'larında saklanamaz; olaylar meydana gelir gelmez rapor edilmelidir.
Özel
Olayların ne zaman oluşturulduğuna ilişkin ayrıntılar için ayrı sensör tipi açıklamalarına bakın.