Raporlama modları

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 ve t=60 saniye dahil) oluşturulur ve toplam yedi etkinlik oluşur. Adım sayısı değeri t=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.