Sensor

#include <sensor.h>

Summary

Enumerations

Anonymous Enum 41{
  ASENSOR_TYPE_INVALID = -1,
  ASENSOR_TYPE_ACCELEROMETER = 1,
  ASENSOR_TYPE_MAGNETIC_FIELD = 2,
  ASENSOR_TYPE_GYROSCOPE = 4,
  ASENSOR_TYPE_LIGHT = 5,
  ASENSOR_TYPE_PRESSURE = 6,
  ASENSOR_TYPE_PROXIMITY = 8,
  ASENSOR_TYPE_GRAVITY = 9,
  ASENSOR_TYPE_LINEAR_ACCELERATION = 10,
  ASENSOR_TYPE_ROTATION_VECTOR = 11,
  ASENSOR_TYPE_RELATIVE_HUMIDITY = 12,
  ASENSOR_TYPE_AMBIENT_TEMPERATURE = 13,
  ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED = 14,
  ASENSOR_TYPE_GAME_ROTATION_VECTOR = 15,
  ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED = 16,
  ASENSOR_TYPE_SIGNIFICANT_MOTION = 17,
  ASENSOR_TYPE_STEP_DETECTOR = 18,
  ASENSOR_TYPE_STEP_COUNTER = 19,
  ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR = 20,
  ASENSOR_TYPE_HEART_RATE = 21,
  ASENSOR_TYPE_POSE_6DOF = 28,
  ASENSOR_TYPE_STATIONARY_DETECT = 29,
  ASENSOR_TYPE_MOTION_DETECT = 30,
  ASENSOR_TYPE_HEART_BEAT = 31,
  ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT = 34,
  ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED = 35
}
enum
Sensor types.
Anonymous Enum 42{
  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
Sensor accuracy measure.
Anonymous Enum 43{
  AREPORTING_MODE_INVALID = -1,
  AREPORTING_MODE_CONTINUOUS = 0,
  AREPORTING_MODE_ON_CHANGE = 1,
  AREPORTING_MODE_ONE_SHOT = 2,
  AREPORTING_MODE_SPECIAL_TRIGGER = 3
}
enum
Sensor Reporting Modes.
Anonymous Enum 44{
  ASENSOR_DIRECT_RATE_STOP = 0,
  ASENSOR_DIRECT_RATE_NORMAL = 1,
  ASENSOR_DIRECT_RATE_FAST = 2,
  ASENSOR_DIRECT_RATE_VERY_FAST = 3
}
enum
Sensor Direct Report Rates.
Anonymous Enum 45{
  ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY = 1,
  ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER = 2
}
enum
Sensor Direct Channel Type.

Typedefs

ADynamicSensorEvent typedef
AHardwareBuffer typedef
struct AHardwareBuffer
Structures and functions to receive and process sensor events in native code.
AHeartRateEvent typedef
AMetaDataEvent typedef
ASensor typedef
struct ASensor
ASensor is an opaque type that provides information about an hardware sensors.
ASensorEvent typedef
struct ASensorEvent
ASensorEventQueue typedef
ASensorEventQueue is an opaque type that provides access to ASensorEvent from hardware sensors.
ASensorList typedef
ASensorRef const *
ASensorList is an array of reference to ASensor.
ASensorManager typedef
ASensorManager is an opaque type to manage sensors and events queues.
ASensorRef typedef
ASensor const *
ASensorRef is a type for constant pointers to ASensor.
ASensorVector typedef
struct ASensorVector
A sensor event.
AUncalibratedEvent typedef

Functions

ASensorEventQueue_disableSensor(ASensorEventQueue *queue, ASensor const *sensor)
int
Disable the selected sensor.
ASensorEventQueue_enableSensor(ASensorEventQueue *queue, ASensor const *sensor)
int
Enable the selected sensor at default sampling rate.
ASensorEventQueue_getEvents(ASensorEventQueue *queue, ASensorEvent *events, size_t count)
ssize_t
Retrieve pending events in sensor event queue.
ASensorEventQueue_hasEvents(ASensorEventQueue *queue)
int
Determine if a sensor event queue has pending event to be processed.
ASensorEventQueue_registerSensor(ASensorEventQueue *queue, ASensor const *sensor, int32_t samplingPeriodUs, int64_t maxBatchReportLatencyUs)
int
Enable the selected sensor with sampling and report parameters.
ASensorEventQueue_setEventRate(ASensorEventQueue *queue, ASensor const *sensor, int32_t usec)
int
Sets the delivery rate of events in microseconds for the given sensor.
ASensorManager_configureDirectReport(ASensorManager *manager, ASensor const *sensor, int channelId, int rate)
int
Configure direct report on channel.
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.
ASensorManager_createHardwareBufferDirectChannel(ASensorManager *manager, AHardwareBuffer const *buffer, size_t size)
int
Create direct channel based on AHardwareBuffer.
ASensorManager_createSharedMemoryDirectChannel(ASensorManager *manager, int fd, size_t size)
int
Create direct channel based on shared memory.
ASensorManager_destroyDirectChannel(ASensorManager *manager, int channelId)
void
Destroy a direct channel.
ASensorManager_destroyEventQueue(ASensorManager *manager, ASensorEventQueue *queue)
int
Destroys the event queue and free all resources associated to it.
ASensorManager_getDefaultSensor(ASensorManager *manager, int type)
ASensor const *
Returns the default sensor for the given type, or NULL if no sensor of that type exists.
ASensorManager_getDefaultSensorEx(ASensorManager *manager, int type, bool wakeUp)
ASensor const *
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(const char *packageName)
Get a reference to the sensor manager.
ASensorManager_getSensorList(ASensorManager *manager, ASensorList *list)
int
Returns the list of available sensors.
ASensor_getFifoMaxEventCount(ASensor const *sensor)
int
Returns the maximum size of batches for this sensor.
ASensor_getFifoReservedEventCount(ASensor const *sensor)
int
Returns the hardware batch fifo size reserved to this sensor.
ASensor_getHighestDirectReportRateLevel(ASensor const *sensor)
int
Get the highest direct rate level that a sensor support.
ASensor_getMinDelay(ASensor const *sensor)
int
Returns the minimum delay allowed between events in microseconds.
ASensor_getName(ASensor const *sensor)
const char *
Returns this sensor's name (non localized)
ASensor_getReportingMode(ASensor const *sensor)
int
Returns the reporting mode for this sensor.
ASensor_getResolution(ASensor const *sensor)
float
Returns this sensors's resolution.
ASensor_getStringType(ASensor const *sensor)
const char *
Returns this sensor's string type.
ASensor_getType(ASensor const *sensor)
int
Return this sensor's type.
ASensor_getVendor(ASensor const *sensor)
const char *
Returns this sensor's vendor's name (non localized)
ASensor_isDirectChannelTypeSupported(ASensor const *sensor, int channelType)
bool
Test if sensor supports a certain type of direct channel.
ASensor_isWakeUpSensor(ASensor const *sensor)
bool
Returns true if this is a wake up sensor, false otherwise.
__attribute__((deprecated))
Get a reference to the sensor manager.

Structs

AAdditionalInfoEvent
ADynamicSensorEvent
AHeartRateEvent
AMetaDataEvent
ASensorEvent
ASensorVector

A sensor event.

AUncalibratedEvent

Enumerations

Anonymous Enum 41

 Anonymous Enum 41

Sensor types.

See android.hardware.SensorEvent::values for detailed explanations of the data returned for each of these types.

Properties
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_ACCELEROMETER_UNCALIBRATED

ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED

ASENSOR_TYPE_AMBIENT_TEMPERATURE

ASENSOR_TYPE_AMBIENT_TEMPERATURE

The ambient temperature sensor value is returned in Celcius.

ASENSOR_TYPE_GAME_ROTATION_VECTOR

ASENSOR_TYPE_GAME_ROTATION_VECTOR

ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR

ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR

ASENSOR_TYPE_GRAVITY

ASENSOR_TYPE_GRAVITY

All values are in SI units (m/s^2) and measure the direction and magnitude of gravity. When the device is at rest, the output of the gravity sensor should be identical to that of the accelerometer.

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_GYROSCOPE_UNCALIBRATED

ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED

ASENSOR_TYPE_HEART_BEAT

ASENSOR_TYPE_HEART_BEAT

ASENSOR_TYPE_HEART_RATE

ASENSOR_TYPE_HEART_RATE

ASENSOR_TYPE_INVALID

Invalid sensor type.

Returned by ASensor_getType as error value.

ASENSOR_TYPE_LIGHT

ASENSOR_TYPE_LIGHT reporting-mode: on-change

The light sensor value is returned in SI lux units.

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.

ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT

ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT

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_MAGNETIC_FIELD_UNCALIBRATED

ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED

ASENSOR_TYPE_MOTION_DETECT

ASENSOR_TYPE_MOTION_DETECT

ASENSOR_TYPE_POSE_6DOF

ASENSOR_TYPE_POSE_6DOF

ASENSOR_TYPE_PRESSURE

ASENSOR_TYPE_PRESSURE

The pressure sensor value is returned in hPa (millibar).

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_RELATIVE_HUMIDITY

ASENSOR_TYPE_RELATIVE_HUMIDITY

The relative humidity sensor value is returned in percent.

ASENSOR_TYPE_ROTATION_VECTOR

ASENSOR_TYPE_ROTATION_VECTOR

ASENSOR_TYPE_SIGNIFICANT_MOTION

ASENSOR_TYPE_SIGNIFICANT_MOTION

ASENSOR_TYPE_STATIONARY_DETECT

ASENSOR_TYPE_STATIONARY_DETECT

ASENSOR_TYPE_STEP_COUNTER

ASENSOR_TYPE_STEP_COUNTER

ASENSOR_TYPE_STEP_DETECTOR

ASENSOR_TYPE_STEP_DETECTOR

Anonymous Enum 42

 Anonymous Enum 42

Sensor accuracy measure.

Properties
ASENSOR_STATUS_ACCURACY_HIGH

high accuracy

ASENSOR_STATUS_ACCURACY_LOW

low accuracy

ASENSOR_STATUS_ACCURACY_MEDIUM

medium accuracy

ASENSOR_STATUS_NO_CONTACT

no contact

ASENSOR_STATUS_UNRELIABLE

unreliable

Anonymous Enum 43

 Anonymous Enum 43

Sensor Reporting Modes.

Properties
AREPORTING_MODE_CONTINUOUS

continuous reporting

AREPORTING_MODE_INVALID

invalid reporting mode

AREPORTING_MODE_ONE_SHOT

on shot reporting

AREPORTING_MODE_ON_CHANGE

reporting on change

AREPORTING_MODE_SPECIAL_TRIGGER

special trigger reporting

Anonymous Enum 44

 Anonymous Enum 44

Sensor Direct Report Rates.

Properties
ASENSOR_DIRECT_RATE_FAST

nominal 200Hz

ASENSOR_DIRECT_RATE_NORMAL

nominal 50Hz

ASENSOR_DIRECT_RATE_STOP

stopped

ASENSOR_DIRECT_RATE_VERY_FAST

nominal 800Hz

Anonymous Enum 45

 Anonymous Enum 45

Sensor Direct Channel Type.

Properties
ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER

AHardwareBuffer.

ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY

shared memory created by ASharedMemory_create

Typedefs

ADynamicSensorEvent

struct ADynamicSensorEvent ADynamicSensorEvent

AHardwareBuffer

struct AHardwareBuffer AHardwareBuffer

Structures and functions to receive and process sensor events in native code.

AHeartRateEvent

struct AHeartRateEvent AHeartRateEvent

AMetaDataEvent

struct AMetaDataEvent AMetaDataEvent

ASensorEvent

struct ASensorEvent ASensorEvent

ASensorEventQueue

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.

ASensorList

ASensorRef const * ASensorList

ASensorList is an array of reference to ASensor.

A ASensorList can be initialized using ASensorManager_getSensorList().

ASensorManager

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:

ASensorRef

ASensor const * ASensorRef

ASensorRef is a type for constant pointers to ASensor.

This is used to define entry in ASensorList arrays.

ASensorVector

struct ASensorVector ASensorVector

A sensor event.

AUncalibratedEvent

struct AUncalibratedEvent AUncalibratedEvent

Functions

ASensorEventQueue_disableSensor

int ASensorEventQueue_disableSensor(
  ASensorEventQueue *queue,
  ASensor const *sensor
)

Disable the selected sensor.

Stop event reports from the sensor to specified sensor event queue.

Details
Parameters
queue
ASensorEventQueue to be changed
sensor
ASensor to be disabled
Returns
0 on success or a negative error code on failure.

ASensorEventQueue_enableSensor

int ASensorEventQueue_enableSensor(
  ASensorEventQueue *queue,
  ASensor const *sensor
)

Enable the selected sensor at default sampling rate.

Start event reports of a sensor to specified sensor event queue at a default rate.

Details
Parameters
queue
ASensorEventQueue for sensor event to be report to.
sensor
ASensor to be enabled.
Returns
0 on success or a negative error code on failure.

ASensorEventQueue_getEvents

ssize_t ASensorEventQueue_getEvents(
  ASensorEventQueue *queue,
  ASensorEvent *events,
  size_t count
)

Retrieve pending events in sensor event queue.

Retrieve next available events from the queue to a specified event array.

Examples:

ASensorEvent event;
ssize_t numEvent = ASensorEventQueue_getEvents(queue, &event, 1);

ASensorEvent eventBuffer[8];
ssize_t numEvent = ASensorEventQueue_getEvents(queue, eventBuffer, 8);

Details
Parameters
queue
ASensorEventQueue to get events from
events
pointer to an array of ASensorEvents.
count
max number of event that can be filled into array event.
Returns
number of events returned on success; negative error code when no events are pending or an error has occurred.

ASensorEventQueue_hasEvents

int ASensorEventQueue_hasEvents(
  ASensorEventQueue *queue
)

Determine if a sensor event queue has pending event to be processed.

Details
Parameters
queue
ASensorEventQueue to be queried
Returns
1 if the queue has events; 0 if it does not have events; or a negative value if there is an error.

ASensorEventQueue_registerSensor

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

Enable the selected sensor with sampling and report parameters.

Enable the selected sensor at a specified sampling period and max batch report latency. To disable sensor, use ASensorEventQueue_disableSensor.

Details
Parameters
queue
ASensorEventQueue for sensor event to be report to.
sensor
ASensor to be enabled.
samplingPeriodUs
sampling period of sensor in microseconds.
maxBatchReportLatencyus
maximum time interval between two batch of sensor events are delievered in microseconds. For sensor streaming, set to 0.
Returns
0 on success or a negative error code on failure.

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.

This function has to be called after ASensorEventQueue_enableSensor. 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().

Details
Parameters
queue
ASensorEventQueue to which sensor event is delivered.
sensor
ASensor of which sampling rate to be updated.
usec
sensor sampling period (1/sampling rate) in microseconds
Returns
0 on sucess or a negative error code on failure.

ASensorManager_configureDirectReport

int ASensorManager_configureDirectReport(
  ASensorManager *manager,
  ASensor const *sensor,
  int channelId,
  int rate
)

Configure direct report on channel.

Configure sensor direct report on a direct channel: set rate to value other than ASENSOR_DIRECT_RATE_STOP so that sensor event can be directly written into the shared memory region used for creating the buffer. It returns a positive token which can be used for identify sensor events from different sensors on success. Calling with rate ASENSOR_DIRECT_RATE_STOP will stop direct report of the sensor specified in the channel.

To stop all active sensor direct report configured to a channel, set sensor to NULL and rate to ASENSOR_DIRECT_RATE_STOP.

In order to successfully configure a direct report, the sensor has to support the specified rate and the channel type, which can be checked by ASensor_getHighestDirectReportRateLevel and ASensor_isDirectChannelTypeSupported, respectively.

Example:

ASensorManager *manager = ...;
ASensor *sensor = ...;
int channelId = ...;

ASensorManager_configureDirectReport(manager, sensor, channel_id, ASENSOR_DIRECT_RATE_FAST);

Details
Parameters
manager
sensor
a ASensor to denote which sensor to be operate. It can be NULL if rate is ASENSOR_DIRECT_RATE_STOP, denoting stopping of all active sensor direct report.
channelId
Returns
positive token for success or negative error code.

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_createHardwareBufferDirectChannel

int ASensorManager_createHardwareBufferDirectChannel(
  ASensorManager *manager,
  AHardwareBuffer const *buffer,
  size_t size
)

Create direct channel based on AHardwareBuffer.

Create a direct channel of ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER type to be used for configuring sensor direct report.

Details
Parameters
manager
buffer
size
the intended size to be used, must be less or equal to size of buffer.
Returns
a positive integer as a channel id to be used in ASensorManager_destroyDirectChannel and ASensorManager_configureDirectReport, or value less or equal to 0 for failures.

ASensorManager_createSharedMemoryDirectChannel

int ASensorManager_createSharedMemoryDirectChannel(
  ASensorManager *manager,
  int fd,
  size_t size
)

Create direct channel based on shared memory.

Create a direct channel of ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY to be used for configuring sensor direct report.

Details
Parameters
manager
fd
file descriptor representing a shared memory created by ASharedMemory_create
size
size to be used, must be less or equal to size of shared memory.
Returns
a positive integer as a channel id to be used in ASensorManager_destroyDirectChannel and ASensorManager_configureDirectReport, or value less or equal to 0 for failures.

ASensorManager_destroyDirectChannel

void ASensorManager_destroyDirectChannel(
  ASensorManager *manager,
  int channelId
)

Destroy a direct channel.

Destroy a direct channel previously created using ASensorManager_createDirectChannel. The buffer used for creating direct channel does not get destroyed with ASensorManager_destroy and has to be close or released separately.

Details
Parameters
manager
channelId

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
)

