/// <summary> /// Reads sensor data from the device then updates <see cref="SensorReading"/> property. /// </summary> public virtual void Update() { // Read all sensor values var sensorResult = ReadAll(); // Fire reading changed event OnReadingChanged?.Invoke(this, null); // Update properties SensorReading = sensorResult; }
void OnBarometerChanged(CMAltitudeData data, NSError error) { var currentReadingTime = DateTime.Now; if (firstRead || (currentReadingTime - _lastReadingTime).TotalMilliseconds >= ReadingInterval) { _lastReading = data.Pressure.DoubleValue; OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <double>(_lastReading)); firstRead = false; } }
private void OnPedometerChanged(nint numberOfSteps, NSDate timestamp, NSError error) { var currentReadingTime = DateTime.Now; if (firstRead || (currentReadingTime - _lastReadingTime).TotalMilliseconds >= ReadingInterval) { lastReading = (int)numberOfSteps; OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <int>(lastReading)); firstRead = false; } }
/// <summary> /// Raises the accelerometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnAccelerometerChanged(CMAccelerometerData data, NSError error) { if (error == null) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.Acceleration.X, data.Acceleration.Y, data.Acceleration.Z))); } else { OnReadingError?.Invoke(this, new DeviceSensorReadingErrorEventArgs(error.Description)); } }
/// <summary> /// Raises the magnetometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnMagnetoMeterChanged(CMMagnetometerData data, NSError error) { if (error == null) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.MagneticField.X, data.MagneticField.Y, data.MagneticField.Z))); } else { OnReadingError?.Invoke(this, new DeviceSensorReadingErrorEventArgs(error.Description)); } }
/// <summary> /// Raises the gyroscope changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnGyroscopeChanged(CMGyroData data, NSError error) { if (error == null) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.RotationRate.x, data.RotationRate.y, data.RotationRate.z))); } else { OnReadingError?.Invoke(this, new DeviceSensorReadingErrorEventArgs(error.Description)); } }
public void OnSensorChanged(SensorEvent e) { var currentReadingTime = DateTime.Now; if (firstRead || (currentReadingTime - _lastReadingTime).TotalMilliseconds >= _readingInterval) { _lastReading = GetReading(e); OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <T>(_lastReading)); _lastReadingTime = DateTime.Now; firstRead = false; } }
private void OnPedometerChanged(CMPedometerData pedometerData, NSError error) { if (error == null) { var currentReadingTime = DateTime.Now; if (firstRead || (currentReadingTime - _lastReadingTime).TotalMilliseconds >= ReadingInterval) { lastReading = (int)pedometerData.NumberOfSteps; OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <int>(lastReading)); firstRead = false; } } else { OnReadingError?.Invoke(this, new DeviceSensorReadingErrorEventArgs(error.Description)); } }
private void MagnetometerReadingChanged(Magnetometer sender, MagnetometerReadingChangedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(args.Reading.MagneticFieldX, args.Reading.MagneticFieldY, args.Reading.MagneticFieldZ))); }
private void PressureSensorReadingChanged(object sender, PressureSensorDataUpdatedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <double>(args.Pressure)); }
private void GyrosocopeReadingChanged(object sender, GyroscopeDataUpdatedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(args.X, args.Y, args.Z))); }
private void BarometerReadingChanged(Barometer sender, BarometerReadingChangedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <double>(args.Reading.StationPressureInHectopascals)); }
private void AccelerometerReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(args.Reading.AccelerationX, args.Reading.AccelerationY, args.Reading.AccelerationZ))); }
private void PedometerReadingChanged(Pedometer sender, PedometerReadingChangedEventArgs args) { _lastReading = args.Reading.CumulativeSteps; OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <int>(_lastReading)); }
private void GyrometerReadingChanged(Gyrometer sender, GyrometerReadingChangedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(args.Reading.AngularVelocityX, args.Reading.AngularVelocityY, args.Reading.AngularVelocityZ))); }
void UpdatedHeading(object sender, CLHeadingUpdatedEventArgs e) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <CompassReading>(new CompassReading(e.NewHeading.HeadingAccuracy < 0 ? CompassAccuracy.Unreliable : CompassAccuracy.High, e.NewHeading.MagneticHeading, e.NewHeading.TrueHeading))); }
private void CompassReadingChanged(Compass sender, CompassReadingChangedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <CReading>(new CReading(TranslateAccuracy(args.Reading.HeadingAccuracy), args.Reading.HeadingMagneticNorth, args.Reading.HeadingTrueNorth))); }
/// <summary> /// Raises the gyroscope changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnGyroscopeChanged(CMGyroData data, NSError error) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.RotationRate.x, data.RotationRate.y, data.RotationRate.z))); }
private void MagnetometerReadingChanged(object sender, MagnetometerDataUpdatedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(args.X, args.Y, args.Z))); }
private void PedometerReadingChanged(object sender, PedometerDataUpdatedEventArgs args) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <int>((int)args.StepCount)); }
/// <summary> /// Raises the accelerometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnAccelerometerChanged(CMAccelerometerData data, NSError error) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.Acceleration.X, data.Acceleration.Y, data.Acceleration.Z))); }
/// <summary> /// Raises the magnetometer changed event. /// </summary> /// <param name="data">Data.</param> /// <param name="error">Error.</param> void OnMagnetoMeterChanged(CMMagnetometerData data, NSError error) { OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <VectorReading>(new VectorReading(data.MagneticField.X, data.MagneticField.Y, data.MagneticField.Z))); }