Esempio n. 1
0
        void Magnetometer_MagnetometerMeasurementValueChanged(object sender, MagnetometerMeasurementEventArgs e)
        {
            measurement = e.Measurement;

            if (_timer == null)
            {
                var nowait = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new Windows.UI.Core.DispatchedHandler(() =>
                {
                    StartTimer();
                }));
            }
        }
        void OnMovementMeasurementValueChanged(object sender, MovementEventArgs e)
        {
            this.movement = e.Measurement;

            this.absolutePosition = new MagnetometerMeasurement()
            {
                X = movement.MagX,
                Y = movement.MagY,
                Z = movement.MagZ
            };

            // magnetometer has quite a bit of noise, if the value is less than 5 then chances are the
            // device is not moving.
            if (Math.Abs(movement.GyroX) > MinimumMovement)
            {
                rx    += movement.MagX;
                speedX = 1d + Math.Min(3, Math.Abs(movement.MagX / 10));
            }
            if (Math.Abs(movement.GyroY) > MinimumMovement)
            {
                ry    += movement.MagY;
                speedY = 1d + Math.Min(3, Math.Abs(movement.MagY / 10));
            }
            if (Math.Abs(movement.GyroZ) > MinimumMovement)
            {
                rz    += movement.MagZ;
                speedZ = 1d + Math.Min(3, Math.Abs(movement.MagZ / 10));
            }

            if (timer == null)
            {
                var nowait = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new Windows.UI.Core.DispatchedHandler(() =>
                {
                    StartTimer();
                }));
            }
        }
 void Magnetometer_MagnetometerMeasurementValueChanged(object sender, MagnetometerMeasurementEventArgs e)
 {
     absolutePosition = e.Measurement;
     Debug.WriteLine("{0}\t{1}\t{2}", absolutePosition.X, absolutePosition.Y, absolutePosition.Z);
 }