public IObservable <double> WhenReadingTaken() { this.observable = this.observable ?? Observable.Create <double>(ob => { var handler = new EventHandler <HumiditySensorDataUpdatedEventArgs>((sender, args) => ob.OnNext(args.Humidity) ); var sensor = new HumiditySensor { 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(); } }
void IDisposable.Dispose() { ImuSensor.Dispose(); PressureSensor.Dispose(); HumiditySensor.Dispose(); }