Question

If I call

SensorManager mgr = (SensorManager) this.getSystemService(SENSOR_SERVICE);
String text = "The maximum G Force that this device can detect is: " + mgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER).getMaximumRange();

I get 19.X m/s^2. Now is that in each axle?

I mean, if I want to get the G-Force applied to the cellphone I can do: G-Force = SQRT(Xvalue^2 + Yvalue^2 + Zvalue^2) / 9.80 m/s^2

Would the value mean: Maximum G-Force = SQRT (19^2 + 19^2 + 19^2) = 33/9.80 = 3.3G?

Isn't that too slow? Am I missing something? Or Is any trick to get a value higher? Thanks in advance. Guillermo.

Was it helpful?

Solution

I believe your calculation is correct.

It's a range suitable for detecting most things needed to detect on the device. Some devices have a large range and coarse resolution and others have a small range and a fine resolution.

The G-Force range of a sensor is determined by the chip in use and the mode it is set to by the driver. Unfortunately there isn't a way to increase the range on a given device.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top