diff options
| author | bernard <[email protected]> | 2015-01-04 20:01:52 +0800 |
|---|---|---|
| committer | bernard <[email protected]> | 2015-01-04 20:01:52 +0800 |
| commit | f6ed27b863b974f1b6acc2df8d9287ecedcefb2f (patch) | |
| tree | 60e3acfb0eba7492f34deb3e63477bf48f5690a9 /components/drivers | |
| parent | 06454fd484ebe510494e19bf3094bb4f67312383 (diff) | |
[DeviceDrivers] Fix sensor_poll issue.
Diffstat (limited to 'components/drivers')
| -rw-r--r-- | components/drivers/sensors/sensor.cpp | 15 |
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); } - |
