Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Berichtsmodi

Sensoren können Ereignisse auf verschiedene Arten erzeugen, die als Berichtsmodi bezeichnet werden. Jedem Sensortyp ist nur ein Berichtsmodus zugeordnet. Es gibt vier Berichtsmodi.

Kontinuierlich

Ereignisse werden mit einer konstanten Geschwindigkeit durch die definierten erzeugt sampling_period_ns Parameter auf die übergebenen batch - Funktion. Beispielsensoren, die den kontinuierlichen Berichtsmodus verwenden, sind Beschleunigungsmesser und Gyroskope .

Bei Änderung

Ereignisse werden nur generiert, wenn sich die Messwerte geändert haben. Das Aktivieren des Sensors auf der HAL-Ebene (Aufruf von activate(..., enable=1) ) löst ebenfalls ein Ereignis aus, was bedeutet, dass die HAL ein Ereignis sofort zurückgeben muss, wenn ein Sensor für den Wechsel aktiviert wird. Beispielsensoren, die den Änderungsberichtsmodus verwenden, sind die Sensortypen Schrittzähler, Näherungssensor und Herzfrequenzsensor.

Die sampling_period_ns Parameter auf den übergebenen batch - Funktion wird verwendet , um die minimale Zeit zwischen aufeinanderfolgenden Ereignissen zu setzen, sollte ein Ereignis Sinn erst erzeugt werden sampling_period_ns ns seit dem letzten Ereignis vergangen ist , auch wenn der Wert sich seitdem verändert. Wenn sich der Wert ändert, muss ein Ereignis generiert werden, sobald sampling_period_ns seit dem letzten Ereignis verstrichen ist.

Angenommen,:

  • Wir aktivieren den Schrittzähler mit sampling_period_ns = 10 * 10^9 (10 Sekunden).
  • Wir gehen 55 Sekunden und stehen dann eine Minute still.
  • Die Ereignisse werden ungefähr alle 10 Sekunden in der ersten Minute (einschließlich zum Zeitpunkt t=0 aufgrund der Aktivierung des Sensors und t=60 Sekunden) für insgesamt sieben Ereignisse erzeugt. In der zweiten Minute wird kein Ereignis generiert, da sich der Wert der Schrittzahl nach t=60 Sekunden nicht geändert hat.

One-Shot

Bei Erkennung eines Ereignisses deaktiviert sich der Sensor selbst und sendet dann ein einzelnes Ereignis über die HAL. Bestellangelegenheiten, um Rennbedingungen zu vermeiden. (Der Sensor muss deaktiviert sein, bevor das Ereignis über die HAL gemeldet wird.) Es wird kein anderes Ereignis gesendet, bis der Sensor wieder aktiviert wird. Eine signifikante Bewegung ist ein Beispiel für diese Art von Sensor.

One-Shot-Sensoren werden manchmal als Triggersensoren bezeichnet.

Die sampling_period_ns und max_report_latency_ns Parameter übergebenen batch - Funktion werden ignoriert. Ereignisse aus One-Shot-Ereignissen können nicht in Hardware-FIFOs gespeichert werden. Die Ereignisse müssen gemeldet werden, sobald sie generiert werden.

Besondere

Einzelheiten dazu, wann die Ereignisse generiert werden, finden Sie in den Beschreibungen der einzelnen Sensortypen .