The SDK handles the glasses sensors via the
IEvsSensorsService interface (received from the
The following glasses sensors exists, and are handled by the SDK:
|Touch pad on the right glasses temple arm. The SDK sends touch gestures when occurred
|Used for detecting if the glasses are off\on the face. The SDK sends on\off trigger when relevant
|Used for measuring daylight. The SDK sends the measured information for the application to act. Also it is used by the auto brightness mechanism
|For measuring or maintaining orientation and angular velocity
|Measures changes in the Earth's magnetic field
The SDK enables to disable\enable each sensor (except the proximity) and to consume the sensor data.
All sensors, except proximity, are disabled by default when the glasses are turned on.
The touch sensor is located on the right glasses temple.
Enabling the touch is done via
The touch events can be received using the
IEvsGlassesStateService.registerGlassesEvents or by overriding the
When enabled following discrete touch events are available:
|tapping the touch pad
|long pressing the touch pad
The proximity sensor enable to detect if the glasses are on of off the face.
The proximity events can be received using the
The following proximity events are available:
|Indicates the glasses are off face
|Indicates the glasses are on face (proximity sensor is triggered)
The ambient sensor is used for measuring daylight.
Enabling the ambient is done via
The ambient events can be received using the
When enabled the
IEvsSensorsEvents.onAmbient will be triggered, with the ambient sensor reading in lux.
The glasses inertial sensors includes Gyroscope, Magnetometer and Accelerometer.
Using the SDK, the sensors can be enabled and consumed in the following ways:
|the sensor x,y,z values are corrected according the the glasses calibration parameters
|all sensors are fused and the SDK supplies the calibrated Quaternion or YPR information
The sensors axes are as follows:
Sensors Rate and Rendering Rate
When the inertial sensors are active, they are capturing data at the requested
To optimize the usage of the Bluetooth channel, the collected sensor information is sent from the glasses to the SDK in batches at the requested
As a result, when you register for one of the sensor event interfaces, the event will be triggered before the rendering cycle, and it may be called multiple times to report each of the collected sensor data within the batch.
The Gyroscope and the Accelerometer using the same underling physical device, hence must be enabled with the same rate.
The Magnetometer rate must be lower then the Gyroscope\Accelerometer rate.
About Sensor Rates
Currently only SensorRate.rate0 and SensorRate.rate1 are operational (the rest are experimental)
See the Sensor Service API Reference for more information
The calibrated sensors can be received using the
In order to receive a calibrated sensors you should:
- Register to the required sensor(s) via
- Enable the required sensor(s) via
Don't forget to disable the sensor and to unregister the events when they are not required.
The fused sensors can be received as Quaternion or YPR.
In order to receive the fused sensors information you should:
- Register to the required interface via
- Enable the sensors fusion via
Enabling the sensors fusion will enable the glasses Gyroscope, Magnetometer, Accelerometer and will start the fusion algorithm process.
Don't forget to disable the sensor fusion and to unregister the events when they are not required.
Learn about the Simulator