Акселерометр Android: частота дискретизации?

я хочу

[1] Увеличьте частоту дискретизации акселерометра моего телефона. (SENSOR_DELAY_FASTEST дает макс. около 100 Гц на Xperia / 180 Гц на Nexus4, я хочу, чтобы задержка была около 1 мс или меньше для моей работы.

[2] Если [1] невозможно, могу ли я сделать ставку постоянной.

mSensorManager.registerListener(this, mAccelerometer,10000);//10000 in microsec

Приведенный выше код не дает мне задержку 10 мс. Я знаю, что это всего лишь предложение для Android.

Я знаю, что эти акселерометры внутри телефонов способны давать гораздо меньшую задержку. Это упоминается в их таблицах данных. То же самое можно сказать о любом методе программирования или драйвере / АЦП [1] или [2]. Я использую инструменты ADT. Любой другой инструмент для этого?

P.S: Я читал

Android: как увеличить частоту дискретизации акселерометра?

Невозможность изменить скорость акселерометра


person pxm    schedule 15.07.2013    source источник


Ответы (2)


Из developer.android.com:

Задержка данных (или частота дискретизации) контролирует интервал, с которым события датчика отправляются в ваше приложение с помощью метода обратного вызова onSensorChanged (). Задержка данных по умолчанию подходит для отслеживания типичных изменений ориентации экрана и использует задержку в 200 000 микросекунд. Вы можете указать другие задержки данных, такие как SENSOR_DELAY_GAME (задержка 20 000 микросекунд), SENSOR_DELAY_UI (задержка 60 000 микросекунд) или SENSOR_DELAY_FASTEST (задержка 0 микросекунд). Начиная с Android 3.0 (уровень API 11), вы также можете указать задержку в виде абсолютного значения (в микросекундах).

Но вы должны знать, что указанное вами абсолютное значение в микросекундах - это всего лишь рекомендация для Android.

person user3248182    schedule 29.01.2014
comment
Я знаю это, но мне нужна идеальная постоянная частота дискретизации. - person pxm; 29.01.2014

https://github.com/dantasse/AccelerometerTest - здесь вы можете загрузить исходный код для приложения, которое проверяет вашу реальную частоту дискретизации. Не думаю, что на практике можно добиться 100 Гц и более ... Сейчас я работаю над тестированием частоты дискретизации. Так что ответ на данный момент: вы не можете добиться задержки в 1 миллисекунду (даже теоретически).

person Evgeniy Mishustin    schedule 06.11.2013