Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Modes de rapport

Les capteurs peuvent générer des événements de différentes manières appelées modes de rapport; chaque type de capteur a un et un seul mode de rapport qui lui est associé. Il existe quatre modes de rapport.

Continu

Les événements sont générés à une fréquence constante définie par le paramètre sampling_period_ns transmis à la fonction batch . Des exemples de capteurs utilisant le mode de rapport continu sont les accéléromètres et les gyroscopes .

Sur le changement

Les événements ne sont générés que si les valeurs mesurées ont changé. L'activation du capteur au niveau HAL (appel de activate(..., enable=1) sur celui-ci) déclenche également un événement, ce qui signifie que le HAL doit renvoyer un événement immédiatement lorsqu'un capteur en changement est activé. Des exemples de capteurs utilisant le mode de rapport lors du changement sont les types de capteur de pas, de proximité et de fréquence cardiaque.

Le paramètre sampling_period_ns passé à la fonction batch est utilisé pour définir le temps minimum entre les événements consécutifs, ce qui signifie qu'un événement ne doit pas être généré avant que sampling_period_ns nanosecondes ne se soit écoulé depuis le dernier événement, même si la valeur a changé depuis. Si la valeur a changé, un événement doit être généré dès que sampling_period_ns s'est écoulé depuis le dernier événement.

Par exemple, supposons:

  • Nous activons le compteur de pas avec sampling_period_ns = 10 * 10^9 (10 secondes).
  • Nous marchons pendant 55 secondes, puis restons immobiles pendant une minute.
  • Les événements sont générés environ toutes les 10 secondes pendant la première minute (y compris au temps t=0 fait de l'activation du capteur, et t=60 secondes), pour un total de sept événements. Aucun événement n'est généré dans la seconde minute car la valeur du nombre de pas n'a pas changé après t=60 secondes.

Un tir

Lors de la détection d'un événement, le capteur se désactive et envoie ensuite un seul événement via la HAL. L'ordre compte pour éviter les conditions de course. (Le capteur doit être désactivé avant que l'événement ne soit signalé via la HAL). Aucun autre événement n'est envoyé tant que le capteur n'est pas réactivé. Un mouvement significatif est un exemple de ce type de capteur.

Les capteurs à un coup sont parfois appelés capteurs de déclenchement.

Les paramètres sampling_period_ns et max_report_latency_ns transmis à la fonction batch sont ignorés. Les événements d'événements ponctuels ne peuvent pas être stockés dans des FIFO matérielles; les événements doivent être signalés dès leur génération.

Spécial

Voir les descriptions des types de capteurs individuels pour plus de détails sur le moment où les événements sont générés.