Ejemplo n.º 1
0
        public static void OnEventMesg(object sender, MesgEventArgs e)
        {
            EventValues values = new EventValues();
            EventMesg   mesg   = (EventMesg)e.mesg;

            try
            {
                values._event0    = mesg.GetEvent();
                values._eventType = mesg.GetEventType();
                values._data      = mesg.GetData();

                ////Make sure properties with sub properties arent null before trying to create objects based on them
                if (mesg.GetTimestamp() != null)
                {
                    uint tc = (uint)mesg.GetTimestamp().GetTimeStamp();
                    values._timestamp = FitConvert.ToLocalDateTime(tc);
                }
            }
            catch (FitException exception)
            {
                Console.WriteLine("\tOnFileIDMesg Error {0}", exception.Message);
                Console.WriteLine("\t{0}", exception.InnerException);
            }
            DataManager.Instance.EventValues.Add(values);
        }
Ejemplo n.º 2
0
        public static void OnFileIDMesg(object sender, MesgEventArgs e)
        {
            FileIdValues values = new FileIdValues();
            FileIdMesg   mesg   = (FileIdMesg)e.mesg;

            try
            {
                values._fileType     = mesg.GetType();
                values._manufacturer = mesg.GetManufacturer();
                values._product      = mesg.GetProduct();
                values._serialNumber = mesg.GetSerialNumber();

                //Make sure properties with sub properties arent null before trying to create objects based on them
                if (mesg.GetTimeCreated() != null)
                {
                    uint tc = (uint)mesg.GetFieldValue("TimeCreated");
                    values._timeCreated = FitConvert.ToLocalDateTime(tc);
                }
            }
            catch (FitException exception)
            {
                Console.WriteLine("\tOnFileIDMesg Error {0}", exception.Message);
                Console.WriteLine("\t{0}", exception.InnerException);
            }
            DataManager.Instance.FileIdValues.Add(values);
        }
Ejemplo n.º 3
0
        public static void OnDeviceInfoMesg(object sender, MesgEventArgs e)
        {
            DeviceInfoValues values = new DeviceInfoValues();
            DeviceInfoMesg   mesg   = (DeviceInfoMesg)e.mesg;

            try
            {
                values._deviceIndex     = mesg.GetDeviceIndex();
                values._deviceType      = mesg.GetDeviceType();
                values._manufacturer    = mesg.GetManufacturer();
                values._serialNumber    = mesg.GetSerialNumber();
                values._product         = mesg.GetProduct();
                values._softwareVersion = mesg.GetSoftwareVersion();
                values._batteryVoltage  = mesg.GetBatteryVoltage();
                values._batteryStatus   = mesg.GetBatteryStatus();
                values._descriptor      = mesg.GetDescriptorAsString();
                values._antDeviceNumber = mesg.GetAntDeviceNumber();
                values._sourceType      = mesg.GetSourceType();
                values._productName     = mesg.GetProductNameAsString();

                //Make sure properties with sub properties arent null before trying to create objects based on them
                if (mesg.GetTimestamp() != null)
                {
                    //values.timestamp = new Dynastream.Fit.DateTime(mesg.GetTimestamp().GetTimeStamp());
                    uint tc = (uint)mesg.GetTimestamp().GetTimeStamp();
                    values._timestamp = FitConvert.ToLocalDateTime(tc);
                }
            }
            catch (FitException exception)
            {
                Console.WriteLine("\tOnFileIDMesg Error {0}", exception.Message);
                Console.WriteLine("\t{0}", exception.InnerException);
            }
            DataManager.Instance.DeviceInfoValues.Add(values);
        }
Ejemplo n.º 4
0
        public static void OnActivityMesg(object sender, MesgEventArgs e)
        {
            ActivityValues values = new ActivityValues();
            ActivityMesg   mesg   = (ActivityMesg)e.mesg;

            try
            {
                values._totalTimerTime = mesg.GetTotalTimerTime();
                values._numSessions    = mesg.GetNumSessions();
                values._type           = mesg.GetType();
                values._actiEvent      = mesg.GetEvent();
                values._eventType      = mesg.GetEventType();
                uint?localTimeStamp = mesg.GetLocalTimestamp();
                if (localTimeStamp != null)
                {
                    values._localTimestamp = FitConvert.ToDateTime(((uint)localTimeStamp));
                }

                //Make sure properties with sub properties arent null before trying to create objects based on them
                if (mesg.GetTimestamp() != null)
                {
                    //values.timestamp = new Dynastream.Fit.DateTime(mesg.GetTimestamp().GetTimeStamp());
                    uint tc = (uint)mesg.GetTimestamp().GetTimeStamp();
                    values._timestamp = FitConvert.ToLocalDateTime(mesg.GetTimestamp().GetTimeStamp());
                }
            }
            catch (FitException exception)
            {
                Console.WriteLine("\tOnFileIDMesg Error {0}", exception.Message);
                Console.WriteLine("\t{0}", exception.InnerException);
            }
            DataManager.Instance.ActivityValues.Add(values);
        }
