Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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();
 }