Files | |
file | sensor.h |
Data Structures | |
struct | ASensorVector |
struct | AMetaDataEvent |
struct | AUncalibratedEvent |
struct | AHeartRateEvent |
struct | ASensorEvent |
Macros | |
#define | ASENSOR_STANDARD_GRAVITY (9.80665f) |
#define | ASENSOR_MAGNETIC_FIELD_EARTH_MAX (60.0f) |
#define | ASENSOR_MAGNETIC_FIELD_EARTH_MIN (30.0f) |
Typedefs | |
typedef struct ASensorVector | ASensorVector |
typedef struct AMetaDataEvent | AMetaDataEvent |
typedef struct AUncalibratedEvent | AUncalibratedEvent |
typedef struct AHeartRateEvent | AHeartRateEvent |
typedef struct ASensorEvent | ASensorEvent |
typedef struct ASensorManager | ASensorManager |
typedef struct ASensorEventQueue | ASensorEventQueue |
typedef struct ASensor | ASensor |
typedef ASensor const * | ASensorRef |
typedef ASensorRef const * | ASensorList |
Enumerations | |
enum | { ASENSOR_TYPE_ACCELEROMETER = 1, ASENSOR_TYPE_MAGNETIC_FIELD = 2, ASENSOR_TYPE_GYROSCOPE = 4, ASENSOR_TYPE_LIGHT = 5, ASENSOR_TYPE_PROXIMITY = 8 } |
enum | { ASENSOR_STATUS_NO_CONTACT = -1, ASENSOR_STATUS_UNRELIABLE = 0, ASENSOR_STATUS_ACCURACY_LOW = 1, ASENSOR_STATUS_ACCURACY_MEDIUM = 2, ASENSOR_STATUS_ACCURACY_HIGH = 3 } |
enum | { AREPORTING_MODE_CONTINUOUS = 0, AREPORTING_MODE_ON_CHANGE = 1, AREPORTING_MODE_ONE_SHOT = 2, AREPORTING_MODE_SPECIAL_TRIGGER = 3 } |
#define ASENSOR_MAGNETIC_FIELD_EARTH_MAX (60.0f) |
Maximum magnetic field on Earth's surface in uT
#define ASENSOR_MAGNETIC_FIELD_EARTH_MIN (30.0f) |
Minimum magnetic field on Earth's surface in uT
#define ASENSOR_STANDARD_GRAVITY (9.80665f) |
Earth's gravity in m/s^2
typedef struct AHeartRateEvent AHeartRateEvent |
typedef struct AMetaDataEvent AMetaDataEvent |
ASensor is an opaque type that provides information about an hardware sensors.
A ASensor pointer can be obtained using ASensorManager_getDefaultSensor(), ASensorManager_getDefaultSensorEx() or from a ASensorList.
This file provides a set of functions to access properties of a ASensor:
typedef struct ASensorEvent ASensorEvent |
typedef struct ASensorEventQueue ASensorEventQueue |
ASensorEventQueue is an opaque type that provides access to ASensorEvent from hardware sensors.
A new ASensorEventQueue can be obtained using ASensorManager_createEventQueue().
This file provides a set of functions to enable and disable sensors, check and get events, and set event rates on a ASensorEventQueue.
typedef ASensorRef const* ASensorList |
ASensorList is an array of reference to ASensor.
A ASensorList can be initialized using ASensorManager_getSensorList().
typedef struct ASensorManager ASensorManager |
ASensorManager is an opaque type to manage sensors and events queues.
ASensorManager is a singleton that can be obtained using ASensorManager_getInstance().
This file provides a set of functions that uses ASensorManager to access and list hardware sensors, and create and destroy event queues:
typedef ASensor const* ASensorRef |
ASensorRef is a type for constant pointers to ASensor.
This is used to define entry in ASensorList arrays.
typedef struct ASensorVector ASensorVector |
A sensor event.
typedef struct AUncalibratedEvent AUncalibratedEvent |
anonymous enum |
Structures and functions to receive and process sensor events in native code. Sensor types. (keep in sync with hardware/sensor.h)
Enumerator | |
---|---|
ASENSOR_TYPE_ACCELEROMETER |
ASENSOR_TYPE_ACCELEROMETER reporting-mode: continuous All values are in SI units (m/s^2) and measure the acceleration of the device minus the force of gravity. |
ASENSOR_TYPE_MAGNETIC_FIELD |
ASENSOR_TYPE_MAGNETIC_FIELD reporting-mode: continuous All values are in micro-Tesla (uT) and measure the geomagnetic field in the X, Y and Z axis. |
ASENSOR_TYPE_GYROSCOPE |
ASENSOR_TYPE_GYROSCOPE reporting-mode: continuous All values are in radians/second and measure the rate of rotation around the X, Y and Z axis. |
ASENSOR_TYPE_LIGHT |
ASENSOR_TYPE_LIGHT reporting-mode: on-change The light sensor value is returned in SI lux units. |
ASENSOR_TYPE_PROXIMITY |
ASENSOR_TYPE_PROXIMITY reporting-mode: on-change The proximity sensor which turns the screen off and back on during calls is the wake-up proximity sensor. Implement wake-up proximity sensor before implementing a non wake-up proximity sensor. For the wake-up proximity sensor set the flag SENSOR_FLAG_WAKE_UP. The value corresponds to the distance to the nearest object in centimeters. |
anonymous enum |
anonymous enum |
int ASensor_getFifoMaxEventCount | ( | ASensor const * | sensor | ) |
Returns the maximum size of batches for this sensor. Batches will often be smaller, as the hardware fifo might be used for other sensors.
int ASensor_getFifoReservedEventCount | ( | ASensor const * | sensor | ) |
Returns the hardware batch fifo size reserved to this sensor.
int ASensor_getMinDelay | ( | ASensor const * | sensor | ) |
Returns the minimum delay allowed between events in microseconds. A value of zero means that this sensor doesn't report events at a constant rate, but rather only when a new data is available.
const char* ASensor_getName | ( | ASensor const * | sensor | ) |
Returns this sensor's name (non localized)
int ASensor_getReportingMode | ( | ASensor const * | sensor | ) |
Returns the reporting mode for this sensor. One of AREPORTING_MODE_* constants.
float ASensor_getResolution | ( | ASensor const * | sensor | ) |
Returns this sensors's resolution
const char* ASensor_getStringType | ( | ASensor const * | sensor | ) |
Returns this sensor's string type.
int ASensor_getType | ( | ASensor const * | sensor | ) |
Return this sensor's type
const char* ASensor_getVendor | ( | ASensor const * | sensor | ) |
Returns this sensor's vendor's name (non localized)
bool ASensor_isWakeUpSensor | ( | ASensor const * | sensor | ) |
Returns true if this is a wake up sensor, false otherwise.
int ASensorEventQueue_disableSensor | ( | ASensorEventQueue * | queue, |
ASensor const * | sensor | ||
) |
Disable the selected sensor. Returns a negative error code on failure.
int ASensorEventQueue_enableSensor | ( | ASensorEventQueue * | queue, |
ASensor const * | sensor | ||
) |
Enable the selected sensor. Returns a negative error code on failure.
ssize_t ASensorEventQueue_getEvents | ( | ASensorEventQueue * | queue, |
ASensorEvent * | events, | ||
size_t | count | ||
) |
Returns the next available events from the queue. Returns a negative value if no events are available or an error has occurred, otherwise the number of events returned.
Examples: ASensorEvent event; ssize_t numEvent = ASensorEventQueue_getEvents(queue, &event, 1);
ASensorEvent eventBuffer[8]; ssize_t numEvent = ASensorEventQueue_getEvents(queue, eventBuffer, 8);
int ASensorEventQueue_hasEvents | ( | ASensorEventQueue * | queue | ) |
Returns true if there are one or more events available in the sensor queue. Returns 1 if the queue has events; 0 if it does not have events; and a negative value if there is an error.
int ASensorEventQueue_setEventRate | ( | ASensorEventQueue * | queue, |
ASensor const * | sensor, | ||
int32_t | usec | ||
) |
Sets the delivery rate of events in microseconds for the given sensor. Note that this is a hint only, generally event will arrive at a higher rate. It is an error to set a rate inferior to the value returned by ASensor_getMinDelay(). Returns a negative error code on failure.
ASensorEventQueue* ASensorManager_createEventQueue | ( | ASensorManager * | manager, |
ALooper * | looper, | ||
int | ident, | ||
ALooper_callbackFunc | callback, | ||
void * | data | ||
) |
Creates a new sensor event queue and associate it with a looper.
"ident" is a identifier for the events that will be returned when calling ALooper_pollOnce(). The identifier must be >= 0, or ALOOPER_POLL_CALLBACK if providing a non-NULL callback.
int ASensorManager_destroyEventQueue | ( | ASensorManager * | manager, |
ASensorEventQueue * | queue | ||
) |
Destroys the event queue and free all resources associated to it.
ASensor const* ASensorManager_getDefaultSensor | ( | ASensorManager * | manager, |
int | type | ||
) |
Returns the default sensor for the given type, or NULL if no sensor of that type exists.
ASensor const* ASensorManager_getDefaultSensorEx | ( | ASensorManager * | manager, |
int | type, | ||
bool | wakeUp | ||
) |
Returns the default sensor with the given type and wakeUp properties or NULL if no sensor of this type and wakeUp properties exists.
ASensorManager* ASensorManager_getInstance | ( | ) |
Get a reference to the sensor manager. ASensorManager is a singleton.
Example:
ASensorManager* sensorManager = ASensorManager_getInstance();
int ASensorManager_getSensorList | ( | ASensorManager * | manager, |
ASensorList * | list | ||
) |
Returns the list of available sensors.