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