2014-03-07 4 views
1

여기서 TYPE_MAGNETIC_FIELD 값의 소스 코드는 다음과 같습니다. case Sensor.TYPE_MAGNETIC_FIELD : geomagneticValues ​​= sensorEvent.values.clone();안드로이드가 MAGNETIC_FIELD를 계산하는 방법,?

하드웨어 폴더의 거의 모든 파일을 검색했습니다. 내가 그 스 니펫을 놓친 것일 수 있습니다. 해당 소스 코드를 찾는 데 도움을주십시오. ./4 (파이) (R 3))

+0

캔트 나는 그들이 자기장 벡터를 계산하는 방법을 정확한 소스 코드를 찾을? – user3056360

답변

0

AOSP 코드 파일 hardware/libhardware/include/hardware/sensors.h을 참조 OEM 센서 라이브러리를 제공해야하여 제공된 ^) Btheta = (umsin (세타 : 은 (그 센서와 같은 식을 사용하여 생각 프레임 워크가 기대하는 데이터입니다. 드라이버 자체에서 오는 데이터는 이미이 형식으로되어 있거나 다른 것일 수 있습니다. 올바른 작업을 수행하는 것은 OEM HAL의 책임입니다.이 설명은 장치의 센서 라이브러리가 무엇인지 설명합니다. 반환.

/* * SENSOR_TYPE_GEOMAGNETIC_FIELD * trigger-mode: continuous * wake-up sensor: no * * All values are in micro-Tesla (uT) and measure the geomagnetic * field in the X, Y and Z axis. * * Returned values include calibration mechanisms such that the vector is * aligned with the magnetic declination and heading of the earth's * geomagnetic field. * * Magnetic Field sensors return sensor events for all 3 axes at a constant * rate defined by setDelay(). */

+0

질수 내가 정확한 소스 C를 찾을 수 그들이 어떻게 자기장 벡터를 계산하고 있습니까? – user3056360

+0

나는 당신이 무엇을 요구하고 있는지 확신하지 못합니다. OEM에서 제공하는 드라이버는 해당 데이터를 OEM이 제공 한 센서 HAL로 보냅니다. 그런 다음 HAL은 위에서 설명한대로이 데이터를 프레임 워크에 제공합니다. 장치가 벡터 값을보고하는 방식은 하드웨어 및 HAL에 따라 다릅니다. –