#region Copyright //////////////////////////////////////////////////////////////////////////////// // The following FIT Protocol software provided may be used with FIT protocol // devices only and remains the copyrighted property of Dynastream Innovations Inc. // The software is being provided on an "as-is" basis and as an accommodation, // and therefore all warranties, representations, or guarantees of any kind // (whether express, implied or statutory) including, without limitation, // warranties of merchantability, non-infringement, or fitness for a particular // purpose, are specifically disclaimed. // // Copyright 2016 Dynastream Innovations Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. // Profile Version = 16.60Release // Tag = production-akw-16.60.00-0-g5d3d436 //////////////////////////////////////////////////////////////////////////////// #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.IO; namespace Dynastream.Fit { /// <summary> /// Implements the WorkoutStep profile message. /// </summary> public class WorkoutStepMesg : Mesg { #region Fields static class DurationValueSubfield { public static ushort DurationTime = 0; public static ushort DurationDistance = 1; public static ushort DurationHr = 2; public static ushort DurationCalories = 3; public static ushort DurationStep = 4; public static ushort DurationPower = 5; public static ushort Subfields = 6; public static ushort Active = Fit.SubfieldIndexActiveSubfield; public static ushort MainField = Fit.SubfieldIndexMainField; } static class TargetValueSubfield { public static ushort TargetHrZone = 0; public static ushort TargetPowerZone = 1; public static ushort RepeatSteps = 2; public static ushort RepeatTime = 3; public static ushort RepeatDistance = 4; public static ushort RepeatCalories = 5; public static ushort RepeatHr = 6; public static ushort RepeatPower = 7; public static ushort Subfields = 8; public static ushort Active = Fit.SubfieldIndexActiveSubfield; public static ushort MainField = Fit.SubfieldIndexMainField; } static class CustomTargetValueLowSubfield { public static ushort CustomTargetSpeedLow = 0; public static ushort CustomTargetHeartRateLow = 1; public static ushort CustomTargetCadenceLow = 2; public static ushort CustomTargetPowerLow = 3; public static ushort Subfields = 4; public static ushort Active = Fit.SubfieldIndexActiveSubfield; public static ushort MainField = Fit.SubfieldIndexMainField; } static class CustomTargetValueHighSubfield { public static ushort CustomTargetSpeedHigh = 0; public static ushort CustomTargetHeartRateHigh = 1; public static ushort CustomTargetCadenceHigh = 2; public static ushort CustomTargetPowerHigh = 3; public static ushort Subfields = 4; public static ushort Active = Fit.SubfieldIndexActiveSubfield; public static ushort MainField = Fit.SubfieldIndexMainField; } #endregion #region Constructors public WorkoutStepMesg() : base(Profile.GetMesg(MesgNum.WorkoutStep)) { } public WorkoutStepMesg(Mesg mesg) : base(mesg) { } #endregion // Constructors #region Methods ///<summary> /// Retrieves the MessageIndex field</summary> /// <returns>Returns nullable ushort representing the MessageIndex field</returns> public ushort? GetMessageIndex() { return (ushort?)GetFieldValue(254, 0, Fit.SubfieldIndexMainField); } /// <summary> /// Set MessageIndex field</summary> /// <param name="messageIndex_">Nullable field value to be set</param> public void SetMessageIndex(ushort? messageIndex_) { SetFieldValue(254, 0, messageIndex_, Fit.SubfieldIndexMainField); } ///<summary> /// Retrieves the WktStepName field</summary> /// <returns>Returns byte[] representing the WktStepName field</returns> public byte[] GetWktStepName() { return (byte[])GetFieldValue(0, 0, Fit.SubfieldIndexMainField); } ///<summary> /// Retrieves the WktStepName field</summary> /// <returns>Returns String representing the WktStepName field</returns> public String GetWktStepNameAsString() { return Encoding.UTF8.GetString((byte[])GetFieldValue(0, 0, Fit.SubfieldIndexMainField)); } ///<summary> /// Set WktStepName field</summary> /// <param name="wktStepName_"> field value to be set</param> public void SetWktStepName(String wktStepName_) { SetFieldValue(0, 0, System.Text.Encoding.UTF8.GetBytes(wktStepName_), Fit.SubfieldIndexMainField); } /// <summary> /// Set WktStepName field</summary> /// <param name="wktStepName_">field value to be set</param> public void SetWktStepName(byte[] wktStepName_) { SetFieldValue(0, 0, wktStepName_, Fit.SubfieldIndexMainField); } ///<summary> /// Retrieves the DurationType field</summary> /// <returns>Returns nullable WktStepDuration enum representing the DurationType field</returns> public WktStepDuration? GetDurationType() { object obj = GetFieldValue(1, 0, Fit.SubfieldIndexMainField); WktStepDuration? value = obj == null ? (WktStepDuration?)null : (WktStepDuration)obj; return value; } /// <summary> /// Set DurationType field</summary> /// <param name="durationType_">Nullable field value to be set</param> public void SetDurationType(WktStepDuration? durationType_) { SetFieldValue(1, 0, durationType_, Fit.SubfieldIndexMainField); } ///<summary> /// Retrieves the DurationValue field</summary> /// <returns>Returns nullable uint representing the DurationValue field</returns> public uint? GetDurationValue() { return (uint?)GetFieldValue(2, 0, Fit.SubfieldIndexMainField); } /// <summary> /// Set DurationValue field</summary> /// <param name="durationValue_">Nullable field value to be set</param> public void SetDurationValue(uint? durationValue_) { SetFieldValue(2, 0, durationValue_, Fit.SubfieldIndexMainField); } /// <summary> /// Retrieves the DurationTime subfield /// Units: s</summary> /// <returns>Nullable float representing the DurationTime subfield</returns> public float? GetDurationTime() { return (float?)GetFieldValue(2, 0, DurationValueSubfield.DurationTime); } /// <summary> /// /// Set DurationTime subfield /// Units: s</summary> /// <param name="durationTime">Subfield value to be set</param> public void SetDurationTime(float? durationTime) { SetFieldValue(2, 0, durationTime, DurationValueSubfield.DurationTime); } /// <summary> /// Retrieves the DurationDistance subfield /// Units: m</summary> /// <returns>Nullable float representing the DurationDistance subfield</returns> public float? GetDurationDistance() { return (float?)GetFieldValue(2, 0, DurationValueSubfield.DurationDistance); } /// <summary> /// /// Set DurationDistance subfield /// Units: m</summary> /// <param name="durationDistance">Subfield value to be set</param> public void SetDurationDistance(float? durationDistance) { SetFieldValue(2, 0, durationDistance, DurationValueSubfield.DurationDistance); } /// <summary> /// Retrieves the DurationHr subfield /// Units: % or bpm</summary> /// <returns>Nullable uint representing the DurationHr subfield</returns> public uint? GetDurationHr() { return (uint?)GetFieldValue(2, 0, DurationValueSubfield.DurationHr); } /// <summary> /// /// Set DurationHr subfield /// Units: % or bpm</summary> /// <param name="durationHr">Subfield value to be set</param> public void SetDurationHr(uint? durationHr) { SetFieldValue(2, 0, durationHr, DurationValueSubfield.DurationHr); } /// <summary> /// Retrieves the DurationCalories subfield /// Units: calories</summary> /// <returns>Nullable uint representing the DurationCalories subfield</returns> public uint? GetDurationCalories() { return (uint?)GetFieldValue(2, 0, DurationValueSubfield.DurationCalories); } /// <summary> /// /// Set DurationCalories subfield /// Units: calories</summary> /// <param name="durationCalories">Subfield value to be set</param> public void SetDurationCalories(uint? durationCalories) { SetFieldValue(2, 0, durationCalories, DurationValueSubfield.DurationCalories); } /// <summary> /// Retrieves the DurationStep subfield /// Comment: message_index of step to loop back to. Steps are assumed to be in the order by message_index. custom_name and intensity members are undefined for this duration type.</summary> /// <returns>Nullable uint representing the DurationStep subfield</returns> public uint? GetDurationStep() { return (uint?)GetFieldValue(2, 0, DurationValueSubfield.DurationStep); } /// <summary> /// /// Set DurationStep subfield /// Comment: message_index of step to loop back to. Steps are assumed to be in the order by message_index. custom_name and intensity members are undefined for this duration type.</summary> /// <param name="durationStep">Subfield value to be set</param> public void SetDurationStep(uint? durationStep) { SetFieldValue(2, 0, durationStep, DurationValueSubfield.DurationStep); } /// <summary> /// Retrieves the DurationPower subfield /// Units: % or watts</summary> /// <returns>Nullable uint representing the DurationPower subfield</returns> public uint? GetDurationPower() { return (uint?)GetFieldValue(2, 0, DurationValueSubfield.DurationPower); } /// <summary> /// /// Set DurationPower subfield /// Units: % or watts</summary> /// <param name="durationPower">Subfield value to be set</param> public void SetDurationPower(uint? durationPower) { SetFieldValue(2, 0, durationPower, DurationValueSubfield.DurationPower); } ///<summary> /// Retrieves the TargetType field</summary> /// <returns>Returns nullable WktStepTarget enum representing the TargetType field</returns> public WktStepTarget? GetTargetType() { object obj = GetFieldValue(3, 0, Fit.SubfieldIndexMainField); WktStepTarget? value = obj == null ? (WktStepTarget?)null : (WktStepTarget)obj; return value; } /// <summary> /// Set TargetType field</summary> /// <param name="targetType_">Nullable field value to be set</param> public void SetTargetType(WktStepTarget? targetType_) { SetFieldValue(3, 0, targetType_, Fit.SubfieldIndexMainField); } ///<summary> /// Retrieves the TargetValue field</summary> /// <returns>Returns nullable uint representing the TargetValue field</returns> public uint? GetTargetValue() { return (uint?)GetFieldValue(4, 0, Fit.SubfieldIndexMainField); } /// <summary> /// Set TargetValue field</summary> /// <param name="targetValue_">Nullable field value to be set</param> public void SetTargetValue(uint? targetValue_) { SetFieldValue(4, 0, targetValue_, Fit.SubfieldIndexMainField); } /// <summary> /// Retrieves the TargetHrZone subfield /// Comment: hr zone (1-5);Custom =0;</summary> /// <returns>Nullable uint representing the TargetHrZone subfield</returns> public uint? GetTargetHrZone() { return (uint?)GetFieldValue(4, 0, TargetValueSubfield.TargetHrZone); } /// <summary> /// /// Set TargetHrZone subfield /// Comment: hr zone (1-5);Custom =0;</summary> /// <param name="targetHrZone">Subfield value to be set</param> public void SetTargetHrZone(uint? targetHrZone) { SetFieldValue(4, 0, targetHrZone, TargetValueSubfield.TargetHrZone); } /// <summary> /// Retrieves the TargetPowerZone subfield /// Comment: Power Zone ( 1-7); Custom = 0;</summary> /// <returns>Nullable uint representing the TargetPowerZone subfield</returns> public uint? GetTargetPowerZone() { return (uint?)GetFieldValue(4, 0, TargetValueSubfield.TargetPowerZone); } /// <summary> /// /// Set TargetPowerZone subfield /// Comment: Power Zone ( 1-7); Custom = 0;</summary> /// <param name="targetPowerZone">Subfield value to be set</param> public void SetTargetPowerZone(uint? targetPowerZone) { SetFieldValue(4, 0, targetPowerZone, TargetValueSubfield.TargetPowerZone); } /// <summary> /// Retrieves the RepeatSteps subfield /// Comment: # of repetitions</summary> /// <returns>Nullable uint representing the RepeatSteps subfield</returns> public uint? GetRepeatSteps() { return (uint?)GetFieldValue(4, 0, TargetValueSubfield.RepeatSteps); } /// <summary> /// /// Set RepeatSteps subfield /// Comment: # of repetitions</summary> /// <param name="repeatSteps">Subfield value to be set</param> public void SetRepeatSteps(uint? repeatSteps) { SetFieldValue(4, 0, repeatSteps, TargetValueSubfield.RepeatSteps); } /// <summary> /// Retrieves the RepeatTime subfield /// Units: s</summary> /// <returns>Nullable float representing the RepeatTime subfield</returns> public float? GetRepeatTime() { return (float?)GetFieldValue(4, 0, TargetValueSubfield.RepeatTime); } /// <summary> /// /// Set RepeatTime subfield /// Units: s</summary> /// <param name="repeatTime">Subfield value to be set</param> public void SetRepeatTime(float? repeatTime) { SetFieldValue(4, 0, repeatTime, TargetValueSubfield.RepeatTime); } /// <summary> /// Retrieves the RepeatDistance subfield /// Units: m</summary> /// <returns>Nullable float representing the RepeatDistance subfield</returns> public float? GetRepeatDistance() { return (float?)GetFieldValue(4, 0, TargetValueSubfield.RepeatDistance); } /// <summary> /// /// Set RepeatDistance subfield /// Units: m</summary> /// <param name="repeatDistance">Subfield value to be set</param> public void SetRepeatDistance(float? repeatDistance) { SetFieldValue(4, 0, repeatDistance, TargetValueSubfield.RepeatDistance); } /// <summary> /// Retrieves the RepeatCalories subfield /// Units: calories</summary> /// <returns>Nullable uint representing the RepeatCalories subfield</returns> public uint? GetRepeatCalories() { return (uint?)GetFieldValue(4, 0, TargetValueSubfield.RepeatCalories); } /// <summary> /// /// Set RepeatCalories subfield /// Units: calories</summary> /// <param name="repeatCalories">Subfield value to be set</param> public void SetRepeatCalories(uint? repeatCalories) { SetFieldValue(4, 0, repeatCalories, TargetValueSubfield.RepeatCalories); } /// <summary> /// Retrieves the RepeatHr subfield /// Units: % or bpm</summary> /// <returns>Nullable uint representing the RepeatHr subfield</returns> public uint? GetRepeatHr() { return (uint?)GetFieldValue(4, 0, TargetValueSubfield.RepeatHr); } /// <summary> /// /// Set RepeatHr subfield /// Units: % or bpm</summary> /// <param name="repeatHr">Subfield value to be set</param> public void SetRepeatHr(uint? repeatHr) { SetFieldValue(4, 0, repeatHr, TargetValueSubfield.RepeatHr); } /// <summary> /// Retrieves the RepeatPower subfield /// Units: % or watts</summary> /// <returns>Nullable uint representing the RepeatPower subfield</returns> public uint? GetRepeatPower() { return (uint?)GetFieldValue(4, 0, TargetValueSubfield.RepeatPower); } /// <summary> /// /// Set RepeatPower subfield /// Units: % or watts</summary> /// <param name="repeatPower">Subfield value to be set</param> public void SetRepeatPower(uint? repeatPower) { SetFieldValue(4, 0, repeatPower, TargetValueSubfield.RepeatPower); } ///<summary> /// Retrieves the CustomTargetValueLow field</summary> /// <returns>Returns nullable uint representing the CustomTargetValueLow field</returns> public uint? GetCustomTargetValueLow() { return (uint?)GetFieldValue(5, 0, Fit.SubfieldIndexMainField); } /// <summary> /// Set CustomTargetValueLow field</summary> /// <param name="customTargetValueLow_">Nullable field value to be set</param> public void SetCustomTargetValueLow(uint? customTargetValueLow_) { SetFieldValue(5, 0, customTargetValueLow_, Fit.SubfieldIndexMainField); } /// <summary> /// Retrieves the CustomTargetSpeedLow subfield /// Units: m/s</summary> /// <returns>Nullable float representing the CustomTargetSpeedLow subfield</returns> public float? GetCustomTargetSpeedLow() { return (float?)GetFieldValue(5, 0, CustomTargetValueLowSubfield.CustomTargetSpeedLow); } /// <summary> /// /// Set CustomTargetSpeedLow subfield /// Units: m/s</summary> /// <param name="customTargetSpeedLow">Subfield value to be set</param> public void SetCustomTargetSpeedLow(float? customTargetSpeedLow) { SetFieldValue(5, 0, customTargetSpeedLow, CustomTargetValueLowSubfield.CustomTargetSpeedLow); } /// <summary> /// Retrieves the CustomTargetHeartRateLow subfield /// Units: % or bpm</summary> /// <returns>Nullable uint representing the CustomTargetHeartRateLow subfield</returns> public uint? GetCustomTargetHeartRateLow() { return (uint?)GetFieldValue(5, 0, CustomTargetValueLowSubfield.CustomTargetHeartRateLow); } /// <summary> /// /// Set CustomTargetHeartRateLow subfield /// Units: % or bpm</summary> /// <param name="customTargetHeartRateLow">Subfield value to be set</param> public void SetCustomTargetHeartRateLow(uint? customTargetHeartRateLow) { SetFieldValue(5, 0, customTargetHeartRateLow, CustomTargetValueLowSubfield.CustomTargetHeartRateLow); } /// <summary> /// Retrieves the CustomTargetCadenceLow subfield /// Units: rpm</summary> /// <returns>Nullable uint representing the CustomTargetCadenceLow subfield</returns> public uint? GetCustomTargetCadenceLow() { return (uint?)GetFieldValue(5, 0, CustomTargetValueLowSubfield.CustomTargetCadenceLow); } /// <summary> /// /// Set CustomTargetCadenceLow subfield /// Units: rpm</summary> /// <param name="customTargetCadenceLow">Subfield value to be set</param> public void SetCustomTargetCadenceLow(uint? customTargetCadenceLow) { SetFieldValue(5, 0, customTargetCadenceLow, CustomTargetValueLowSubfield.CustomTargetCadenceLow); } /// <summary> /// Retrieves the CustomTargetPowerLow subfield /// Units: % or watts</summary> /// <returns>Nullable uint representing the CustomTargetPowerLow subfield</returns> public uint? GetCustomTargetPowerLow() { return (uint?)GetFieldValue(5, 0, CustomTargetValueLowSubfield.CustomTargetPowerLow); } /// <summary> /// /// Set CustomTargetPowerLow subfield /// Units: % or watts</summary> /// <param name="customTargetPowerLow">Subfield value to be set</param> public void SetCustomTargetPowerLow(uint? customTargetPowerLow) { SetFieldValue(5, 0, customTargetPowerLow, CustomTargetValueLowSubfield.CustomTargetPowerLow); } ///<summary> /// Retrieves the CustomTargetValueHigh field</summary> /// <returns>Returns nullable uint representing the CustomTargetValueHigh field</returns> public uint? GetCustomTargetValueHigh() { return (uint?)GetFieldValue(6, 0, Fit.SubfieldIndexMainField); } /// <summary> /// Set CustomTargetValueHigh field</summary> /// <param name="customTargetValueHigh_">Nullable field value to be set</param> public void SetCustomTargetValueHigh(uint? customTargetValueHigh_) { SetFieldValue(6, 0, customTargetValueHigh_, Fit.SubfieldIndexMainField); } /// <summary> /// Retrieves the CustomTargetSpeedHigh subfield /// Units: m/s</summary> /// <returns>Nullable float representing the CustomTargetSpeedHigh subfield</returns> public float? GetCustomTargetSpeedHigh() { return (float?)GetFieldValue(6, 0, CustomTargetValueHighSubfield.CustomTargetSpeedHigh); } /// <summary> /// /// Set CustomTargetSpeedHigh subfield /// Units: m/s</summary> /// <param name="customTargetSpeedHigh">Subfield value to be set</param> public void SetCustomTargetSpeedHigh(float? customTargetSpeedHigh) { SetFieldValue(6, 0, customTargetSpeedHigh, CustomTargetValueHighSubfield.CustomTargetSpeedHigh); } /// <summary> /// Retrieves the CustomTargetHeartRateHigh subfield /// Units: % or bpm</summary> /// <returns>Nullable uint representing the CustomTargetHeartRateHigh subfield</returns> public uint? GetCustomTargetHeartRateHigh() { return (uint?)GetFieldValue(6, 0, CustomTargetValueHighSubfield.CustomTargetHeartRateHigh); } /// <summary> /// /// Set CustomTargetHeartRateHigh subfield /// Units: % or bpm</summary> /// <param name="customTargetHeartRateHigh">Subfield value to be set</param> public void SetCustomTargetHeartRateHigh(uint? customTargetHeartRateHigh) { SetFieldValue(6, 0, customTargetHeartRateHigh, CustomTargetValueHighSubfield.CustomTargetHeartRateHigh); } /// <summary> /// Retrieves the CustomTargetCadenceHigh subfield /// Units: rpm</summary> /// <returns>Nullable uint representing the CustomTargetCadenceHigh subfield</returns> public uint? GetCustomTargetCadenceHigh() { return (uint?)GetFieldValue(6, 0, CustomTargetValueHighSubfield.CustomTargetCadenceHigh); } /// <summary> /// /// Set CustomTargetCadenceHigh subfield /// Units: rpm</summary> /// <param name="customTargetCadenceHigh">Subfield value to be set</param> public void SetCustomTargetCadenceHigh(uint? customTargetCadenceHigh) { SetFieldValue(6, 0, customTargetCadenceHigh, CustomTargetValueHighSubfield.CustomTargetCadenceHigh); } /// <summary> /// Retrieves the CustomTargetPowerHigh subfield /// Units: % or watts</summary> /// <returns>Nullable uint representing the CustomTargetPowerHigh subfield</returns> public uint? GetCustomTargetPowerHigh() { return (uint?)GetFieldValue(6, 0, CustomTargetValueHighSubfield.CustomTargetPowerHigh); } /// <summary> /// /// Set CustomTargetPowerHigh subfield /// Units: % or watts</summary> /// <param name="customTargetPowerHigh">Subfield value to be set</param> public void SetCustomTargetPowerHigh(uint? customTargetPowerHigh) { SetFieldValue(6, 0, customTargetPowerHigh, CustomTargetValueHighSubfield.CustomTargetPowerHigh); } ///<summary> /// Retrieves the Intensity field</summary> /// <returns>Returns nullable Intensity enum representing the Intensity field</returns> public Intensity? GetIntensity() { object obj = GetFieldValue(7, 0, Fit.SubfieldIndexMainField); Intensity? value = obj == null ? (Intensity?)null : (Intensity)obj; return value; } /// <summary> /// Set Intensity field</summary> /// <param name="intensity_">Nullable field value to be set</param> public void SetIntensity(Intensity? intensity_) { SetFieldValue(7, 0, intensity_, Fit.SubfieldIndexMainField); } #endregion // Methods } // Class } // namespace