Sensörler, raporlama modları adı verilen farklı yollarla olaylar oluşturabilir; her sensör türünün kendisiyle ilişkili bir ve yalnızca bir raporlama modu vardır. Dört raporlama modu mevcuttur.
Sürekli
Olaylar, batch
işlevine geçirilen sampling_period_ns
parametresi tarafından tanımlanan sabit bir oranda oluşturulur. Sürekli raporlama modunu kullanan örnek sensörler ivmeölçerler ve jiroskoplardır .
Değiştirildiğinde
Olaylar, yalnızca ölçülen değerler değiştiğinde oluşturulur. Sensörün HAL seviyesinde activate(..., enable=1)
bunun üzerinde activate(..., enable=1)
çağrısı) aynı zamanda bir olayı tetikler, yani HAL bir değişiklik üzerine sensör etkinleştirildiğinde hemen bir olay döndürmelidir. Değişiklik durumunda 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 beri 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ştirilirse, son olaydan bu yana sampling_period_ns
geçmez bir olay oluşturulmalıdır.
Örneğin, varsayalım:
- Adım sayacını
sampling_period_ns = 10 * 10^9
(10 saniye) ile etkinleştiriyoruz. - 55 saniye yürüdükten sonra bir dakika hareketsiz duruyoruz.
- Olaylar, toplam yedi olay için ilk dakika boyunca (sensörün etkinleştirilmesi nedeniyle
t=0
vet=60
saniye dahil) yaklaşık her 10 saniyede bir oluşturulur. İkinci dakikada hiçbir olay üretilmez çünkü adım sayısının değerit=60
saniye sonra değişmedi.
Tek atış
Bir olayın tespit edilmesi üzerine, sensör kendini 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 sipariş ö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 bir olay gönderilmez. Önemli hareket , bu tür bir sensörün bir örneğidir.
Tek vuruşlu sensörler bazen tetik sensörleri olarak adlandırılır.
batch
işlevine aktarılan sampling_period_ns
ve max_report_latency_ns
parametreleri göz ardı edilir. Tek vuruşlu olaylardan gelen olaylar donanım FIFO'larında saklanamaz; olaylar oluşturulur oluşturulmaz 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.