Android акселерометр миллисекунда или микросекунда? - PullRequest
2 голосов
/ 25 апреля 2011

Итак, я получаю данные акселерометра с помощью HTC EVO.Я получаю такие значения для времени.

967454610000 967534902000 967613576000 967692434000

Разница между этими значениями составляет около 80 000 000.В документации говорится: «Значение должно быть одним из SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI, SENSOR_DELAY_GAME или SENSOR_DELAY_FASTEST. Или желаемой задержки между событиями в микросекундах ."

, поэтому я использую SENSORIDELAYЯ предположил, что время микросекунды.Это не имеет смысла, поскольку это означает, что каждый временной интервал составляет около 80 секунд.Было бы более разумно, если бы они были в наносекундах, что означало бы, что временной интервал составляет около 0,08 секунды, или 12 данных были получены в каждую секунду.Но тогда это противоречило бы документации.Кто-нибудь знает, какой временной интервал?

Большое спасибо!

Ответы [ 2 ]

5 голосов
/ 25 апреля 2011

Итак, я получаю данные акселерометра с помощью HTC EVO.Я получаю такие значения для времени.

967454610000 967534902000 967613576000 967692434000

Эти значения получены из timestamp члена SensorEvent экземпляра ?Если это так, то это время в наносекундах в соответствии с документацией.Таким образом, задержка составляет не около 80 000 000 микросекунд, а фактически около 80 000 микросекунд, или 0,08 секунды, что дает частоту 12,5 событий в секунду.

1 голос
/ 05 сентября 2016

Задержка датчика для пользовательского интерфейса Android составляет 60000 микросекунд. Что составляет 0,06 секунды и, следовательно, частота 16 Гц. Аналогично для GAME задержка составляет 20 000 микросекунд (50 Гц).

Задание постоянной задержки в микросекундах (40000) должно дать нам 25 Гц, но это не так. Согласно документации, это всего лишь подсказка для минимальной задержки, и диспетчер датчиков будет выдавать значения быстрее, чем это. Согласно моему эксперименту, установка 40000 микросекунд дает частоту 50 Гц.

...