base values on Omnia

Feb 6, 2009 at 8:06 PM

Running an app that displays the GVector readouts on my omnia, while standing it up straight and not moving the device, when GetGVector().X and GetGVector().Z are both 0, Omnia shows 8.4 for Y, not -9.8. Has anyone else gotten the same?  I also get -6.1 for Z when X and Y are both 0. Maybe its just my device's accelerometer that is poorly calibrated, but I noticed to get Y to zero, laying it on a flat surface i had to lift the lower part of the phone up considerably.

Coordinator
Feb 17, 2009 at 5:48 PM
Most of the mobile device tend to have poor quality accelerometers. The axises are not all going to return exactly 9.8. I'm surprised that the Y axis is negated for the Omnia. Can anyone else verify this bug?
A future of version of this API will allow introduce a calibration utility.
May 16, 2009 at 7:54 AM

yes it's true that the quality is not so good. but these accelerometer can be calibrated. for example for samsumg omnia (Class SamsungGSensor):

<font size="2" color="#0000ff"><font size="2" color="#0000ff">

double

</font></font><font size="2" color="#0000ff">

 

</font>

samsungScaleFactor = 1.0 / 1000.0 * 9.8 * 3.3793103448275862068965517241379;

i don't know how this value was found, but if you put this factor = 1, you will see that values from accelerometer goes from circa -250 to +250.

if you put the sensor on a table for example you will have -250 for Z-axis. now you divide this value for 9.81 (g), and you have circa 25.

so you divide every values received from sensor for this value (for example in class IGSensor in method Scale(double scale).

May 20, 2009 at 11:25 AM

Hello, i have a Touch Pro and the Y axis is also positive when standing up straight, is that how it's supposed to be??