Thanks, that seems to work, the orientation is now relative to the earth. The documentation could use a little work...
mike On Aug 20, 7:08 pm, mscwd01 <mscw...@gmail.com> wrote: > Oh and you'll need these: > > final int matrix_size = 16; > float[] R = new float[matrix_size]; > float[] outR = new float[matrix_size]; > float[] I = new float[matrix_size]; > float[] values = new float[3]; > > On Aug 21, 3:06 am, mscwd01 <mscw...@gmail.com> wrote: > > > > > 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 <mike.d.coll...@gmail.com> 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 android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---