\hypertarget{group__Eeze__Sensor}{}\doxysection{Sensor}
\label{group__Eeze__Sensor}\index{Sensor@{Sensor}}


Gather sensor information from different sources.  


\doxysubsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eeze__Sensor__Events}{Available eeze sensor events}}
\begin{DoxyCompactList}\small\item\em Sensor events that are emitted from the library as ecore events. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eeze__Sensor__Obj}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__Eeze__Sensor__Obj}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj}} \mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}}
\begin{DoxyCompactList}\small\item\em Object for a sensor type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__Eeze__Sensor_gaf03bb0fb995a5d05ea33460bf9f8daea}{Eeze\+\_\+\+Sensor\+\_\+\+Type}} \{ \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaab5734e85b7463a7baa74b2148d0a89ad}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+ACCELEROMETER}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaac65971560c7e0b0170a7a7c1d31f9316}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+GRAVITY}}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+LINEAR\+\_\+\+ACCELERATION}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+DEVICE\+\_\+\+ORIENTATION}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa66def9b494a1ebd0d1c88e9d1edbffac}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MAGNETIC}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaaff827be42f0c6852197e4e2463fb469b}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+ORIENTATION}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa844f734531c1f88486922514fd1f9b63}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+GYROSCOPE}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa03726e92921df1e1305666e1cbbe6cac}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+LIGHT}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa15e9f5125644fb52d04c1ca851d57de7}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+PROXIMITY}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa3a027e95ae5962c764d27f2b0f267479}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+SNAP}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa84eb56f11a15af4cb2f29bb909d968b1}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+SHAKE}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaad4db0f20159f1248c5391d28614b7553}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+DOUBLETAP}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa14f7ad62b6f2fcc251abc03ffc84c7ad}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+PANNING}}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+PANNING\+\_\+\+BROWSE}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+TILT}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaab0b8bd3befe83f130101a7d064cc0ee9}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+FACEDOWN}}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+DIRECT\+\_\+\+CALL}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+SMART\+\_\+\+ALERT}
, \newline
{\bfseries EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+NO\+\_\+\+MOVE}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa8f82d74661377e2fc78d3c4b663e4962}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+BAROMETER}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaabb5c6cf2ed4485753c8a08c513ec019e}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+TEMPERATURE}}
, \newline
\mbox{\hyperlink{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaae918a8b0fbfc7a178b7955416c5aba1f}{EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+LAST}} = 0x\+FF
 \}
\begin{DoxyCompactList}\small\item\em All sensor types known by Eeze Sensor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EAPI \mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$ \mbox{\hyperlink{group__Eeze__Sensor_gab694c0d33d8a43e81dca0ec566a14d5d}{eeze\+\_\+sensor\+\_\+new}} (\mbox{\hyperlink{group__Eeze__Sensor_gaf03bb0fb995a5d05ea33460bf9f8daea}{Eeze\+\_\+\+Sensor\+\_\+\+Type}} type)
\begin{DoxyCompactList}\small\item\em Create sensor object to operate on. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Eeze__Sensor_gaea6e5bc74e6f13cdce43730af33dc4e4}{eeze\+\_\+sensor\+\_\+free}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens)
\begin{DoxyCompactList}\small\item\em Free a sensor object. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_gabd8faf47001fb0aa6f624086a959faf1}{eeze\+\_\+sensor\+\_\+accuracy\+\_\+get}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens, int $\ast$accuracy)
\begin{DoxyCompactList}\small\item\em Get accuracy from sensor object. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_ga0cdc85c090da844c1421012283b385d8}{eeze\+\_\+sensor\+\_\+xyz\+\_\+get}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens, float $\ast$x, float $\ast$y, float $\ast$z)
\begin{DoxyCompactList}\small\item\em Get data from all three data properties. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_ga66fd695d6b7a6fa1090776deac58e387}{eeze\+\_\+sensor\+\_\+xy\+\_\+get}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens, float $\ast$x, float $\ast$y)
\begin{DoxyCompactList}\small\item\em Get data from first two data properties. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_ga119b0c8179a7dd89cb52da11a16ea419}{eeze\+\_\+sensor\+\_\+x\+\_\+get}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens, float $\ast$x)
\begin{DoxyCompactList}\small\item\em Get the data from first data property. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_ga501b5311448e7e1db0a11583cb6e6ea6}{eeze\+\_\+sensor\+\_\+timestamp\+\_\+get}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens, double $\ast$timestamp)
\begin{DoxyCompactList}\small\item\em Get timestamp from sensor object. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_ga7afba716bf29528516aca57a24131da6}{eeze\+\_\+sensor\+\_\+read}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens)
\begin{DoxyCompactList}\small\item\em Read out sensor data. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eeze__Sensor_ga2cb4b33f407c8f3ddea18ffebbd17155}{eeze\+\_\+sensor\+\_\+async\+\_\+read}} (\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$sens, void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Asynchronous read out sensor data. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Gather sensor information from different sources. 

Works based on plugins, with a Tizen plugin being available. 

\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}\label{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}} 
\index{Sensor@{Sensor}!Eeze\_Sensor\_Obj@{Eeze\_Sensor\_Obj}}
\index{Eeze\_Sensor\_Obj@{Eeze\_Sensor\_Obj}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{Eeze\_Sensor\_Obj}{Eeze\_Sensor\_Obj}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}}}



