Skip to content

Most visited

Recently visited

navigation

Sensor

Files

file  sensor.h
 

Data Structures

struct  ASensorVector
 
struct  AMetaDataEvent
 
struct  AUncalibratedEvent
 
struct  AHeartRateEvent
 
struct  ADynamicSensorEvent
 
struct  AAdditionalInfoEvent
 
struct  ASensorEvent
 

Typedefs

typedef struct ASensorVector ASensorVector
 
typedef struct AMetaDataEvent AMetaDataEvent
 
typedef struct AUncalibratedEvent AUncalibratedEvent
 
typedef struct AHeartRateEvent AHeartRateEvent
 
typedef struct ADynamicSensorEvent ADynamicSensorEvent
 
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, ASENSOR_TYPE_LINEAR_ACCELERATION = 10
}
 
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 }
 

Functions

 __attribute__ ((deprecated)) ASensorManager *ASensorManager_getInstance()
 
ASensorManagerASensorManager_getInstanceForPackage (const char *packageName)
 
int ASensorManager_getSensorList (ASensorManager *manager, ASensorList *list)
 
ASensor const * ASensorManager_getDefaultSensor (ASensorManager *manager, int type)
 
ASensor const * ASensorManager_getDefaultSensorEx (ASensorManager *manager, int type, bool wakeUp)
 
ASensorEventQueueASensorManager_createEventQueue (ASensorManager *manager, ALooper *looper, int ident, ALooper_callbackFunc callback, void *data)
 
int ASensorManager_destroyEventQueue (ASensorManager *manager, ASensorEventQueue *queue)
 
int ASensorEventQueue_registerSensor (ASensorEventQueue *queue, ASensor const *sensor, int32_t samplingPeriodUs, int maxBatchReportLatencyUs)
 
int ASensorEventQueue_enableSensor (ASensorEventQueue *queue, ASensor const *sensor)
 
int ASensorEventQueue_disableSensor (ASensorEventQueue *queue, ASensor const *sensor)
 
int ASensorEventQueue_setEventRate (ASensorEventQueue *queue, ASensor const *sensor, int32_t usec)
 
int ASensorEventQueue_hasEvents (ASensorEventQueue *queue)
 
ssize_t ASensorEventQueue_getEvents (ASensorEventQueue *queue, ASensorEvent *events, size_t count)
 
const char * ASensor_getName (ASensor const *sensor)
 
const char * ASensor_getVendor (ASensor const *sensor)
 
int ASensor_getType (ASensor const *sensor)
 
float ASensor_getResolution (ASensor const *sensor)
 
int ASensor_getMinDelay (ASensor const *sensor)
 
int ASensor_getFifoMaxEventCount (ASensor const *sensor)
 
int ASensor_getFifoReservedEventCount (ASensor const *sensor)
 
const char * ASensor_getStringType (ASensor const *sensor)
 
int ASensor_getReportingMode (ASensor const *sensor)
 
bool ASensor_isWakeUpSensor (ASensor const *sensor)
 

Detailed Description

Typedef Documentation

§ ADynamicSensorEvent

§ AHeartRateEvent

§ AMetaDataEvent

§ ASensor

§ ASensorEvent

typedef struct ASensorEvent ASensorEvent

§ 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.

§ ASensorList

typedef ASensorRef const* ASensorList

ASensorList is an array of reference to ASensor.

A ASensorList can be initialized using ASensorManager_getSensorList().

§ 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:

§ ASensorRef

typedef ASensor const* ASensorRef

ASensorRef is a type for constant pointers to ASensor.

This is used to define entry in ASensorList arrays.

§ ASensorVector

typedef struct ASensorVector ASensorVector

A sensor event.

§ AUncalibratedEvent

Enumeration Type Documentation

§ anonymous enum

anonymous enum

