Raporlama modları

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 ve t=60 saniye dahil). Adım sayısının değeri t=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.