Object for a sensor type. 

Keeps information about the type and holds the data for the accessor functions. As this information gets also updated by asynchronous reads it might be a good idea to check the timestamp value to see when the data has been updated. The timestamp is given as floating point value in seconds.

You are not supposed to access the raw data values from here but use the getter functions for it. Using the raw values from this struct might break your applications later if the internal structure changes.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group__Eeze__Sensor_gaf03bb0fb995a5d05ea33460bf9f8daea}\label{group__Eeze__Sensor_gaf03bb0fb995a5d05ea33460bf9f8daea}} 
\index{Sensor@{Sensor}!Eeze\_Sensor\_Type@{Eeze\_Sensor\_Type}}
\index{Eeze\_Sensor\_Type@{Eeze\_Sensor\_Type}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{Eeze\_Sensor\_Type}{Eeze\_Sensor\_Type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__Eeze__Sensor_gaf03bb0fb995a5d05ea33460bf9f8daea}{Eeze\+\_\+\+Sensor\+\_\+\+Type}}}



All sensor types known by Eeze Sensor. 

This list of types include real physical types like proximity or light as well as \char`\"{}aggregated\char`\"{} types like facedown or doubletap. All types with MOTION in their name can be used as real events coming from the underlying system. This is not supported on all systems.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_ACCELEROMETER@{EEZE\_SENSOR\_TYPE\_ACCELEROMETER}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_ACCELEROMETER@{EEZE\_SENSOR\_TYPE\_ACCELEROMETER}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaab5734e85b7463a7baa74b2148d0a89ad}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaab5734e85b7463a7baa74b2148d0a89ad}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+ACCELEROMETER&Accelerometer sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_GRAVITY@{EEZE\_SENSOR\_TYPE\_GRAVITY}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_GRAVITY@{EEZE\_SENSOR\_TYPE\_GRAVITY}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaac65971560c7e0b0170a7a7c1d31f9316}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaac65971560c7e0b0170a7a7c1d31f9316}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+GRAVITY&Gravity sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_MAGNETIC@{EEZE\_SENSOR\_TYPE\_MAGNETIC}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_MAGNETIC@{EEZE\_SENSOR\_TYPE\_MAGNETIC}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa66def9b494a1ebd0d1c88e9d1edbffac}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa66def9b494a1ebd0d1c88e9d1edbffac}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MAGNETIC&Magnetic sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_ORIENTATION@{EEZE\_SENSOR\_TYPE\_ORIENTATION}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_ORIENTATION@{EEZE\_SENSOR\_TYPE\_ORIENTATION}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaaff827be42f0c6852197e4e2463fb469b}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaaff827be42f0c6852197e4e2463fb469b}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+ORIENTATION&Orientation sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_GYROSCOPE@{EEZE\_SENSOR\_TYPE\_GYROSCOPE}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_GYROSCOPE@{EEZE\_SENSOR\_TYPE\_GYROSCOPE}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa844f734531c1f88486922514fd1f9b63}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa844f734531c1f88486922514fd1f9b63}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+GYROSCOPE&Gyroscope sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_LIGHT@{EEZE\_SENSOR\_TYPE\_LIGHT}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_LIGHT@{EEZE\_SENSOR\_TYPE\_LIGHT}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa03726e92921df1e1305666e1cbbe6cac}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa03726e92921df1e1305666e1cbbe6cac}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+LIGHT&Light sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_PROXIMITY@{EEZE\_SENSOR\_TYPE\_PROXIMITY}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_PROXIMITY@{EEZE\_SENSOR\_TYPE\_PROXIMITY}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa15e9f5125644fb52d04c1ca851d57de7}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa15e9f5125644fb52d04c1ca851d57de7}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+PROXIMITY&Proximity sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_MOTION\_SNAP@{EEZE\_SENSOR\_TYPE\_MOTION\_SNAP}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_MOTION\_SNAP@{EEZE\_SENSOR\_TYPE\_MOTION\_SNAP}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa3a027e95ae5962c764d27f2b0f267479}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa3a027e95ae5962c764d27f2b0f267479}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+SNAP&Snap motion sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_MOTION\_SHAKE@{EEZE\_SENSOR\_TYPE\_MOTION\_SHAKE}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_MOTION\_SHAKE@{EEZE\_SENSOR\_TYPE\_MOTION\_SHAKE}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa84eb56f11a15af4cb2f29bb909d968b1}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa84eb56f11a15af4cb2f29bb909d968b1}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+SHAKE&Shake motion sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_MOTION\_DOUBLETAP@{EEZE\_SENSOR\_TYPE\_MOTION\_DOUBLETAP}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_MOTION\_DOUBLETAP@{EEZE\_SENSOR\_TYPE\_MOTION\_DOUBLETAP}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaad4db0f20159f1248c5391d28614b7553}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaad4db0f20159f1248c5391d28614b7553}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+DOUBLETAP&Doubletap motion sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_MOTION\_PANNING@{EEZE\_SENSOR\_TYPE\_MOTION\_PANNING}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_MOTION\_PANNING@{EEZE\_SENSOR\_TYPE\_MOTION\_PANNING}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa14f7ad62b6f2fcc251abc03ffc84c7ad}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa14f7ad62b6f2fcc251abc03ffc84c7ad}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+PANNING&Panning motion sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_MOTION\_FACEDOWN@{EEZE\_SENSOR\_TYPE\_MOTION\_FACEDOWN}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_MOTION\_FACEDOWN@{EEZE\_SENSOR\_TYPE\_MOTION\_FACEDOWN}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaab0b8bd3befe83f130101a7d064cc0ee9}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaab0b8bd3befe83f130101a7d064cc0ee9}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+MOTION\+\_\+\+FACEDOWN&Facedown motion sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_BAROMETER@{EEZE\_SENSOR\_TYPE\_BAROMETER}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_BAROMETER@{EEZE\_SENSOR\_TYPE\_BAROMETER}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa8f82d74661377e2fc78d3c4b663e4962}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaa8f82d74661377e2fc78d3c4b663e4962}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+BAROMETER&Barometer sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_TEMPERATURE@{EEZE\_SENSOR\_TYPE\_TEMPERATURE}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_TEMPERATURE@{EEZE\_SENSOR\_TYPE\_TEMPERATURE}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaabb5c6cf2ed4485753c8a08c513ec019e}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaabb5c6cf2ed4485753c8a08c513ec019e}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+TEMPERATURE&Temperature sensor. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EEZE\_SENSOR\_TYPE\_LAST@{EEZE\_SENSOR\_TYPE\_LAST}!Sensor@{Sensor}}\index{Sensor@{Sensor}!EEZE\_SENSOR\_TYPE\_LAST@{EEZE\_SENSOR\_TYPE\_LAST}}}\mbox{\Hypertarget{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaae918a8b0fbfc7a178b7955416c5aba1f}\label{group__Eeze__Sensor_ggaf03bb0fb995a5d05ea33460bf9f8daeaae918a8b0fbfc7a178b7955416c5aba1f}} 
EEZE\+\_\+\+SENSOR\+\_\+\+TYPE\+\_\+\+LAST&Last item to mark end of enum. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eeze__Sensor_gab694c0d33d8a43e81dca0ec566a14d5d}\label{group__Eeze__Sensor_gab694c0d33d8a43e81dca0ec566a14d5d}} 
\index{Sensor@{Sensor}!eeze\_sensor\_new@{eeze\_sensor\_new}}
\index{eeze\_sensor\_new@{eeze\_sensor\_new}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_new()}{eeze\_sensor\_new()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$ eeze\+\_\+sensor\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gaf03bb0fb995a5d05ea33460bf9f8daea}{Eeze\+\_\+\+Sensor\+\_\+\+Type}}}]{type }\end{DoxyParamCaption})}



