Heres my code, which works:

public void onSensorChanged(SensorEvent event) {

        Sensor sensor = event.sensor;
        int type = sensor.getType();
        switch (type) {
                case Sensor.TYPE_MAGNETIC_FIELD:
                        mags = event.values.clone();
                        isReady = true;
                    break;
                case Sensor.TYPE_ACCELEROMETER:
                    accels = event.values.clone();
                    break;
                case Sensor.TYPE_ORIENTATION:
                    orients = event.values.clone();
                    break;
            }

            if (mags != null && accels != null && isReady) {
                isReady = false;

                    SensorManager.getRotationMatrix(R, I, accels, mags);
                    SensorManager.remapCoordinateSystem(R,
SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, outR);
                    SensorManager.getOrientation(outR, values);

                                azimuth = 
getAzimuth(-convert.radToDeg(values[0]));
                                pitch= convert.radToDeg(values[1]);
                                roll = -convert.radToDeg(values[2]);

            }

        }

On Aug 21, 2:39 am, Mike Collins <[email protected]> wrote:
> I have a sensor event handler that gets fired and I have no problem
> getting and processing acceleration readings. However this code
> always fails.
>
>                 if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
>                 {
>                         float[] geomagnetic = new float[3];
>                         geomagnetic[0] = geomagnetic[1] = geomagnetic[2] = 0;
>
>                         float[] r = new float[9];
>                         float[] I = new float[9];
>                         boolean b = SensorManager.getRotationMatrix(r, I, 
> event.values.clone
> (), event.values.clone());
>                         if ( ! b)
>                         {
>                                 Log.e(LOG_TAG, "getRotationMatrix failed");
>                                 return;
>                         }
> ...
>
> tia,
>   mike
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to