net.hadess.SensorProxy

net.hadess.SensorProxy — D-Bus proxy to access hardware sensors

Methods

ClaimAccelerometer   ();
ReleaseAccelerometer ();
ClaimLight           ();
ReleaseLight         ();
ClaimProximity       ();
ReleaseProximity     ();

Properties

HasAccelerometer          readable   b
AccelerometerOrientation  readable   s
HasAmbientLight           readable   b
LightLevelUnit            readable   s
LightLevel                readable   d
HasProximity              readable   b
ProximityNear             readable   b

Description

After checking the availability of the sensor type you want to monitor, call the ClaimAccelerometer() or the ClaimLight() method to start updating the properties from the hardware readings.

The object path will be "/net/hadess/SensorProxy".

Method Details

The ClaimAccelerometer() method

ClaimAccelerometer ();

To start receiving accelerometer reading updates from the proxy, the application must call the ClaimAccelerometer() method. It can do so whether an accelerometer is available or not, updates would then be sent when an accelerometer appears.

Applications should call ReleaseAccelerometer() when readings are not required anymore. For example, an application that monitors the orientation of the main screen should stop monitoring for updates when that screen has been turned off.

This prevents the sensor proxy from polling the device, thus increasing wake-ups and reducing battery life.


The ReleaseAccelerometer() method

ReleaseAccelerometer ();

This should be called as soon as readings are not required anymore. Note that resources are freed up if a monitoring application exits without calling ReleaseAccelerometer(), crashes or the sensor disappears.


The ClaimLight() method

ClaimLight ();

To start receiving ambient light sensor reading updates from the proxy, the application must call the ClaimLight() method. It can do so whether an ambient light sensor is available or not, updates would then be sent when such a sensor appears.

Applications should call ReleaseLight() when readings are not required anymore. For example, an application that monitors the ambient light to change the screen brightness should stop monitoring for updates when that screen has been turned off.

This prevents the sensor proxy from polling the device, thus increasing wake-ups and reducing battery life.


The ReleaseLight() method

ReleaseLight ();

This should be called as soon as readings are not required anymore. Note that resources are freed up if a monitoring application exits without calling ReleaseLight(), crashes or the sensor disappears.


The ClaimProximity() method

ClaimProximity ();

To start receiving proximity updates from the proxy, the application must call the ClaimProximity() method. It can do so whether a proximity is available or not, updates would then be sent when such a sensor appears.

Applications should call ReleaseProximity() when readings are not required anymore. This prevents the sensor proxy from polling the device, thus increasing wake-ups and reducing battery life.


The ReleaseProximity() method

ReleaseProximity ();

This should be called as soon as readings are not required anymore. Note that resources are freed up if a monitoring application exits without calling ReleaseProximity(), crashes or the sensor disappears.

Property Details

The "HasAccelerometer" property

HasAccelerometer  readable   b

Whether a supported accelerometer is present on the system.


The "AccelerometerOrientation" property

AccelerometerOrientation  readable   s

The detected orientation of the tablet or laptop. Possible values are:

  • undefined

  • normal

  • bottom-up

  • left-up

  • right-up


The "HasAmbientLight" property

HasAmbientLight  readable   b

Whether a supported ambient light sensor is present on the system.


The "LightLevelUnit" property

LightLevelUnit  readable   s

The unit used in Ambient Light Sensor readings. It is one of either "lux" or "vendor".

Note that different hardware will have different readings in the same condition, so values should be taken as relative.

When the unit is "vendor", readings will be a percentage with 100 being the maximum reading.


The "LightLevel" property

LightLevel  readable   d

The ambient light sensor reading, in the unit exported in the "LightLevelUnit" property.


The "HasProximity" property

HasProximity  readable   b

Whether a supported proximity sensor is present on the system.


The "ProximityNear" property

ProximityNear  readable   b

Whether an object is near to the proximity sensor.