Create sensor object to operate on. 


\begin{DoxyParams}{Parameters}
{\em type} & Sensor type to create object from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Sensor object for the given type.
\end{DoxyReturn}
Takes the sensor type and create an object for it to operate on. During this it also does an initial sensor data read to fill the sensor data into the object. The \mbox{\hyperlink{group__Eeze__Sensor_gaea6e5bc74e6f13cdce43730af33dc4e4}{eeze\+\_\+sensor\+\_\+free}} function must be used to destroy the object and release its memory.

For every sensor type you want to work with this is the first thing you have to do. Create the object from the type and everything else the operates on this object.

This also takes into account what runtime modules are loaded and handles them in a given priority to pick up the best sensor source for your sensor object.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Eeze__Sensor_gaea6e5bc74e6f13cdce43730af33dc4e4}\label{group__Eeze__Sensor_gaea6e5bc74e6f13cdce43730af33dc4e4}} 
\index{Sensor@{Sensor}!eeze\_sensor\_free@{eeze\_sensor\_free}}
\index{eeze\_sensor\_free@{eeze\_sensor\_free}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_free()}{eeze\_sensor\_free()}}
{\footnotesize\ttfamily EAPI void eeze\+\_\+sensor\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens }\end{DoxyParamCaption})}



Free a sensor object. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on.\\
\hline
\end{DoxyParams}
Free an sensor object when it is no longer needed. Always use this function to cleanup unused sensor objects.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Eeze__Sensor_gabd8faf47001fb0aa6f624086a959faf1}\label{group__Eeze__Sensor_gabd8faf47001fb0aa6f624086a959faf1}} 
\index{Sensor@{Sensor}!eeze\_sensor\_accuracy\_get@{eeze\_sensor\_accuracy\_get}}
\index{eeze\_sensor\_accuracy\_get@{eeze\_sensor\_accuracy\_get}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_accuracy\_get()}{eeze\_sensor\_accuracy\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+accuracy\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens,  }\item[{int $\ast$}]{accuracy }\end{DoxyParamCaption})}



