Raporlama modları

Sensörler, raporlama modları adı verilen farklı şekillerde etkinlik oluşturabilir. Her sensör türünün kendisiyle ilişkili tek 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şiklik yapıldığında

Etkinlikler yalnızca ölçülen değerler değiştiyse 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şiklik raporlama modunu kullanan örnek sensörler arasında adım sayar, yakınlık ve nabız sensörü türleri bulunur.

batch işlevine iletilen sampling_period_ns parametresi, art arda gerçekleşen etkinlikler arasındaki minimum süreyi ayarlamak için kullanılır. Yani, değer o zamandan beri değişmiş olsa bile son etkinlikten sampling_period_ns nanosaniye geçene kadar etkinlik oluşturulmaz. Değer değişirse son etkinlikten sampling_period_ns süre geçtiğinde bir etkinlik oluşturulmalıdır.

Örneğin:

  • Adım sayıcıyı sampling_period_ns = 10 * 10^9 ile etkinleştiririz (10 saniye).
  • 55 saniye boyunca yürüyüp 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ı t=60 saniye sonra değişmediğinden ikinci dakikada etkinlik oluşturulmaz.

Tek seferlik

Sensör, bir etkinlik algıladığında kendini devre dışı bırakır ve ardından HAL üzerinden tek bir etkinlik gönderir. Yarışma koşullarını önlemek için sıra ö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. Önemli hareket bu tür bir sensöre örnektir.

Tek seferlik sensörlere bazen tetikleyici sensörler denir.

batch işlevine iletilen sampling_period_ns ve max_report_latency_ns parametreleri yoksayılır. Tek seferlik etkinliklerden gelen etkinlikler donanım FIFO'larında depolanamaz. Etkinlikler oluşturulur oluşturulmaz raporlanmalıdır.

Özel

Etkinliklerin ne zaman oluşturulduğuyla ilgili ayrıntılar için sensör türü açıklamalarına bakın.