Archived:Nokia Sensor APIs
This article discusses the various sensor APIs available for Nokia devices.
Mobile sensor APIs (available in the Sensor plug-in for S60 SDK ) allow us to get the data from the embedded sensors.
That 3D accelerometer inside N95 , N93i or N82 is from STMicroelectronics (type LIS302DL). The European chip maker STMicroelectronics (STM)has also supplied the motion-control chip for the Nintendo Wii console's controller. This chip is built around a technology known as Micro Electro-Mechanical Systems (MEMS). Essentially chips with tiny moving parts like gears.
More information about it can be found in the public spec from ST web site http://www.st.com/internet/analog/subclass/444.jsp
S60 5th edition saw a introduction of new Sensor Framework which has new APIs that offer more versatility and extendability as well as new possibilities with sensor data formats and usage scenarios. This Framework has been backported to S60 3rd FP2 edition and also to E66 (S60 3rd FP1).
Sensor Framework Sensors can also be accessed via Platform Services in S60 5th Edition devices.
Sensor FW is not backwards compatible with Sensor API. Sensor API is not backwards compatible with R&D Plugin. Therefore you have to be careful to select correct sensor interface depending on your target hardware.
Sensor FW for S60 5th Ed and 3rd FP2 (and E66 3rd Ed FP1).
Sensor API for S60 3rd Ed and 3rd Ed FP1.
N95 with firmware < 20.0.015
- It allows us to get notification about the phone tilt for example whether the phone is tilted 0,90,180,270 degrees.
- The UID of the sensor is 0x303E. This UID can be used to get the call back notifications about the movement. The following link, sensor example, has the example for 5500 sensor.The UID of the 5500 sensor is 0x10273024. Simply changing in the file SensorTestAppui.cpp the 5500 UID to the N95 one allows us to get the call backs for N95.
>Note that with N95 you can only get one sensor and it gives only 4 different values (0/90/180/270), whereas with 5500 you get lot more information as well as there is tap sensor included with 5500.
- Until you can upgrade your firmware to V 20.0.015, you can also use the N95 RD Accelerometer plug-in described in Nokia Research Center's activity monitor project. This allows for a higher amount of detail to be received from the N95 accelerometer. The MovingBall example on that page also gives a good indication of what is possible with the N95 accelerometer. Please note that this R&D API is not binary compatible with the Sensor API offered by the S60 Platform.
N95 with firmware >= 20.0.015SensorAPI example used 'out-of the-box' give you the values on the 3 axis not limited to 4 values.
- Here's a panel for matching sensor API and R&D Plugin and device supporting it.
|Device||Platform||Sensor API||R&D Plugin||Sensor FW||Platform Services|
|N95 firmware < 20.0.015||3rd Ed FP1||Tilt only||v|
|N95 firmware >= 20.0.015 [0x303E]||3rd Ed FP1||Tilt only||v|
|N95 firmware >= 20.0.015 [0x10273024]||3rd Ed FP1||v||v|
|N95 8GB||3rd Ed FP1||v||v|
|N93i firmware < 20.0.084||3rd Ed||?||v|
|N93i firmware >= 20.0.084||3rd Ed||v||v|
|N82||3rd Ed FP1||v||v|
|6210 Navigator||3rd Ed FP2||acc+ magnetometer.|
|N79||3rd Ed FP2||?|
|N85||3rd Ed FP2||acc.|
|N96||3rd Ed FP2||?|
|E66||3rd Ed FP1||acc.|
|5800 ExpressMusic||5th Ed||acc.||acc.|
|5500||3rd Ed||v|| |
Several developers have announced applications that make use of 5500 , N95,N93i or N82's sensors using either the Sensor API (previouly used with only 5500) or the middleware released by the Nokia Research Center (NRC). Here are the ones known at this time: