Пример #1
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;
            }
        }
Пример #2
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;
            }
        }