summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
authorbernard <[email protected]>2015-01-04 20:01:52 +0800
committerbernard <[email protected]>2015-01-04 20:01:52 +0800
commitf6ed27b863b974f1b6acc2df8d9287ecedcefb2f (patch)
tree60e3acfb0eba7492f34deb3e63477bf48f5690a9 /components/drivers
parent06454fd484ebe510494e19bf3094bb4f67312383 (diff)
[DeviceDrivers] Fix sensor_poll issue.
Diffstat (limited to 'components/drivers')
-rw-r--r--components/drivers/sensors/sensor.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/components/drivers/sensors/sensor.cpp b/components/drivers/sensors/sensor.cpp
index 34bf5a5890..18eb8eee18 100644
--- a/components/drivers/sensors/sensor.cpp
+++ b/components/drivers/sensors/sensor.cpp
@@ -189,14 +189,19 @@ int SensorManager::pollSensor(SensorBase *sensor, sensors_event_t *events, int n
return index;
}
-int rt_sensor_subscribe(int type, SensorEventHandler_t *handler, void *user_data)
+rt_sensor_t rt_sensor_get_default(int type)
{
- return SensorManager::subscribe(type, handler, user_data);
+ return (rt_sensor_t)SensorManager::getDefaultSensor(type);
}
-rt_sensor_t rt_sensor_get_default(int type)
+int rt_sensor_subscribe(rt_sensor_t sensor, SensorEventHandler_t *handler, void *user_data)
{
- return (rt_sensor_t)SensorManager::getDefaultSensor(type);
+ SensorBase *sensor_base;
+ if (sensor == NULL) return -1;
+
+ sensor_base = (SensorBase*)sensor;
+
+ return sensor_base->subscribe(handler, user_data);
}
int rt_sensor_poll(rt_sensor_t sensor, sensors_event_t *event)
@@ -204,6 +209,7 @@ int rt_sensor_poll(rt_sensor_t sensor, sensors_event_t *event)
SensorBase *sensor_base;
if (sensor == NULL || event == NULL) return -1;
+ sensor_base = (SensorBase*)sensor;
return sensor_base->poll(event);
}
@@ -224,4 +230,3 @@ int rt_sensor_activate(rt_sensor_t sensor, int enable)
sensor_base = (SensorBase*)sensor;
return sensor_base->activate(enable);
}
-