mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-05 23:22:43 +00:00
Add C programming language APIs.
This commit is contained in:
@@ -71,7 +71,7 @@ int SensorBase::publish(sensors_event_t *event)
|
||||
if (this->evtHandler != NULL)
|
||||
{
|
||||
/* invoke subscribed handler */
|
||||
(*evtHandler)(this, event, this->userData);
|
||||
(*evtHandler)(event, this->userData);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -189,3 +189,39 @@ 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)
|
||||
{
|
||||
return SensorManager::subscribe(type, handler, user_data);
|
||||
}
|
||||
|
||||
rt_sensor_t rt_sensor_get_default(int type)
|
||||
{
|
||||
return (rt_sensor_t)SensorManager::getDefaultSensor(type);
|
||||
}
|
||||
|
||||
int rt_sensor_poll(rt_sensor_t sensor, sensors_event_t *event)
|
||||
{
|
||||
SensorBase *sensor_base;
|
||||
if (sensor == NULL || event == NULL) return -1;
|
||||
|
||||
return sensor_base->poll(event);
|
||||
}
|
||||
|
||||
int rt_sensor_configure(rt_sensor_t sensor, SensorConfig *config)
|
||||
{
|
||||
SensorBase *sensor_base;
|
||||
if (sensor == NULL || config == NULL) return -1;
|
||||
|
||||
sensor_base = (SensorBase*)sensor;
|
||||
return sensor_base->setConfig(config);
|
||||
}
|
||||
|
||||
int rt_sensor_activate(rt_sensor_t sensor, int enable)
|
||||
{
|
||||
SensorBase *sensor_base;
|
||||
if (sensor == NULL) return -1;
|
||||
|
||||
sensor_base = (SensorBase*)sensor;
|
||||
return sensor_base->activate(enable);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user