Ejemplo n.º 5
0
        public void SetValue(byte fieldNum, int index, object value)
        {
            Type objType = value.GetType();

            switch (fieldNum)
            {
            case 0:
                _positionLat = FitConvert.ToDegrees(Convert.ToInt32(value));
                break;    //Int32 positionLat

            case 1:
                _positionLong = FitConvert.ToDegrees(Convert.ToInt32(value));
                break;    //Int32 positionLong

            case 2:
                _value2 = Convert.ToUInt16(value);
                break;    //UInt16, Altitude

            case 3:
                _value3 = Convert.ToByte(value);
                break;    //Byte, Heartrate?

            case 5:
                _value5 = Convert.ToUInt32(value);
                break;    //UInt32, Distance?

            case 6:
                _value6 = Convert.ToUInt16(value);
                break;    //UInt16, Speed?

            case 9:
                _value9 = Convert.ToInt16(value);
                break;    //Int16, Grade?

            case 13:
                _value13 = Convert.ToSByte(value);
                break;    //SByte, Temperature?

            case 31:
                _value31 = Convert.ToByte(value);
                break;    //Byte, GpsAccuracy?

            case 253:
                _timestamp = FitConvert.ToLocalDateTime((uint)value); //UInt32
                break;                                                //UInt32

            default:
                break;
            }
        }
Ejemplo n.º 6
0
        public void SetValue(byte fieldNum, object value)
        {
            //Type objType = value.GetType();
            switch (fieldNum)
            {
            case RecordMesg.FieldDefNum.PositionLat:
                positionLat = FitConvert.ToDegrees((int)value);     //Int32
                break;

            case RecordMesg.FieldDefNum.PositionLong:
                positionLong = FitConvert.ToDegrees((int)value);     //Int32
                break;

            case RecordMesg.FieldDefNum.Altitude:
                altitude = Convert.ToSingle(value);     //Single
                break;

            case RecordMesg.FieldDefNum.HeartRate:
                heartRate = Convert.ToByte(value);     //Byte
                break;

            case RecordMesg.FieldDefNum.Cadence:
                cadence = Convert.ToByte(value);     //Byte
                break;

            case RecordMesg.FieldDefNum.Distance:
                distance = FitConvert.ToKm((float)value);     //Single
                break;

            case RecordMesg.FieldDefNum.Speed:
                speed = FitConvert.ToKmPerHour((float)value);     //Single
                break;

            case RecordMesg.FieldDefNum.Power:
                power = Convert.ToUInt16(value);     //UInt16
                break;

            case RecordMesg.FieldDefNum.Grade:
                grade = Convert.ToSingle(value);     //Single
                break;

            case RecordMesg.FieldDefNum.Temperature:
                temperature = Convert.ToSByte(value);
                break;

            case RecordMesg.FieldDefNum.LeftRightBalance:
                leftRightBalance = Convert.ToByte(value);     //Byte
                break;

            case RecordMesg.FieldDefNum.LeftTorqueEffectiveness:
                leftTorqueEffectiveness = Convert.ToSingle(value);     //Single
                break;

            case RecordMesg.FieldDefNum.RightTorqueEffectiveness:
                rightTorqueEffectiveness = Convert.ToSingle(value);     //Single
                break;

            case RecordMesg.FieldDefNum.LeftPedalSmoothness:
                leftPedalSmoothness = Convert.ToSingle(value);     //Single
                break;

            case RecordMesg.FieldDefNum.RightPedalSmoothness:
                rightPedalSmoothness = Convert.ToSingle(value);     //Single
                break;

            case RecordMesg.FieldDefNum.Timestamp:
                timestamp = FitConvert.ToLocalDateTime((uint)value);     //UInt32
                break;

            case RecordMesg.FieldDefNum.GpsAccuracy:
            case RecordMesg.FieldDefNum.EnhancedSpeed:
            case RecordMesg.FieldDefNum.EnhancedAltitude:
            case RecordMesg.FieldDefNum.BatterySoc:
                break;

            default:
                break;
            }
        }
