Android sensor_delay_fastest не достаточно быстро
Вопрос
Я использую датчики, чтобы сбалансировать робот, но SENSOR_DELAY_FASTEST
обеспечивает только скорость дискретизации 10 Гц, которая просто недостаточно быстро.Есть ли способ отбора проб даже быстрее?
Есть ли способ опроса датчиков, а не в ожидании генеракодицетагода?
Решение
Is there a way of sampling even faster?
SENSOR_DELAY_FASTEST
is a 0ms delay. You cannot have negative time, at least as far as physicists have determined. Hence, there is no "faster" delay than SENSOR_DELAY_FASTEST
.
Use Traceview to determine where your time is being taken up. It is possible that it is your code that is slowing down your processing.
a way of polling the sensors rather than waiting for a SensorEvent ?
No, sorry.
Другие советы
I would check to optimize code as well, but why do you need faster than 10Hz? In my opinion you could just write a better 'balance' algorithm to reduce the need for a faster sample.
For instance when your robot is say 5 degrees to the right you'll try to correct for 4 degrees instead and reduce the need for a re-correction. Maybe I'm mistaken, but I'm open to suggestions too!
Since Android version 2.3, the sensors can be queried through the NDK, which will allow much faster polling.