//FIXME: Event time - private void ExtractHeartRateInfo(byte[] dataPayload) { double currBeatCount = RolloverHandler.HandleRollover(dataPayload[6], m_CurrentHeartBeatCountHandler); var currBeatTime = GetBeatTime(dataPayload); if (m_InitBeatCount < 0) { m_InitBeatCount = currBeatCount; } currBeatCount = currBeatCount - m_InitBeatCount + 1; int hr = dataPayload[7]; var response = HeartRateResponse.builder(hr, currBeatCount, currBeatTime); AddRrParameters(response); var heartRateResponse = response.Build(); if (m_HeartBeatCount < heartRateResponse.HeartRateBeatCount) { // Debug.Log(heartRateResponse); onNewHeartBeat?.Invoke(heartRateResponse); } m_LastHeartBeatEventTime = response.lastHeartRateBeatTime; m_HeartBeatCount = response.heartRateBeatCount; }
/// <summary> /// Sends a <see cref="HeartRateResponse"/> to the client. /// </summary> /// <param name="heartRateResponse">The HeartRateResponse holding the measurement data.</param> private static void OnHeartRateChange(HeartRateResponse heartRateResponse) { Console.WriteLine("Sending heart rate to client: {0}", heartRateResponse.HeartRate); ServerResponse response = new ServerResponse(heartRateResponse); SendData(heartRateResponse.DeviceIndex, response.ToJson()); }
private void SaveHeartBeat(HeartRateResponse heartRateResponse) { if (heartRateResponse.IsFirstHeartBeat) { return; } m_HeartRateResponses.Add(heartRateResponse); }