internal BandHeartRateReading(HeartRateQuality quality, int rate) { Quality = quality; HeartRate = rate; }
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; }