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); }