Пример #1
0
    //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;
    }
Пример #2
0
        /// <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());
        }
Пример #3
0
    private void SaveHeartBeat(HeartRateResponse heartRateResponse)
    {
        if (heartRateResponse.IsFirstHeartBeat)
        {
            return;
        }

        m_HeartRateResponses.Add(heartRateResponse);
    }