Raporlama modları

Sensörler, raporlama modları olarak adlandırılan farklı şekillerde olaylar üretebilir; her sensör tipinin kendisiyle ilişkilendirilmiş 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 hızda 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ştiyse oluşturulur. Sensörün HAL düzeyinde etkinleştirilmesi (üzerinde activate(..., enable=1) çağrılması) ayrıca bir olayı tetikler, yani HAL, bir değişime bağlı sensör etkinleştirildiğinde hemen bir olay döndürmesi gerekir. Değişimde 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; yani, değer o zamandan beri değişse bile, son olaydan bu yana sampling_period_ns nanosaniye geçene kadar bir olay oluşturulmamalıdır. Değer değiştiyse, son olaydan bu yana sampling_period_ns geçer 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 aktif hale getiriyoruz.
  • 55 saniye yürüyoruz, sonra bir dakika hareketsiz duruyoruz.
  • Olaylar, toplam yedi olay için ilk dakika boyunca (sensörün aktivasyonu nedeniyle t=0 zamanı ve t=60 saniye dahil) yaklaşık her 10 saniyede bir oluşturulur. Adım sayısının değeri t=60 saniye sonra değişmediği için ikinci dakikada hiçbir olay oluşturulmaz.

Tek atış

Bir olayın algılanması ü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 sıralama önemlidir. (Olay HAL aracılığıyla rapor edilmeden ö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öre bir örnektir.

Tek atış sensörlerine bazen tetik sensörleri denir.

batch işlevine iletilen sampling_period_ns ve max_report_latency_ns parametreleri yok sayılır. Tek seferlik olaylardan gelen olaylar, donanım FIFO'larında saklanamaz; olaylar oluştukları anda 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.