Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Режимы отчетности

Датчики могут генерировать события разными способами, называемыми режимами отчетности; Каждый тип датчика имеет один и только один связанный с ним режим отчетности. Существуют четыре режима отчетности.

Непрерывный

События генерируются с постоянной скоростью, определяемой параметром sampling_period_ns переданным в batch функцию. Примерами датчиков, использующих режим непрерывной отчетности, являются акселерометры и гироскопы .

По изменению

События генерируются, только если измеренные значения изменились. Активация датчика на уровне HAL (вызов для него activate(..., enable=1) ) также запускает событие, то есть HAL должен немедленно возвращать событие, когда активируется датчик изменения. Примерами датчиков, использующих режим сообщения об изменении, являются датчики шагов, приближения и датчики частоты пульса.

Параметр sampling_period_ns переданный в batch функцию, используется для установки минимального времени между последовательными событиями, то есть событие не должно генерироваться до тех пор, пока с момента последнего события не sampling_period_ns наносекунды sampling_period_ns , даже если с тех пор значение изменилось. Если значение изменилось, событие должно быть сгенерировано, как только sampling_period_ns истечет с момента последнего события.

Например, предположим:

  • Активируем счетчик шагов с помощью sampling_period_ns = 10 * 10^9 (10 секунд).
  • Мы ходим 55 секунд, затем стоим одну минуту.
  • События генерируются примерно каждые 10 секунд в течение первой минуты (включая момент времени t=0 из-за активации датчика и t=60 секунд), всего семь событий. Во вторую минуту событие не генерируется, поскольку значение счетчика шагов не изменилось после t=60 секунд.

Один выстрел

При обнаружении события датчик деактивируется, а затем отправляет одно событие через HAL. Порядок имеет значение, чтобы избежать условий гонки. (Датчик должен быть деактивирован до того, как о событии будет сообщено через HAL). Никакое другое событие не отправляется, пока датчик не будет повторно активирован. Существенное движение - пример такого датчика.

Одноразовые датчики иногда называют датчиками триггера.

Параметры sampling_period_ns и max_report_latency_ns переданные в batch функцию, игнорируются. События из одноразовых событий не могут быть сохранены в аппаратных FIFO; о событиях необходимо сообщать сразу после их создания.

Специальный

Подробные сведения о том, когда генерируются события, см. В описании отдельных типов датчиков .