Modalità di segnalazione

I sensori possono generare eventi in diversi modi chiamati modalità di segnalazione; ad ogni tipo di sensore è associata una ed una sola modalità di reporting. Esistono quattro modalità di segnalazione.

Continuo

Eventi vengono generati ad una velocità costante definito dalle sampling_period_ns parametro passato al batch funzione. Sensori esempio utilizzando la modalità di segnalazione continuo sono accelerometri e giroscopi .

Al cambio

Gli eventi vengono generati solo se i valori misurati sono cambiati. Attivazione del sensore a livello HAL (chiamata activate(..., enable=1) su di esso) innesca anche un evento, cioè la HAL deve restituire un evento immediatamente quando viene attivato un sensore in cambiamento. I sensori di esempio che utilizzano la modalità di segnalazione al cambio sono i tipi di sensore di contapassi, di prossimità e di frequenza cardiaca.

I sampling_period_ns parametro passato al batch funzione viene utilizzata per impostare il tempo minimo tra eventi consecutivi, cioè un evento non deve essere generato finché sampling_period_ns nanosecondi trascorsi dall'ultimo evento, anche se il valore è cambiato da allora. Se il valore è cambiato, un evento deve essere generato non appena sampling_period_ns ha trascorso dall'ultimo evento.

Ad esempio, supponiamo:

  • Si attiva il contapassi con sampling_period_ns = 10 * 10^9 (10 secondi).
  • Camminiamo per 55 secondi, poi rimaniamo fermi per un minuto.
  • Gli eventi sono generati ogni 10 secondi durante il primo minuto (anche all'atto t=0 causa dell'attivazione del sensore, e t=60 secondi), per un totale di sette eventi. Nessun evento viene generato nel secondo minuto perché il valore del conteggio dei passi non è cambiato dopo t=60 secondi.

Un colpo

Al rilevamento di un evento, il sensore si disattiva e quindi invia un singolo evento tramite l'HAL. L'ordine è importante per evitare condizioni di gara. (Il sensore deve essere disattivato prima che l'evento venga segnalato tramite l'HAL). Nessun altro evento viene inviato fino alla riattivazione del sensore. Movimento significativo è un esempio di questo tipo di sensore.

I sensori one-shot sono talvolta indicati come sensori trigger.

I sampling_period_ns e max_report_latency_ns parametri passati al batch funzione vengono ignorati. Gli eventi di eventi one-shot non possono essere archiviati in FIFO hardware; gli eventi devono essere segnalati non appena generati.

Speciale

Vedere le singole descrizioni del tipo sensore particolari quando gli eventi vengono generati.