Магнитометр вызывает отставание? - PullRequest
0 голосов
/ 10 ноября 2010

Я разрабатываю приложение, которое будет использовать данные магнитометра для взаимодействия, перемещая магнит к телефону и от него.Это работает нормально (достаточно), но, похоже, когда я подношу магнит слишком близко к телефону, происходит заметная задержка, и эти сообщения выкладываются в журнал:

Сообщение тега AK8973 HRET = AKSC_HOF_DSS_STARTAK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_COMPLETE

Это может быть также продемонстрировано, например, в приложении «Компас3D ", который доступен на Маркете.Достаточно переместить наушники в прямой контакт с телефоном, это приведет к задержке не менее 4-500 мсек, а вышеприведенные сообщения будут напечатаны в Logcat.Это на моем HTC Hero.

Есть какие-либо идеи относительно того, что вызывает это отставание, или как обойти это?Это происходит и на других моделях телефонов?

Все идеи и / или теории будут полезны!

1 Ответ

0 голосов
/ 10 ноября 2010

Ну, АК8973 это магнитометр:

AK8973 - 3-осевой электронный компас - Asahi Kasei Microsystems

Похоже, он жалуется на сильное поле, может быть, запускает процедуру калибровки?

Я отмечаю это определение в коде:

# define AK8973B_PERIOD 500000000 //0,5 с

...