Get accuracy from sensor object. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
{\em accuracy} & Pointer to write accuracy value into. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
Access function to get the accuracy property from the sensor object. The accuracy value can have the following values and meaning\+: -\/1 Undefined accuracy 0 Bad accurancy 1 Normal accuracy 2 Good accuracy 3 Very good accuracy

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eeze__Sensor__Obj_a6a4d25d66e9ab6a9bf51e05249464b87}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj\+::accuracy}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Eeze__Sensor_ga0cdc85c090da844c1421012283b385d8}\label{group__Eeze__Sensor_ga0cdc85c090da844c1421012283b385d8}} 
\index{Sensor@{Sensor}!eeze\_sensor\_xyz\_get@{eeze\_sensor\_xyz\_get}}
\index{eeze\_sensor\_xyz\_get@{eeze\_sensor\_xyz\_get}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_xyz\_get()}{eeze\_sensor\_xyz\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+xyz\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens,  }\item[{float $\ast$}]{x,  }\item[{float $\ast$}]{y,  }\item[{float $\ast$}]{z }\end{DoxyParamCaption})}



Get data from all three data properties. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
{\em x} & Pointer to write first data property value into. \\
\hline
{\em y} & Pointer to write second data property value into. \\
\hline
{\em z} & Pointer to write third data property value into. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
Access function to get all three data properties from the sensor object. This is used for sensor types that offer all three values. Like accelerometer and magnetic.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eeze__Sensor__Obj_a8f3a38b2b06870eb0fcef8b34c6b136d}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj\+::data}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Eeze__Sensor_ga66fd695d6b7a6fa1090776deac58e387}\label{group__Eeze__Sensor_ga66fd695d6b7a6fa1090776deac58e387}} 
\index{Sensor@{Sensor}!eeze\_sensor\_xy\_get@{eeze\_sensor\_xy\_get}}
\index{eeze\_sensor\_xy\_get@{eeze\_sensor\_xy\_get}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_xy\_get()}{eeze\_sensor\_xy\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+xy\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens,  }\item[{float $\ast$}]{x,  }\item[{float $\ast$}]{y }\end{DoxyParamCaption})}



Get data from first two data properties. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
{\em x} & Pointer to write first data property value into. \\
\hline
{\em y} & Pointer to write second data property value into. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
Access function to get the first two data properties from the sensor object. This is used for sensor types that offer two values. Like panning.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eeze__Sensor__Obj_a8f3a38b2b06870eb0fcef8b34c6b136d}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj\+::data}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Eeze__Sensor_ga119b0c8179a7dd89cb52da11a16ea419}\label{group__Eeze__Sensor_ga119b0c8179a7dd89cb52da11a16ea419}} 
\index{Sensor@{Sensor}!eeze\_sensor\_x\_get@{eeze\_sensor\_x\_get}}
\index{eeze\_sensor\_x\_get@{eeze\_sensor\_x\_get}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_x\_get()}{eeze\_sensor\_x\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+x\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens,  }\item[{float $\ast$}]{x }\end{DoxyParamCaption})}