Get a reference to the sensor manager.

ASensorManager is a singleton per package as different packages may have access to different sensors.

Example:

ASensorManager* sensorManager = ASensorManager_getInstanceForPackage("foo.bar.baz");

ASensorManager_getSensorList

int ASensorManager_getSensorList(
  ASensorManager *manager,
  ASensorList *list
)

Returns the list of available sensors.

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_getHighestDirectReportRateLevel

int ASensor_getHighestDirectReportRateLevel(
  ASensor const *sensor
)

Get the highest direct rate level that a sensor support.

Details
Parameters
sensor
a ASensor to denote the sensor to be checked.
Returns
a ASENSOR_DIRECT_RATE_... enum denoting the highest rate level supported by the sensor. If return value is ASENSOR_DIRECT_RATE_STOP, it means the sensor does not support direct report.

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_isDirectChannelTypeSupported

bool ASensor_isDirectChannelTypeSupported(
  ASensor const *sensor,
  int channelType
)

Test if sensor supports a certain type of direct channel.

Details
Parameters
sensor
a ASensor to denote the sensor to be checked.
channelType
Channel type constant, either {} or ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER.
Returns
true if sensor supports the specified direct channel type.

ASensor_isWakeUpSensor

bool ASensor_isWakeUpSensor(
  ASensor const *sensor
)

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

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