private void EnsureSensorsCreated() { IBandSensorManager sensorMgr = Model.Instance.Client.SensorManager; if (accelerometerSensor == null) { accelerometerSensor = sensorMgr.CreateAccelerometerSensor(); accelerometerSensor.ReadingChanged += async(sender, e) => { var accelerometerEvent = e.SensorReading; //if(Math.Abs(accelerometerEvent.AccelerationX) > 3) xCount++; if (Math.Abs(accelerometerEvent.AccelerationY) > 3) { yCount++; } if (Math.Abs(accelerometerEvent.AccelerationZ) > 3) { zCount++; } // rudimentary shake detection //if (xCount > 2 if (yCount > 2 && zCount > 2) { // wait 20 seconds below allowing a new answer if (DateTime.Now.Subtract(lastAnswered).TotalSeconds > 20) { xCount = yCount = zCount = 0; lastAnswered = DateTime.Now; lastAnswer = Get8BallPrediction(); await Model.Instance.Client.NotificationManager.SendMessageTaskAsync( uuid, "8Ball says...", lastAnswer, DateTime.Now, MessageFlags.ShowDialog); } } this.RunOnUiThread(() => { // accelX.Text = string.Format("{0:F3}", accelerometerEvent.AccelerationX); // accelY.Text = string.Format("{0:F3}", accelerometerEvent.AccelerationY); // accelZ.Text = string.Format("{0:F3}", accelerometerEvent.AccelerationZ); accelZ.Text = xCount + " " + yCount + " " + zCount + " (x,y,x) only (y,z) count"; resultText.Text = lastAnswer; }); }; } }
public static Task <bool> RequestHeartRateConsentTaskAsync(this IBandSensorManager sensorManager, Activity activity) { var t = new TaskCompletionSource <bool>(); if (sensorManager.CurrentHeartRateConsent == UserConsent.Granted) { t.SetResult(true); } else { sensorManager.RequestHeartRateConsentAsync(activity, result => { t.SetResult(result); }); } return(t.Task); }
public static AmbientLightSensor CreateAmbientLightSensor(this IBandSensorManager sensorManager) { return(new AmbientLightSensor(sensorManager)); }
public static AltimeterSensor CreateAltimeterSensor(this IBandSensorManager sensorManager) { return(new AltimeterSensor(sensorManager)); }
public static CaloriesSensor CreateCaloriesSensor(this IBandSensorManager sensorManager) { return(new CaloriesSensor(sensorManager)); }
public GyroscopeSensor(IBandSensorManager sensorManager) : base(sensorManager) { }
public CaloriesSensor(IBandSensorManager sensorManager) : base(sensorManager) { }
public UVSensor(IBandSensorManager sensorManager) : base(sensorManager) { }
public ContactSensor(IBandSensorManager sensorManager) : base(sensorManager) { }
public BarometerSensor(IBandSensorManager sensorManager) : base(sensorManager) { }
public AccelerometerSensor(IBandSensorManager sensorManager) : base(sensorManager) { listener = new IBandAccelerometerEventListenerImplementor(this); listener.Handler += (sender, e) => OnReadingChanged(e); }
public SkinTemperatureSensor(IBandSensorManager sensorManager) : base(sensorManager) { listener = new IBandSkinTemperatureEventListenerImplementor(this); listener.Handler += (sender, e) => OnReadingChanged(e); }
public SkinTemperatureSensor(IBandSensorManager sensorManager) : base(sensorManager) { }
// // Sensor event handlers // private void EnsureSensorsCreated() { IBandSensorManager sensorMgr = Model.Instance.Client.SensorManager; if (accelerometerSensor == null) { accelerometerSensor = sensorMgr.CreateAccelerometerSensor(); accelerometerSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var accelerometerEvent = e.SensorReading; mTextAccX.Text = string.Format("{0:F3}", accelerometerEvent.AccelerationX); mTextAccY.Text = string.Format("{0:F3}", accelerometerEvent.AccelerationY); mTextAccZ.Text = string.Format("{0:F3}", accelerometerEvent.AccelerationZ); }); }; } if (contactSensor == null) { contactSensor = sensorMgr.CreateContactSensor(); contactSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var contactEvent = e.SensorReading; mTextContact.Text = contactEvent.ContactStatus.ToString(); }); }; } if (distanceSensor == null) { distanceSensor = sensorMgr.CreateDistanceSensor(); distanceSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var distanceEvent = e.SensorReading; mTextTotalDistance.Text = string.Format("{0:D} cm", distanceEvent.TotalDistance); mTextSpeed.Text = string.Format("{0:F2} cm/s", distanceEvent.Speed); mTextPace.Text = string.Format("{0:F2} ms/m", distanceEvent.Pace); mTextPedometerMode.Text = distanceEvent.PedometerMode.ToString(); }); }; } if (gyroscopeSensor == null) { gyroscopeSensor = sensorMgr.CreateGyroscopeSensor(); gyroscopeSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var gyroscopeEvent = e.SensorReading; mTextGyroAccX.Text = string.Format("{0:F3}", gyroscopeEvent.AccelerationX); mTextGyroAccY.Text = string.Format("{0:F3}", gyroscopeEvent.AccelerationY); mTextGyroAccZ.Text = string.Format("{0:F3}", gyroscopeEvent.AccelerationZ); mTextGyroAngX.Text = string.Format("{0:F2}", gyroscopeEvent.AngularVelocityX); mTextGyroAngY.Text = string.Format("{0:F2}", gyroscopeEvent.AngularVelocityY); mTextGyroAngZ.Text = string.Format("{0:F2}", gyroscopeEvent.AngularVelocityZ); }); }; } if (heartRateSensor == null) { heartRateSensor = sensorMgr.CreateHeartRateSensor(); heartRateSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var heartRateEvent = e.SensorReading; mTextHeartRate.Text = Convert.ToString(heartRateEvent.HeartRate); mTextHeartRateQuality.Text = heartRateEvent.Quality.ToString(); }); }; } if (pedometerSensor == null) { pedometerSensor = sensorMgr.CreatePedometerSensor(); pedometerSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var pedometerEvent = e.SensorReading; mTextTotalSteps.Text = string.Format("{0:D}", pedometerEvent.TotalSteps); }); }; } if (skinTemperatureSensor == null) { skinTemperatureSensor = sensorMgr.CreateSkinTemperatureSensor(); skinTemperatureSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var skinTemperatureEvent = e.SensorReading; mTextSkinTemperature.Text = string.Format("{0:F1}", skinTemperatureEvent.Temperature); }); }; } if (uvSensor == null) { uvSensor = sensorMgr.CreateUVSensor(); uvSensor.ReadingChanged += (sender, e) => { Activity.RunOnUiThread(() => { var uvEvent = e.SensorReading; mTextUltraviolet.Text = uvEvent.UVIndexLevel.ToString(); }); }; } }