Ejemplo n.º 7
0
        public void SetValue(byte fieldNum, int index, object value)
        {
            Type objType = value.GetType();

            switch (fieldNum)
            {
            case SessionMesg.FieldDefNum.Event:
                break;

            case SessionMesg.FieldDefNum.EventType:
                break;

            case SessionMesg.FieldDefNum.StartTime:
                startTime = FitConvert.ToLocalDateTime((uint)value);     //UInt32
                break;

            case SessionMesg.FieldDefNum.StartPositionLat:
                break;

            case SessionMesg.FieldDefNum.StartPositionLong:
                break;

            case SessionMesg.FieldDefNum.Sport:
                sport = (Sport)value;
                break;

            case SessionMesg.FieldDefNum.SubSport:
                break;

            case SessionMesg.FieldDefNum.TotalElapsedTime:
                totalElapsedTime = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.TotalTimerTime:
                totalTimerTime = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.TotalDistance:
                totalDistance = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.TotalCalories:
                totalCalories = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.AvgSpeed:
                avgSpeed = FitConvert.ToKmPerHour(Convert.ToSingle(value));     //Single
                break;

            case SessionMesg.FieldDefNum.MaxSpeed:
                maxSpeed = FitConvert.ToKmPerHour(Convert.ToSingle(value));     //Single
                break;

            case SessionMesg.FieldDefNum.AvgHeartRate:
                avgHeartRate = Convert.ToByte(value);     //Byte
                break;

            case SessionMesg.FieldDefNum.MaxHeartRate:
                maxHeartRate = Convert.ToByte(value);     //Byte
                break;

            case SessionMesg.FieldDefNum.AvgCadence:
                avgCadence = Convert.ToByte(value);     //Byte
                break;

            case SessionMesg.FieldDefNum.MaxCadence:
                maxCadence = Convert.ToByte(value);     //Byte
                break;

            case SessionMesg.FieldDefNum.AvgPower:
                avgPower = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.MaxPower:
                maxPower = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.TotalAscent:
                totalAscent = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.TotalDescent:
                totalDescent = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.NumLaps:
                numLaps = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.NormalizedPower:
                normalizedPower = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.TrainingStressScore:
                trainingStressScore = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.IntensityFactor:
                intensityFactor = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.LeftRightBalance:
                break;

            case SessionMesg.FieldDefNum.ThresholdPower:
                thresholdPower = Convert.ToUInt16(value);     //UInt16
                break;

            case SessionMesg.FieldDefNum.TotalWork:
                totalWork = Convert.ToUInt32(value);     //UInt32
                break;

            case SessionMesg.FieldDefNum.AvgAltitude:
                avgAltitude = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.MaxAltitude:
                maxAltitude = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.AvgGrade:
                avgGrade = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.MaxPosGrade:
                maxPosGrade = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.MaxNegGrade:
                maxNegGrade = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.AvgTemperature:
                avgTemperature = Convert.ToSByte(value);     //SByte
                break;

            case SessionMesg.FieldDefNum.MaxTemperature:
                maxTemperature = Convert.ToSByte(value);     //SByte
                break;

            case SessionMesg.FieldDefNum.MinHeartRate:
                minHeartRate = Convert.ToByte(value);     //Byte
                break;

            case SessionMesg.FieldDefNum.TimeInHrZone:
                float val = Convert.ToSingle(value);     //Single
                switch (index)
                {
                case 0:
                    timeInHrZone0 = val;
                    break;

                case 1:
                    timeInHrZone1 = val;
                    break;

                case 2:
                    timeInHrZone2 = val;
                    break;

                case 3:
                    timeInHrZone3 = val;
                    break;

                case 4:
                    timeInHrZone4 = val;
                    break;

                default:
                    break;
                }
                break;

            case SessionMesg.FieldDefNum.TimeInPowerZone:
                val = Convert.ToSingle(value);     //Single
                switch (index)
                {
                case 0:
                    timeInPowerZone0 = val;
                    break;

                case 1:
                    timeInPowerZone1 = val;
                    break;

                case 2:
                    timeInPowerZone2 = val;
                    break;

                case 3:
                    timeInPowerZone3 = val;
                    break;

                case 4:
                    timeInPowerZone4 = val;
                    break;

                case 5:
                    timeInPowerZone5 = val;
                    break;

                default:
                    break;
                }
                break;

            case SessionMesg.FieldDefNum.MinAltitude:
                minAltitude = Convert.ToSingle(value);     //Single
                break;

            case SessionMesg.FieldDefNum.Timestamp:
                timestamp = FitConvert.ToLocalDateTime((uint)value);     //UInt32
                break;

            case SessionMesg.FieldDefNum.EnhancedAvgSpeed:
            case SessionMesg.FieldDefNum.EnhancedMaxSpeed:
            case SessionMesg.FieldDefNum.EnhancedAvgAltitude:
            case SessionMesg.FieldDefNum.EnhancedMinAltitude:
            case SessionMesg.FieldDefNum.EnhancedMaxAltitude:
                break;

            default:
                break;
            }
        }