internal BandHeartRateReading(HeartRateQuality quality, int rate)
 {
     Quality = quality;
     HeartRate = rate;
 }
예제 #2
0
 internal BandHeartRateReading(HeartRateQuality quality, int rate)
 {
     Quality   = quality;
     HeartRate = rate;
 }
예제 #3
0
        async public Task<bool> ConnectHr()
        {
            if (!IsConnected)
            {
                LastMessage = "Can't connect to HR, band not connected";
                return false;
            }

            var sensorManager = Client.SensorManager;
            // get the heart rate sensor
            var heartRate = sensorManager.HeartRate;
            // add a handler
            heartRate.ReadingChanged += (o, args) =>
            {
                    BeatQuality = args.SensorReading.Quality;

                    BeatsPerMinute = args.SensorReading.HeartRate;
//                if (args.SensorReading.Quality == HeartRateQuality.Locked)
//                {
//                    Pulse = (int)args.SensorReading.HeartRate;
//                    int calculated = 1000 * 60 / (int)args.SensorReading.HeartRate;
//                    UpdateBeats(calculated);
//                }
//                else
//                {
//                    UpdateBeats(0);
//                }
//                HrConnectionDisplay = args.SensorReading.Quality.ToString();
//                HrValue =  args.SensorReading.HeartRate.ToString();
            };
            if (heartRate.UserConsented == UserConsent.Unspecified)
            {
                bool granted = await heartRate.RequestUserConsent();
            }
            if (heartRate.UserConsented == UserConsent.Granted)
            {
                // start reading, with the interval
                await heartRate.StartReadingsAsync(BandSensorSampleRate.Ms16);
            }
            else
            {
                // user declined
            }
            // stop reading
            //await heartRate.StopReadingsAsync();
            return true;
        }