Sensor information subsystem. More...
Data Structures | |
struct | _Eeze_Sensor_Obj |
Typedefs | |
typedef struct _Eeze_Sensor_Obj | Eeze_Sensor_Obj |
Object for a sensor type. More... | |
Enumerations | |
enum | Eeze_Sensor_Type { EEZE_SENSOR_TYPE_ACCELEROMETER , EEZE_SENSOR_TYPE_GRAVITY , EEZE_SENSOR_TYPE_LINEAR_ACCELERATION , EEZE_SENSOR_TYPE_DEVICE_ORIENTATION , EEZE_SENSOR_TYPE_MAGNETIC , EEZE_SENSOR_TYPE_ORIENTATION , EEZE_SENSOR_TYPE_GYROSCOPE , EEZE_SENSOR_TYPE_LIGHT , EEZE_SENSOR_TYPE_PROXIMITY , EEZE_SENSOR_TYPE_MOTION_SNAP , EEZE_SENSOR_TYPE_MOTION_SHAKE , EEZE_SENSOR_TYPE_MOTION_DOUBLETAP , EEZE_SENSOR_TYPE_MOTION_PANNING , EEZE_SENSOR_TYPE_MOTION_PANNING_BROWSE , EEZE_SENSOR_TYPE_MOTION_TILT , EEZE_SENSOR_TYPE_MOTION_FACEDOWN , EEZE_SENSOR_TYPE_MOTION_DIRECT_CALL , EEZE_SENSOR_TYPE_MOTION_SMART_ALERT , EEZE_SENSOR_TYPE_MOTION_NO_MOVE , EEZE_SENSOR_TYPE_BAROMETER , EEZE_SENSOR_TYPE_TEMPERATURE , EEZE_SENSOR_TYPE_LAST = 0xFF } |
All sensor types known by Eeze Sensor. More... | |
Functions | |
EAPI Eeze_Sensor_Obj * | eeze_sensor_new (Eeze_Sensor_Type type) |
Create sensor object to operate on. More... | |
EAPI void | eeze_sensor_free (Eeze_Sensor_Obj *sens) |
Free a sensor object. More... | |
EAPI Eina_Bool | eeze_sensor_accuracy_get (Eeze_Sensor_Obj *sens, int *accuracy) |
Get accuracy from sensor object. More... | |
EAPI Eina_Bool | eeze_sensor_xyz_get (Eeze_Sensor_Obj *sens, float *x, float *y, float *z) |
Get data from all three data properties. More... | |
EAPI Eina_Bool | eeze_sensor_xy_get (Eeze_Sensor_Obj *sens, float *x, float *y) |
Get data from first two data properties. More... | |
EAPI Eina_Bool | eeze_sensor_x_get (Eeze_Sensor_Obj *sens, float *x) |
Get the data from first data property. More... | |
EAPI Eina_Bool | eeze_sensor_timestamp_get (Eeze_Sensor_Obj *sens, double *timestamp) |
Get timestamp from sensor object. More... | |
EAPI Eina_Bool | eeze_sensor_read (Eeze_Sensor_Obj *sens) |
Read out sensor data. More... | |
EAPI Eina_Bool | eeze_sensor_async_read (Eeze_Sensor_Obj *sens, void *user_data) |
Asynchronous read out sensor data. More... | |
Variables | |
EAPI int | EEZE_SENSOR_EVENT_ACCELEROMETER |
EAPI int | EEZE_SENSOR_EVENT_GRAVITY |
EAPI int | EEZE_SENSOR_EVENT_LINEAR_ACCELERATION |
EAPI int | EEZE_SENSOR_EVENT_DEVICE_ORIENTATION |
EAPI int | EEZE_SENSOR_EVENT_MAGNETIC |
EAPI int | EEZE_SENSOR_EVENT_ORIENTATION |
EAPI int | EEZE_SENSOR_EVENT_GYROSCOPE |
EAPI int | EEZE_SENSOR_EVENT_LIGHT |
EAPI int | EEZE_SENSOR_EVENT_PROXIMITY |
EAPI int | EEZE_SENSOR_EVENT_SNAP |
EAPI int | EEZE_SENSOR_EVENT_SHAKE |
EAPI int | EEZE_SENSOR_EVENT_DOUBLETAP |
EAPI int | EEZE_SENSOR_EVENT_PANNING |
EAPI int | EEZE_SENSOR_EVENT_PANNING_BROWSE |
EAPI int | EEZE_SENSOR_EVENT_TILT |
EAPI int | EEZE_SENSOR_EVENT_FACEDOWN |
EAPI int | EEZE_SENSOR_EVENT_DIRECT_CALL |
EAPI int | EEZE_SENSOR_EVENT_SMART_ALERT |
EAPI int | EEZE_SENSOR_EVENT_NO_MOVE |
EAPI int | EEZE_SENSOR_EVENT_BAROMETER |
EAPI int | EEZE_SENSOR_EVENT_TEMPERATURE |
Sensor information subsystem.
Eeze sensor functions allow you to gather sensor information from different sensor sources available on your hardware. It supports a plugin architecture to support different hardware platforms and devices. These plugins can be loaded at runtime.
Right now we have support for the Tizen sensor framework as well as a simple fake plugin to be used as a test harness for development. Plugins for other sensor frameworks or platforms are always welcome.
Synchronous as well as asynchronous reads are possible. As reading the physical sensor might be bound to a high latency and thus cost the value of the last read is cached within Eeze_Sensor together with a timestamp of the actual read out. This can speed up the value access for application while the values are still getting updating asynchronously in the background. The timestamp should be checked if the specific time requirements are needed.
As an alternative the sensor could be read synchronously. With the disadvantage that the function call will block until the data is read from the sensor.