diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2012-12-28 21:42:14 +0100 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2012-12-28 21:42:14 +0100 |
commit | f8d4236a32dcd298ed8c0fd42d5349eae848e0c5 (patch) | |
tree | 037338c88c7bab2d1c5d80289218c53cfaa0acf7 | |
parent | c8edb6539977c8820d665691d53c33892cfa4fdd (diff) | |
download | device_samsung_crespo-f8d4236a32dcd298ed8c0fd42d5349eae848e0c5.tar.gz device_samsung_crespo-f8d4236a32dcd298ed8c0fd42d5349eae848e0c5.tar.bz2 device_samsung_crespo-f8d4236a32dcd298ed8c0fd42d5349eae848e0c5.zip |
Sensors: Use Samsung Sensors
Change-Id: Ib06e3bd19fe50f8a9d00439b99b1de9b7f462bd0
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rw-r--r-- | device_base.mk | 5 | ||||
-rw-r--r-- | libsensors/AkmSensor.cpp | 42 |
2 files changed, 25 insertions, 22 deletions
diff --git a/device_base.mk b/device_base.mk index 94208db..eb37550 100644 --- a/device_base.mk +++ b/device_base.mk @@ -141,7 +141,6 @@ PRODUCT_PACKAGES += \ # Libs PRODUCT_PACKAGES += \ libcamera \ - libakm \ com.android.future.usb.accessory # RIL/RIL client/libsamsung-ipc @@ -149,6 +148,10 @@ PRODUCT_PACKAGES += libsamsung-ril \ libsamsung-ril-client \ ipc-modemctrl +# Sensors +PRODUCT_PACKAGES += \ + libsamsung-sensors + # Input device calibration files PRODUCT_COPY_FILES += \ device/samsung/crespo/mxt224_ts_input.idc:system/usr/idc/mxt224_ts_input.idc diff --git a/libsensors/AkmSensor.cpp b/libsensors/AkmSensor.cpp index 34a24f2..5a269e4 100644 --- a/libsensors/AkmSensor.cpp +++ b/libsensors/AkmSensor.cpp @@ -31,10 +31,10 @@ /*****************************************************************************/ -int (*akm_is_sensor_enabled)(uint32_t sensor_type); -int (*akm_enable_sensor)(uint32_t sensor_type); -int (*akm_disable_sensor)(uint32_t sensor_type); -int (*akm_set_delay)(uint32_t sensor_type, uint64_t delay); +int (*is_sensor_enabled)(uint32_t sensor_type); +int (*enable_sensor)(uint32_t sensor_type); +int (*disable_sensor)(uint32_t sensor_type); +int (*set_delay)(uint32_t sensor_type, uint64_t delay); int stub_is_sensor_enabled(uint32_t sensor_type) { return 0; @@ -83,7 +83,7 @@ AkmSensor::AkmSensor() struct input_absinfo absinfo; short flags = 0; - if (akm_is_sensor_enabled(SENSOR_TYPE_ACCELEROMETER)) { + if (is_sensor_enabled(SENSOR_TYPE_ACCELEROMETER)) { mEnabled |= 1<<Accelerometer; if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_X), &absinfo)) { mPendingEvents[Accelerometer].acceleration.x = absinfo.value * CONVERT_A_X; @@ -95,7 +95,7 @@ AkmSensor::AkmSensor() mPendingEvents[Accelerometer].acceleration.z = absinfo.value * CONVERT_A_Z; } } - if (akm_is_sensor_enabled(SENSOR_TYPE_MAGNETIC_FIELD)) { + if (is_sensor_enabled(SENSOR_TYPE_MAGNETIC_FIELD)) { mEnabled |= 1<<MagneticField; if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_X), &absinfo)) { mPendingEvents[MagneticField].magnetic.x = absinfo.value * CONVERT_M_X; @@ -107,7 +107,7 @@ AkmSensor::AkmSensor() mPendingEvents[MagneticField].magnetic.z = absinfo.value * CONVERT_M_Z; } } - if (akm_is_sensor_enabled(SENSOR_TYPE_ORIENTATION)) { + if (is_sensor_enabled(SENSOR_TYPE_ORIENTATION)) { mEnabled |= 1<<Orientation; if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_YAW), &absinfo)) { mPendingEvents[Orientation].orientation.azimuth = absinfo.value; @@ -124,7 +124,7 @@ AkmSensor::AkmSensor() } // disable temperature sensor, since it is not supported - akm_disable_sensor(SENSOR_TYPE_TEMPERATURE); + disable_sensor(SENSOR_TYPE_TEMPERATURE); } AkmSensor::~AkmSensor() @@ -159,9 +159,9 @@ int AkmSensor::enable(int32_t handle, int en) } short flags = newState; if (en) - err = akm_enable_sensor(sensor_type); + err = enable_sensor(sensor_type); else - err = akm_disable_sensor(sensor_type); + err = disable_sensor(sensor_type); LOGE_IF(err, "Could not change sensor state (%s)", strerror(-err)); if (!err) { @@ -188,26 +188,26 @@ int AkmSensor::setDelay(int32_t handle, int64_t ns) if (sensor_type == 0) return -EINVAL; - return akm_set_delay(sensor_type, ns); + return set_delay(sensor_type, ns); } int AkmSensor::loadAKMLibrary() { - mLibAKM = dlopen("libakm.so", RTLD_NOW); + mLibAKM = dlopen("libsamsung-sensors.so", RTLD_NOW); if (!mLibAKM) { - akm_is_sensor_enabled = stub_is_sensor_enabled; - akm_enable_sensor = stub_enable_disable_sensor; - akm_disable_sensor = stub_enable_disable_sensor; - akm_set_delay = stub_set_delay; - LOGE("AkmSensor: unable to load AKM Library, %s", dlerror()); + is_sensor_enabled = stub_is_sensor_enabled; + enable_sensor = stub_enable_disable_sensor; + disable_sensor = stub_enable_disable_sensor; + set_delay = stub_set_delay; + LOGE("AkmSensor: unable to load Sensors Library, %s", dlerror()); return -ENOENT; } - *(void **)&akm_is_sensor_enabled = dlsym(mLibAKM, "akm_is_sensor_enabled"); - *(void **)&akm_enable_sensor = dlsym(mLibAKM, "akm_enable_sensor"); - *(void **)&akm_disable_sensor = dlsym(mLibAKM, "akm_disable_sensor"); - *(void **)&akm_set_delay = dlsym(mLibAKM, "akm_set_delay"); + *(void **)&is_sensor_enabled = dlsym(mLibAKM, "is_sensor_enabled"); + *(void **)&enable_sensor = dlsym(mLibAKM, "enable_sensor"); + *(void **)&disable_sensor = dlsym(mLibAKM, "disable_sensor"); + *(void **)&set_delay = dlsym(mLibAKM, "set_delay"); return 0; } |