Sensörler, raporlama modları adı verilen farklı şekillerde etkinlik oluşturabilir. Her sensör türünün kendisiyle ilişkili yalnızca bir raporlama modu vardır. Dört raporlama modu vardır.
Sürekli
Etkinlikler, 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şimde
Yalnızca ölçülen değerler değiştiyse etkinlikler oluşturulur.
Sensörü HAL düzeyinde etkinleştirmek (activate(..., enable=1)
çağrısı yapmak) da bir etkinlik tetikler. Yani HAL, değişiklik algılayan bir sensör etkinleştirildiğinde hemen bir etkinlik döndürmelidir. Değişken raporlama modunu kullanan sensörlere örnek olarak şunlar verilebilir:
adım sayacı, yakınlık ve nabız sensörü türleri.
İlgili içeriği oluşturmak için kullanılan
sampling_period_ns
.
batch
işlevine geçirilen parametre,
art arda etkinlikler arasındaki minimum süre; yani bir etkinlik,
geçene kadar sampling_period_ns
nanosaniye geçene kadar üretilmiştir
(değer o tarihten sonra değişmiş olsa bile) son etkinlik. Değer değiştiyse
sampling_period_ns
olur olmaz bir etkinlik oluşturulmalıdır
geçen etkinlikten bu yana geçen süredir.
Örneğin, diyelim ki:
sampling_period_ns = 10 * 10^9
ile adım sayacını etkinleştiririz (10 saniye).- 55 saniye boyunca yürür, ardından bir dakika boyunca hareketsiz kalırız.
- Etkinlikler, ilk dakika boyunca yaklaşık 10 saniyede bir (sensörün etkinleştirilmesi nedeniyle
t=0
saniye vet=60
saniye dahil) oluşturulur ve toplam yedi etkinlik oluşur. Adım sayısı değerit=60
saniye sonra değişmediğinden ikinci dakikada etkinlik oluşturulmaz.
Tek seferlik
Bir olay algılandığında sensör kendi kendini devre dışı bırakır ve ardından tek bir etkinlik olması gerekir. Yarışların önlenmesi için sıralama önemlidir. (Sensör, HAL üzerinden etkinlik bildirilmeden önce devre dışı bırakılmalıdır.) Sensör yeniden etkinleştirilene kadar başka etkinlik gönderilmez. Anlamlı hareket, bu tür sensörlere örnektir.
Tek seferlik sensörlere bazen tetikleyici sensörler denir.
sampling_period_ns
ve max_report_latency_ns
batch
işlevine iletilen parametreler yoksayılır. Tek seferlik etkinliklerden gelen etkinlikler donanım FIFO'larında depolanamaz. Etkinlikler oluşturulur oluşturulmaz raporlanmalıdır.
Özel
Her bir sensör türünü inceleyin açıklamaları inceleyin.