Structures and functions to receive and process sensor events in native code. Sensor types. (keep in sync with hardware/sensors.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.

ASENSOR_TYPE_LINEAR_ACCELERATION 

ASENSOR_TYPE_LINEAR_ACCELERATION reporting-mode: continuous

All values are in SI units (m/s^2) and measure the acceleration of the device not including the force of gravity.

§ anonymous enum

anonymous enum

Sensor accuracy measure.

Enumerator
ASENSOR_STATUS_NO_CONTACT 

no contact

ASENSOR_STATUS_UNRELIABLE 

unreliable

ASENSOR_STATUS_ACCURACY_LOW 

low accuracy

ASENSOR_STATUS_ACCURACY_MEDIUM 

medium accuracy

ASENSOR_STATUS_ACCURACY_HIGH 

high accuracy

§ anonymous enum

anonymous enum

Sensor Reporting Modes.

Enumerator
AREPORTING_MODE_CONTINUOUS 

continuous reporting

AREPORTING_MODE_ON_CHANGE 

reporting on change

AREPORTING_MODE_ONE_SHOT 

on shot reporting

AREPORTING_MODE_SPECIAL_TRIGGER 

special trigger reporting

Function Documentation

§ __attribute__()

__attribute__ ( (deprecated)  )

Get a reference to the sensor manager. ASensorManager is a singleton per package as different packages may have access to different sensors.

Deprecated: Use ASensorManager_getInstanceForPackage(const char*) instead.

Example:

ASensorManager* sensorManager = ASensorManager_getInstance();

§ ASensor_getFifoMaxEventCount()

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.

§ ASensor_getFifoReservedEventCount()

int ASensor_getFifoReservedEventCount ( ASensor const *  sensor)

Returns the hardware batch fifo size reserved to this sensor.

§ ASensor_getMinDelay()

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.

§ ASensor_getName()

const char* ASensor_getName ( ASensor const *  sensor)

Returns this sensor's name (non localized)

§ ASensor_getReportingMode()

int ASensor_getReportingMode ( ASensor const *  sensor)

Returns the reporting mode for this sensor. One of AREPORTING_MODE_* constants.

§ ASensor_getResolution()

float ASensor_getResolution ( ASensor const *  sensor)

Returns this sensors's resolution

§ ASensor_getStringType()

const char* ASensor_getStringType ( ASensor const *  sensor)

Returns this sensor's string type.

§ ASensor_getType()

int ASensor_getType ( ASensor const *  sensor)

Return this sensor's type

§ ASensor_getVendor()

const char* ASensor_getVendor ( ASensor const *  sensor)

Returns this sensor's vendor's name (non localized)

§ ASensor_isWakeUpSensor()

bool ASensor_isWakeUpSensor ( ASensor const *  sensor)

Returns true if this is a wake up sensor, false otherwise.

§ ASensorEventQueue_disableSensor()

int ASensorEventQueue_disableSensor ( ASensorEventQueue queue,
ASensor const *  sensor 
)

Disable the selected sensor. Returns a negative error code on failure.

§ ASensorEventQueue_enableSensor()

int ASensorEventQueue_enableSensor ( ASensorEventQueue queue,
ASensor const *  sensor 
)

Enable the selected sensor. Returns a negative error code on failure.

§ ASensorEventQueue_getEvents()

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);

§ ASensorEventQueue_hasEvents()

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.

§ ASensorEventQueue_registerSensor()

int ASensorEventQueue_registerSensor ( ASensorEventQueue queue,
ASensor const *  sensor,
int32_t  samplingPeriodUs,
int  maxBatchReportLatencyUs 
)

Enable the selected sensor with a specified sampling period and max batch report latency. Returns a negative error code on failure. Note: To disable the selected sensor, use ASensorEventQueue_disableSensor() same as before.

§ ASensorEventQueue_setEventRate()

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.

§ ASensorManager_createEventQueue()

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.

§ ASensorManager_destroyEventQueue()

int ASensorManager_destroyEventQueue ( ASensorManager manager,
ASensorEventQueue queue 
)

Destroys the event queue and free all resources associated to it.

§ ASensorManager_getDefaultSensor()

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.

§ ASensorManager_getDefaultSensorEx()

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_getInstanceForPackage()

ASensorManager* ASensorManager_getInstanceForPackage ( const char *  packageName)

§ ASensorManager_getSensorList()

int ASensorManager_getSensorList ( ASensorManager manager,
ASensorList list 
)

Returns the list of available sensors.

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.