Ejemplo n.º 1
0
        private void HandleTestData(string username, List <byte> bytes)
        {
            if (this.testDataWindow != null)
            {
                //for (int i = 0; i < bytes.Count(); i += 21)
                //{
                //    int value = bytes[i + 1];
                //    DateTime time = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray()));

                //    switch ((Message.ValueId)bytes[i])
                //    {
                //        case Message.ValueId.HEARTRATE:
                //            {
                //                this.testDataWindow.AddHeartRate((value, time));
                //                break;
                //            }
                //        case Message.ValueId.DISTANCE:
                //            {
                //                this.testDataWindow.AddDistance((value, time));
                //                break;
                //            }
                //        case Message.ValueId.SPEED:
                //            {
                //                this.testDataWindow.AddSpeed((value, time));
                //                break;
                //            }
                //        case Message.ValueId.CYCLE_RHYTHM:
                //            {
                //                this.testDataWindow.AddCycleRyhthm((value, time));
                //                break;
                //            }
                //    }
                //}

                int skip = 21;
                for (int i = 0; i < bytes.Count; i += skip)
                {
                    Message.ValueId valueType = (Message.ValueId)bytes[i];

                    switch (valueType)
                    {
                    case Message.ValueId.HEARTRATE:
                    {
                        skip = 21;
                        int      value = bytes[i + 1];
                        DateTime time  = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray()));
                        this.testDataWindow.AddHeartRate((heartRate: value, time: time));
                        break;
                    }

                    case Message.ValueId.DISTANCE:
                    {
                        skip = bytes[i + 1] + 21;
                        int      value = int.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, bytes[i + 1]).ToArray()));
                        DateTime time  = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + bytes[i + 1] + 2, 19).ToArray()));
                        this.testDataWindow.AddDistance((distance: value, time: time));
                        break;
                    }

                    case Message.ValueId.SPEED:
                    {
                        skip = 21;
                        int      value = bytes[i + 1];
                        DateTime time  = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray()));
                        this.testDataWindow.AddSpeed((speed: value, time: time));
                        break;
                    }

                    case Message.ValueId.CYCLE_RHYTHM:
                    {
                        skip = 21;
                        int      value = bytes[i + 1];
                        DateTime time  = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray()));
                        this.testDataWindow.AddCycleRyhthm((cycleRhythm: value, time: time));
                        break;
                    }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void HandleBikeData(byte[] bikeData, UserAccount user)
        {
            List <byte> bikeDataBytes = new List <byte>();

            bikeDataBytes.Add((byte)user.Username.Length);
            bikeDataBytes.AddRange(Encoding.UTF8.GetBytes(user.Username));
            bikeDataBytes.AddRange(bikeData);
            BroadcastToSpecialists(new Message(Message.ID.BIKEDATA, Message.State.OK, bikeDataBytes.ToArray()));

            ÄstrandTest astrandTest = this.currentTests[user];

            List <byte> bytes = new List <byte>(bikeData);

            //for (int i = 0; i < bytes.Count; i += 2)
            //{
            //    Message.ValueId valueType = (Message.ValueId)bytes[i];
            //    int value = bytes[i + 1];
            //    DateTime dateTime = DateTime.Now;

            //    switch (valueType)
            //    {
            //        case Message.ValueId.HEARTRATE:
            //            {
            //                astrandTest.HeartrateValues.Add((heartRate: value, time: dateTime));
            //                break;
            //            }
            //        case Message.ValueId.DISTANCE:
            //            {
            //                astrandTest.DistanceValues.Add((distance: value, time: dateTime));
            //                break;
            //            }
            //        case Message.ValueId.SPEED:
            //            {
            //                astrandTest.SpeedValues.Add((speed: value, time: dateTime));
            //                break;
            //            }
            //        case Message.ValueId.CYCLE_RHYTHM:
            //            {
            //                astrandTest.CycleRhythmValues.Add((cycleRhythm: value, time: dateTime));
            //                break;
            //            }
            //    }
            //}
            int skip = 2;

            for (int i = 0; i < bytes.Count; i += skip)
            {
                Message.ValueId valueType = (Message.ValueId)bytes[i];
                DateTime        dateTime  = DateTime.Now;

                switch (valueType)
                {
                case Message.ValueId.HEARTRATE:
                {
                    skip = 2;
                    int value = bytes[i + 1];
                    astrandTest.HeartrateValues.Add((heartRate: value, time: dateTime));
                    break;
                }

                case Message.ValueId.DISTANCE:
                {
                    skip = 2 + bytes[i + 1];
                    int value = int.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, bytes[i + 1]).ToArray()));
                    astrandTest.DistanceValues.Add((distance: value, time: dateTime));
                    break;
                }

                case Message.ValueId.SPEED:
                {
                    skip = 2;
                    int value = bytes[i + 1];
                    astrandTest.SpeedValues.Add((speed: value, time: dateTime));
                    break;
                }

                case Message.ValueId.CYCLE_RHYTHM:
                {
                    skip = 2;
                    int value = bytes[i + 1];
                    astrandTest.CycleRhythmValues.Add((cycleRhythm: value, time: dateTime));
                    break;
                }
                }
            }
        }
Ejemplo n.º 3
0
        public void HandleBikeData(List <byte> bytes)
        {
            //for (int i = 0; i < bytes.Count; i += 2)
            //{
            //    int value = bytes[i + 1];

            //    switch ((Message.ValueId)bytes[i])
            //    {
            //        case Message.ValueId.HEARTRATE:
            //            {
            //                this.TestDataControl.Heartrate = value;
            //                this.TestDataControl.UpdateChart(value);
            //                break;
            //            }
            //        case Message.ValueId.DISTANCE:
            //            {
            //                this.TestDataControl.Distance = value;
            //                break;
            //            }
            //        case Message.ValueId.SPEED:
            //            {
            //                this.TestDataControl.Speed = value;
            //                break;
            //            }
            //        case Message.ValueId.CYCLE_RHYTHM:
            //            {
            //                this.TestDataControl.CycleRhythm = value;
            //                break;
            //            }
            //    }
            //}

            int skip = 2;

            for (int i = 0; i < bytes.Count; i += skip)
            {
                Message.ValueId valueType = (Message.ValueId)bytes[i];

                switch (valueType)
                {
                case Message.ValueId.HEARTRATE:
                {
                    skip = 2;
                    int value = bytes[i + 1];
                    this.TestDataControl.Heartrate = value;
                    this.TestDataControl.UpdateChart(value);
                    break;
                }

                case Message.ValueId.DISTANCE:
                {
                    skip = 2 + bytes[i + 1];
                    int value = int.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, bytes[i + 1]).ToArray()));
                    this.TestDataControl.Distance = value;
                    break;
                }

                case Message.ValueId.SPEED:
                {
                    skip = 2;
                    int value = bytes[i + 1];
                    this.TestDataControl.Speed = value;
                    break;
                }

                case Message.ValueId.CYCLE_RHYTHM:
                {
                    skip = 2;
                    int value = bytes[i + 1];
                    this.TestDataControl.CycleRhythm = value;
                    break;
                }
                }
            }
        }