Как установить частоту дискретизации 50 Гц акселерометра и гироскопа на android? - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу сохранить данные, собранные акселерометром и гироскопом телефона Android. В частности, я хочу попробовать их на частоте 50 Гц, не больше, не меньше.

Как я могу указать это на Android Java?

Я видел другой пост, где они используйте:

 mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST);

, который принимает максимальное количество образцов, которое могут датчики. Хотя иногда мощность датчиков может превышать 50 Гц, как я могу использовать только 50 Гц?

1 Ответ

0 голосов
/ 27 февраля 2020

Согласно документации , вы можете указать "желаемую задержку между событиями в микросекундах", поэтому она должна быть:

 mSensorManager.registerListener(this, mAccelerometer, 20000); // 20000 = 50Hz in microseconds

edit: согласно документации :

События датчика скорости передаются по адресу. Это только подсказка системе. События могут быть получены быстрее или медленнее, чем указанная скорость. Обычно события принимаются быстрее. Значением должно быть одно из SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI, SENSOR_DELAY_GAME или SENSOR_DELAY_FASTEST или желаемая задержка между событиями в микросекундах.

Похоже, что нет точного способа, по крайней мере с этим API.

...