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; } }
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; } }