internal static void PlatformStart(SensorSpeed sensorSpeed) { var manager = Platform.MotionManager; switch (sensorSpeed) { case SensorSpeed.Fastest: manager.GyroUpdateInterval = FastestInterval; break; case SensorSpeed.Game: manager.GyroUpdateInterval = GameInterval; break; case SensorSpeed.Normal: manager.GyroUpdateInterval = NormalInterval; break; case SensorSpeed.UI: manager.GyroUpdateInterval = UIInterval; break; } manager.StartGyroUpdates(Platform.GetCurrentQueue(), DataUpdated); }
internal static void PlatformStart(SensorSpeed sensorSpeed) { var manager = Platform.MotionManager; manager.MagnetometerUpdateInterval = sensorSpeed.ToPlatform(); manager.StartMagnetometerUpdates(Platform.GetCurrentQueue(), DataUpdated); }
static void PlatformStart(SensorSpeed sensorSpeed) { altitudeManager = new CMAltimeter(); altitudeManager.StartRelativeAltitudeUpdates(Platform.GetCurrentQueue(), LocationManagerUpdatedHeading); void LocationManagerUpdatedHeading(CMAltitudeData e, NSError error) => OnChanged(new BarometerData(UnitConverters.KilopascalsToHectopascals(e.Pressure.DoubleValue))); }
static void PlatformStart(SensorSpeed sensorSpeed) { altitudeManager = new CMAltimeter(); altitudeManager.StartRelativeAltitudeUpdates(Platform.GetCurrentQueue(), LocationManagerUpdatedHeading); // Heading updates Convert to HectoPascal from KiloPascal void LocationManagerUpdatedHeading(CMAltitudeData e, NSError error) => OnChanged(new BarometerData(e.Pressure.DoubleValue / 10d)); }
internal static void PlatformStart(SensorSpeed sensorSpeed) { var manager = Platform.MotionManager; manager.DeviceMotionUpdateInterval = sensorSpeed.ToPlatform(); // use a fixed reference frame where X points north and Z points vertically into the sky manager.StartDeviceMotionUpdates(CMAttitudeReferenceFrame.XTrueNorthZVertical, Platform.GetCurrentQueue(), DataUpdated); }