private void Calibrate()
        {
            //Initialize the accelerometer
            accelerometer = new Microsoft.Devices.Sensors.Accelerometer();

            if (accelerometer.State == SensorState.Initializing ||
                accelerometer.State == SensorState.Ready)
            {
                accelerometer.ReadingChanged += (s, e) =>
                {
                    accelerometerState =
                        new Vector3((float)e.X, (float)e.Y, (float)e.Z);

                    samplesCount++;
                    accelerometerCalibrationData += accelerometerState;

                    if (DateTime.Now >= startTime.AddSeconds(5))
                    {
                        accelerometer.Stop();

                        accelerometerCalibrationData.X /= samplesCount;
                        accelerometerCalibrationData.Y /= samplesCount;
                        accelerometerCalibrationData.Z /= samplesCount;

                        isCalibrating = false;
                    }
                };
            }
            accelerometer.Start();
        }
Esempio n. 2
0
 public void Stop()
 {
     if (_accelerometer == null)
     {
         throw new MvxException("Accelerometer not started");
     }
     _accelerometer.Stop();
     _accelerometer = null;
 }
 /// <summary>
 /// Stops this instance.
 /// </summary>
 partial void Stop()
 {
     if (_accelerometer != null)
     {
         _accelerometer.CurrentValueChanged -= AccelerometerOnCurrentValueChanged;
         _accelerometer.Stop();
         _accelerometer = null;
     }
 }
Esempio n. 4
0
 public void stop(string options)
 {
     if (currentStatus == Running)
     {
         lock (accelerometer)
         {
             accelerometer.CurrentValueChanged -= accelerometer_CurrentValueChanged;
             accelerometer.Stop();
             this.SetStatus(Stopped);
         }
     }
     DispatchCommandResult(new PluginResult(PluginResult.Status.OK));
 }
Esempio n. 5
0
        /// <summary>
        /// Stops listening for acceleration sensor
        /// </summary>
        /// <param name="parameters"></param>
        public void stop(string parameters)
        {
            string[] args = WPCordovaClassLib.Cordova.JSON.JsonHelper.Deserialize <string[]>(parameters);

            if (this.isRunning && _accelerometer != null)
            {
                lock (_accelerometer)
                {
                    _accelerometer.CurrentValueChanged -= accelerometer_CurrentValueChanged;
                    _accelerometer.Stop();
                    this.isRunning = false;
                }
            }
        }
Esempio n. 6
0
        public void stop(string options)
        {
            string[] args       = JSON.JsonHelper.Deserialize <string[]>(options);
            string   callbackId = args[0];

            //Debug.WriteLine("stop called with callbackId : " + callbackId);

            if (currentStatus == Running)
            {
                lock (accelerometer)
                {
                    accelerometer.CurrentValueChanged -= accelerometer_CurrentValueChanged;
                    accelerometer.Stop();
                    this.SetStatus(Stopped);
                }
            }
            DispatchCommandResult(new PluginResult(PluginResult.Status.OK), callbackId);
        }
Esempio n. 7
0
        /// <summary>
        /// Sensor listener event
        /// </summary>
        private void accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs <AccelerometerReading> e)
        {
            this.SetStatus(Running);

            if (accelOptions != null)
            {
                if (((DateTime.Now - lastValueChangedTime).TotalMilliseconds) > accelOptions.Frequency)
                {
                    lastValueChangedTime = DateTime.Now;
                    PluginResult result = new PluginResult(PluginResult.Status.OK, GetCurrentAccelerationFormatted());
                    result.KeepCallback = true;
                    DispatchCommandResult(result);
                }
            }

            if (listeners.Count == 0)
            {
                accelerometer.Stop();
                this.SetStatus(Stopped);
            }
        }
Esempio n. 8
0
 public void Stop()
 {
     accelerometer.Stop();
     motion.Stop();
 }