Get the data from first data property. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
{\em x} & Pointer to write first data property value into. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
Access function to get the first data property from the sensor object. This is used for sensor types that only offer one value. Like light or proximity.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eeze__Sensor__Obj_a8f3a38b2b06870eb0fcef8b34c6b136d}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj\+::data}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Eeze__Sensor_ga501b5311448e7e1db0a11583cb6e6ea6}\label{group__Eeze__Sensor_ga501b5311448e7e1db0a11583cb6e6ea6}} 
\index{Sensor@{Sensor}!eeze\_sensor\_timestamp\_get@{eeze\_sensor\_timestamp\_get}}
\index{eeze\_sensor\_timestamp\_get@{eeze\_sensor\_timestamp\_get}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_timestamp\_get()}{eeze\_sensor\_timestamp\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+timestamp\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens,  }\item[{double $\ast$}]{timestamp }\end{DoxyParamCaption})}



Get timestamp from sensor object. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
{\em timestamp} & Pointer to write timestamp value into. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
Access function to get the timestamp property from the sensor object. It allows you to determine if the values have been updated since the last time you requested them. Timestamp is given as a floating point value in seconds.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{struct__Eeze__Sensor__Obj_ad2b6c7a7ab4a6ef8695318bf7a379557}{\+\_\+\+Eeze\+\_\+\+Sensor\+\_\+\+Obj\+::timestamp}}.

\mbox{\Hypertarget{group__Eeze__Sensor_ga7afba716bf29528516aca57a24131da6}\label{group__Eeze__Sensor_ga7afba716bf29528516aca57a24131da6}} 
\index{Sensor@{Sensor}!eeze\_sensor\_read@{eeze\_sensor\_read}}
\index{eeze\_sensor\_read@{eeze\_sensor\_read}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_read()}{eeze\_sensor\_read()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+read (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens }\end{DoxyParamCaption})}



Read out sensor data. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
This function reads sensor data from the device and fills the sensor object with the data. This call is synchronous and blocks until the data is read out and updated in the sensor object. For simple applications this is fine and the easiest way to use the API. A more efficient way is to use \mbox{\hyperlink{group__Eeze__Sensor_ga2cb4b33f407c8f3ddea18ffebbd17155}{eeze\+\_\+sensor\+\_\+async\+\_\+read}} which allows the sensor readout to happen in the background and the application would check the timestamp of the data to determine how recent the data is.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}.

\mbox{\Hypertarget{group__Eeze__Sensor_ga2cb4b33f407c8f3ddea18ffebbd17155}\label{group__Eeze__Sensor_ga2cb4b33f407c8f3ddea18ffebbd17155}} 
\index{Sensor@{Sensor}!eeze\_sensor\_async\_read@{eeze\_sensor\_async\_read}}
\index{eeze\_sensor\_async\_read@{eeze\_sensor\_async\_read}!Sensor@{Sensor}}
\doxysubsubsection{\texorpdfstring{eeze\_sensor\_async\_read()}{eeze\_sensor\_async\_read()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eeze\+\_\+sensor\+\_\+async\+\_\+read (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eeze__Sensor_gab0394cc35fc90bc49629f775ebb4d88f}{Eeze\+\_\+\+Sensor\+\_\+\+Obj}} $\ast$}]{sens,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}



Asynchronous read out sensor data. 


\begin{DoxyParams}{Parameters}
{\em sens} & Sensor object to operate on. \\
\hline
{\em user\+\_\+data} & Data to pass to the callback function. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE for success and EINA\+\_\+\+FALSE for failure
\end{DoxyReturn}
This function reads sensor data from the device and fills the sensor object with the data. The read is done asynchronously and thus does not block after calling. Instead the given the application can determine how recent the values are from the timestamp value that can be accessed through \mbox{\hyperlink{group__Eeze__Sensor_ga501b5311448e7e1db0a11583cb6e6ea6}{eeze\+\_\+sensor\+\_\+timestamp\+\_\+get}}.

This function is more efficient but needs a bit more work in the application. An easier way is to use the synchronous \mbox{\hyperlink{group__Eeze__Sensor_ga7afba716bf29528516aca57a24131da6}{eeze\+\_\+sensor\+\_\+read}} functions. The downside of it is that it blocks until the data was read out from the physical sensor. That might be a long time depending on the hardware and its interface.

The extra data passed in as user\+\_\+data here will be available in the user\+\_\+data pointer of the sensor object when the ecore event arrives.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}.

