/** * * обработчик события * событие происходит, когда отпускают экран(tap) * пока не закрыто диалоговое окно, событие не обрабатывается( * реализованно через логическую переменную stopper, возможно можно как то исправить через * try-catch) * останавливает работу акселерометра, закрывает файл * меняет переменную итерации StatOfIteration * Здесь следует запускать обработчик преобразования фурье(NO) * */ private void LayoutRoot_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e) { ++StatIteration; if ((myAcs != null) && this.sttoper) { meTBox.Text = " \n\n\nhgjh" + StatIteration.ToString(); myAcs.Stop(); myAcs.Dispose(); myAcs = null; messageDialog.IsOpen = true; endThread = true; // thread copleted this.creatOrOpenFile(StatIteration); seriXML.Serialize(sw, bufferList); bufferList.Clear(); this.closeFile(); if (StatIteration == namberOfIteration - 1) { this.sttoper = false; StatIteration = 0; ConverterDataAcs nn = new ConverterDataAcs(namberOfIteration); if (nn.state()) { messageDialog.IsOpen = true; Application.Current.Terminate(); } } } }
/// <summary> /// Release sensor resource if not already done /// </summary> public void Dispose() { if (_sensor != null) { _sensor.Dispose(); } }
public IObservable <MotionReading> WhenReadingTaken() { this.observable = this.observable ?? Observable.Create <MotionReading>(ob => { var handler = new EventHandler <AccelerometerDataUpdatedEventArgs>((sender, args) => ob.OnNext(new MotionReading(args.X, args.Y, args.Z)) ); var sensor = new Accelerometer { Interval = 250 }; sensor.DataUpdated += handler; sensor.Start(); return(() => { sensor.Stop(); sensor.DataUpdated -= handler; sensor.Dispose(); }); }) .Publish() .RefCount(); return(this.observable); }
private void ClearSensors() { if (acc != null) { acc.Dispose(); } if (gyro != null) { gyro.Dispose(); } if (hum != null) { hum.Dispose(); } if (ks != null) { ks.Dispose(); } if (mg != null) { mg.Dispose(); } if (ps != null) { ps.Dispose(); } if (tempSen != null) { tempSen.Dispose(); } }
public void Dispose() { if (AccP1 != null) { AccP1.Dispose(); AccP1 = null; } if (BarP1 != null) { BarP1.Dispose(); BarP1 = null; } if (AccP2 != null) { AccP2.Dispose(); AccP2 = null; } if (BarP2 != null) { BarP2.Dispose(); BarP2 = null; } if (SensePoll != null) { SensePoll.Cancel(); SensePoll = null; } }
void AccelerometerCancel() { if (_accelerometer != null) { _accelerometer.Stop(); _accelerometer.Dispose(); _accelerometer = null; } }
protected override void OnNavigatingFrom(System.Windows.Navigation.NavigatingCancelEventArgs e) { base.OnNavigatingFrom(e); // Ressourcen freigeben sensor.Stop(); sensor.CurrentValueChanged -= sensor_CurrentValueChanged; sensor.Dispose(); }
private void _ac_CurrentValueChanged(object sender, SensorReadingEventArgs <AccelerometerReading> e) { if (Math.Abs(e.SensorReading.Acceleration.Z) <= 0.3) { _ac.Stop(); _ac.Dispose(); Dispatcher.BeginInvoke(() => StatusController.SetStatus(StatusEnum.CountBackwards)); } }
/// <summary> /// Releases all resources used by the current instance. /// </summary> protected virtual void Dispose(bool disposing) { if (!_disposed) { if (disposing) { _sensor.DataUpdated -= OnSensorDataUpdated; _sensor.Dispose(); } _sensor = null; _disposed = true; } }
public void Stop() { if (accelerometer != null) { lock (accelerometerLock) { if (accelerometer != null) { accelerometer.CurrentValueChanged -= HandleSensorValueChanged; accelerometer.Stop(); accelerometer.Dispose(); accelerometer = null; } } } }