Implementation
static Mesg createSessionMesg() {
int fieldIndex, subfieldIndex;
Mesg newMesg = Mesg("Session", MesgNum.session);
fieldIndex = 0;
newMesg.setField(
Field(
"MessageIndex",
254,
132,
1.0,
0.0,
"",
false,
ProfileType.messageIndex,
),
);
fieldIndex++;
newMesg.setField(
Field("Timestamp", 253, 134, 1.0, 0.0, "s", false, ProfileType.dateTime),
);
fieldIndex++;
newMesg.setField(
Field("Event", 0, 0, 1.0, 0.0, "", false, ProfileType.event),
);
fieldIndex++;
newMesg.setField(
Field("EventType", 1, 0, 1.0, 0.0, "", false, ProfileType.eventType),
);
fieldIndex++;
newMesg.setField(
Field("StartTime", 2, 134, 1.0, 0.0, "", false, ProfileType.dateTime),
);
fieldIndex++;
newMesg.setField(
Field(
"StartPositionLat",
3,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"StartPositionLong",
4,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field("Sport", 5, 0, 1.0, 0.0, "", false, ProfileType.sport),
);
fieldIndex++;
newMesg.setField(
Field("SubSport", 6, 0, 1.0, 0.0, "", false, ProfileType.subSport),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalElapsedTime",
7,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalTimerTime",
8,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalDistance",
9,
134,
100.0,
0.0,
"m",
false,
ProfileType.uint32,
),
);
fieldIndex++;
Field totalCyclesField = Field(
"TotalCycles",
10,
134,
1.0,
0.0,
"cycles",
false,
ProfileType.uint32,
);
subfieldIndex = 0;
totalCyclesField.subfields.add(
Subfield("TotalStrides", 134, 1.0, 0.0, "strides"),
);
totalCyclesField.subfields[subfieldIndex].addMap(5, 1);
totalCyclesField.subfields[subfieldIndex].addMap(5, 11);
subfieldIndex++;
totalCyclesField.subfields.add(
Subfield("TotalStrokes", 134, 1.0, 0.0, "strokes"),
);
totalCyclesField.subfields[subfieldIndex].addMap(5, 2);
totalCyclesField.subfields[subfieldIndex].addMap(5, 5);
totalCyclesField.subfields[subfieldIndex].addMap(5, 15);
totalCyclesField.subfields[subfieldIndex].addMap(5, 37);
subfieldIndex++;
newMesg.setField(totalCyclesField);
fieldIndex++;
newMesg.setField(
Field(
"TotalCalories",
11,
132,
1.0,
0.0,
"kcal",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalFatCalories",
13,
132,
1.0,
0.0,
"kcal",
false,
ProfileType.uint16,
),
);
fieldIndex++;
Field avgSpeedField = Field(
"AvgSpeed",
14,
132,
1000.0,
0.0,
"m/s",
false,
ProfileType.uint16,
);
avgSpeedField.components.add(
FieldComponent(124, false, 16, 1000.0, 0.0),
); // enhanced_avg_speed
newMesg.setField(avgSpeedField);
fieldIndex++;
Field maxSpeedField = Field(
"MaxSpeed",
15,
132,
1000.0,
0.0,
"m/s",
false,
ProfileType.uint16,
);
maxSpeedField.components.add(
FieldComponent(125, false, 16, 1000.0, 0.0),
); // enhanced_max_speed
newMesg.setField(maxSpeedField);
fieldIndex++;
newMesg.setField(
Field("AvgHeartRate", 16, 2, 1.0, 0.0, "bpm", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("MaxHeartRate", 17, 2, 1.0, 0.0, "bpm", false, ProfileType.uint8),
);
fieldIndex++;
Field avgCadenceField = Field(
"AvgCadence",
18,
2,
1.0,
0.0,
"rpm",
false,
ProfileType.uint8,
);
subfieldIndex = 0;
avgCadenceField.subfields.add(
Subfield("AvgRunningCadence", 2, 1.0, 0.0, "strides/min"),
);
avgCadenceField.subfields[subfieldIndex].addMap(5, 1);
subfieldIndex++;
newMesg.setField(avgCadenceField);
fieldIndex++;
Field maxCadenceField = Field(
"MaxCadence",
19,
2,
1.0,
0.0,
"rpm",
false,
ProfileType.uint8,
);
subfieldIndex = 0;
maxCadenceField.subfields.add(
Subfield("MaxRunningCadence", 2, 1.0, 0.0, "strides/min"),
);
maxCadenceField.subfields[subfieldIndex].addMap(5, 1);
subfieldIndex++;
newMesg.setField(maxCadenceField);
fieldIndex++;
newMesg.setField(
Field("AvgPower", 20, 132, 1.0, 0.0, "watts", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("MaxPower", 21, 132, 1.0, 0.0, "watts", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("TotalAscent", 22, 132, 1.0, 0.0, "m", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("TotalDescent", 23, 132, 1.0, 0.0, "m", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalTrainingEffect",
24,
2,
10.0,
0.0,
"",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field("FirstLapIndex", 25, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("NumLaps", 26, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("EventGroup", 27, 2, 1.0, 0.0, "", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("Trigger", 28, 0, 1.0, 0.0, "", false, ProfileType.sessionTrigger),
);
fieldIndex++;
newMesg.setField(
Field(
"NecLat",
29,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"NecLong",
30,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"SwcLat",
31,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"SwcLong",
32,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"NumLengths",
33,
132,
1.0,
0.0,
"lengths",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"NormalizedPower",
34,
132,
1.0,
0.0,
"watts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TrainingStressScore",
35,
132,
10.0,
0.0,
"tss",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"IntensityFactor",
36,
132,
1000.0,
0.0,
"if",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"LeftRightBalance",
37,
132,
1.0,
0.0,
"",
false,
ProfileType.leftRightBalance100,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EndPositionLat",
38,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EndPositionLong",
39,
133,
1.0,
0.0,
"semicircles",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgStrokeCount",
41,
134,
10.0,
0.0,
"strokes/lap",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgStrokeDistance",
42,
132,
100.0,
0.0,
"m",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"SwimStroke",
43,
0,
1.0,
0.0,
"swim_stroke",
false,
ProfileType.swimStroke,
),
);
fieldIndex++;
newMesg.setField(
Field("PoolLength", 44, 132, 100.0, 0.0, "m", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field(
"ThresholdPower",
45,
132,
1.0,
0.0,
"watts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"PoolLengthUnit",
46,
0,
1.0,
0.0,
"",
false,
ProfileType.displayMeasure,
),
);
fieldIndex++;
newMesg.setField(
Field(
"NumActiveLengths",
47,
132,
1.0,
0.0,
"lengths",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field("TotalWork", 48, 134, 1.0, 0.0, "J", false, ProfileType.uint32),
);
fieldIndex++;
Field avgAltitudeField = Field(
"AvgAltitude",
49,
132,
5.0,
500.0,
"m",
false,
ProfileType.uint16,
);
avgAltitudeField.components.add(
FieldComponent(126, false, 16, 5.0, 500.0),
); // enhanced_avg_altitude
newMesg.setField(avgAltitudeField);
fieldIndex++;
Field maxAltitudeField = Field(
"MaxAltitude",
50,
132,
5.0,
500.0,
"m",
false,
ProfileType.uint16,
);
maxAltitudeField.components.add(
FieldComponent(128, false, 16, 5.0, 500.0),
); // enhanced_max_altitude
newMesg.setField(maxAltitudeField);
fieldIndex++;
newMesg.setField(
Field("GpsAccuracy", 51, 2, 1.0, 0.0, "m", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("AvgGrade", 52, 131, 100.0, 0.0, "%", false, ProfileType.sint16),
);
fieldIndex++;
newMesg.setField(
Field("AvgPosGrade", 53, 131, 100.0, 0.0, "%", false, ProfileType.sint16),
);
fieldIndex++;
newMesg.setField(
Field("AvgNegGrade", 54, 131, 100.0, 0.0, "%", false, ProfileType.sint16),
);
fieldIndex++;
newMesg.setField(
Field("MaxPosGrade", 55, 131, 100.0, 0.0, "%", false, ProfileType.sint16),
);
fieldIndex++;
newMesg.setField(
Field("MaxNegGrade", 56, 131, 100.0, 0.0, "%", false, ProfileType.sint16),
);
fieldIndex++;
newMesg.setField(
Field("AvgTemperature", 57, 1, 1.0, 0.0, "C", false, ProfileType.sint8),
);
fieldIndex++;
newMesg.setField(
Field("MaxTemperature", 58, 1, 1.0, 0.0, "C", false, ProfileType.sint8),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalMovingTime",
59,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgPosVerticalSpeed",
60,
131,
1000.0,
0.0,
"m/s",
false,
ProfileType.sint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgNegVerticalSpeed",
61,
131,
1000.0,
0.0,
"m/s",
false,
ProfileType.sint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxPosVerticalSpeed",
62,
131,
1000.0,
0.0,
"m/s",
false,
ProfileType.sint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxNegVerticalSpeed",
63,
131,
1000.0,
0.0,
"m/s",
false,
ProfileType.sint16,
),
);
fieldIndex++;
newMesg.setField(
Field("MinHeartRate", 64, 2, 1.0, 0.0, "bpm", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field(
"TimeInHrZone",
65,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TimeInSpeedZone",
66,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TimeInCadenceZone",
67,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TimeInPowerZone",
68,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field("AvgLapTime", 69, 134, 1000.0, 0.0, "s", false, ProfileType.uint32),
);
fieldIndex++;
newMesg.setField(
Field("BestLapIndex", 70, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
Field minAltitudeField = Field(
"MinAltitude",
71,
132,
5.0,
500.0,
"m",
false,
ProfileType.uint16,
);
minAltitudeField.components.add(
FieldComponent(127, false, 16, 5.0, 500.0),
); // enhanced_min_altitude
newMesg.setField(minAltitudeField);
fieldIndex++;
newMesg.setField(
Field("PlayerScore", 82, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("OpponentScore", 83, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("OpponentName", 84, 7, 1.0, 0.0, "", false, ProfileType.string),
);
fieldIndex++;
newMesg.setField(
Field(
"StrokeCount",
85,
132,
1.0,
0.0,
"counts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"ZoneCount",
86,
132,
1.0,
0.0,
"counts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxBallSpeed",
87,
132,
100.0,
0.0,
"m/s",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgBallSpeed",
88,
132,
100.0,
0.0,
"m/s",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgVerticalOscillation",
89,
132,
10.0,
0.0,
"mm",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgStanceTimePercent",
90,
132,
100.0,
0.0,
"percent",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgStanceTime",
91,
132,
10.0,
0.0,
"ms",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgFractionalCadence",
92,
2,
128.0,
0.0,
"rpm",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxFractionalCadence",
93,
2,
128.0,
0.0,
"rpm",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalFractionalCycles",
94,
2,
128.0,
0.0,
"cycles",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgTotalHemoglobinConc",
95,
132,
100.0,
0.0,
"g/dL",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MinTotalHemoglobinConc",
96,
132,
100.0,
0.0,
"g/dL",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxTotalHemoglobinConc",
97,
132,
100.0,
0.0,
"g/dL",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgSaturatedHemoglobinPercent",
98,
132,
10.0,
0.0,
"%",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MinSaturatedHemoglobinPercent",
99,
132,
10.0,
0.0,
"%",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxSaturatedHemoglobinPercent",
100,
132,
10.0,
0.0,
"%",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgLeftTorqueEffectiveness",
101,
2,
2.0,
0.0,
"percent",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgRightTorqueEffectiveness",
102,
2,
2.0,
0.0,
"percent",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgLeftPedalSmoothness",
103,
2,
2.0,
0.0,
"percent",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgRightPedalSmoothness",
104,
2,
2.0,
0.0,
"percent",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgCombinedPedalSmoothness",
105,
2,
2.0,
0.0,
"percent",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"SportProfileName",
110,
7,
1.0,
0.0,
"",
false,
ProfileType.string,
),
);
fieldIndex++;
newMesg.setField(
Field("SportIndex", 111, 2, 1.0, 0.0, "", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field(
"TimeStanding",
112,
134,
1000.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field("StandCount", 113, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("AvgLeftPco", 114, 1, 1.0, 0.0, "mm", false, ProfileType.sint8),
);
fieldIndex++;
newMesg.setField(
Field("AvgRightPco", 115, 1, 1.0, 0.0, "mm", false, ProfileType.sint8),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgLeftPowerPhase",
116,
2,
0.7111111,
0.0,
"degrees",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgLeftPowerPhasePeak",
117,
2,
0.7111111,
0.0,
"degrees",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgRightPowerPhase",
118,
2,
0.7111111,
0.0,
"degrees",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgRightPowerPhasePeak",
119,
2,
0.7111111,
0.0,
"degrees",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgPowerPosition",
120,
132,
1.0,
0.0,
"watts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxPowerPosition",
121,
132,
1.0,
0.0,
"watts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgCadencePosition",
122,
2,
1.0,
0.0,
"rpm",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxCadencePosition",
123,
2,
1.0,
0.0,
"rpm",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedAvgSpeed",
124,
134,
1000.0,
0.0,
"m/s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedMaxSpeed",
125,
134,
1000.0,
0.0,
"m/s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedAvgAltitude",
126,
134,
5.0,
500.0,
"m",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedMinAltitude",
127,
134,
5.0,
500.0,
"m",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedMaxAltitude",
128,
134,
5.0,
500.0,
"m",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgLevMotorPower",
129,
132,
1.0,
0.0,
"watts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxLevMotorPower",
130,
132,
1.0,
0.0,
"watts",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"LevBatteryConsumption",
131,
2,
2.0,
0.0,
"percent",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgVerticalRatio",
132,
132,
100.0,
0.0,
"percent",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgStanceTimeBalance",
133,
132,
100.0,
0.0,
"percent",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgStepLength",
134,
132,
10.0,
0.0,
"mm",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalAnaerobicTrainingEffect",
137,
2,
10.0,
0.0,
"",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field("AvgVam", 139, 132, 1000.0, 0.0, "m/s", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("AvgDepth", 140, 134, 1000.0, 0.0, "m", false, ProfileType.uint32),
);
fieldIndex++;
newMesg.setField(
Field("MaxDepth", 141, 134, 1000.0, 0.0, "m", false, ProfileType.uint32),
);
fieldIndex++;
newMesg.setField(
Field(
"SurfaceInterval",
142,
134,
1.0,
0.0,
"s",
false,
ProfileType.uint32,
),
);
fieldIndex++;
newMesg.setField(
Field("StartCns", 143, 2, 1.0, 0.0, "percent", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("EndCns", 144, 2, 1.0, 0.0, "percent", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field(
"StartN2",
145,
132,
1.0,
0.0,
"percent",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field("EndN2", 146, 132, 1.0, 0.0, "percent", false, ProfileType.uint16),
);
fieldIndex++;
Field avgRespirationRateField = Field(
"AvgRespirationRate",
147,
2,
1.0,
0.0,
"",
false,
ProfileType.uint8,
);
avgRespirationRateField.components.add(
FieldComponent(169, false, 8, 1.0, 0.0),
); // enhanced_avg_respiration_rate
newMesg.setField(avgRespirationRateField);
fieldIndex++;
Field maxRespirationRateField = Field(
"MaxRespirationRate",
148,
2,
1.0,
0.0,
"",
false,
ProfileType.uint8,
);
maxRespirationRateField.components.add(
FieldComponent(170, false, 8, 1.0, 0.0),
); // enhanced_max_respiration_rate
newMesg.setField(maxRespirationRateField);
fieldIndex++;
Field minRespirationRateField = Field(
"MinRespirationRate",
149,
2,
1.0,
0.0,
"",
false,
ProfileType.uint8,
);
minRespirationRateField.components.add(
FieldComponent(180, false, 8, 1.0, 0.0),
); // enhanced_min_respiration_rate
newMesg.setField(minRespirationRateField);
fieldIndex++;
newMesg.setField(
Field("MinTemperature", 150, 1, 1.0, 0.0, "C", false, ProfileType.sint8),
);
fieldIndex++;
newMesg.setField(
Field(
"O2Toxicity",
155,
132,
1.0,
0.0,
"OTUs",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field("DiveNumber", 156, 134, 1.0, 0.0, "", false, ProfileType.uint32),
);
fieldIndex++;
newMesg.setField(
Field(
"TrainingLoadPeak",
168,
133,
65536.0,
0.0,
"",
false,
ProfileType.sint32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedAvgRespirationRate",
169,
132,
100.0,
0.0,
"Breaths/min",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedMaxRespirationRate",
170,
132,
100.0,
0.0,
"Breaths/min",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"EnhancedMinRespirationRate",
180,
132,
100.0,
0.0,
"",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalGrit",
181,
136,
1.0,
0.0,
"kGrit",
false,
ProfileType.float32,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalFlow",
182,
136,
1.0,
0.0,
"Flow",
false,
ProfileType.float32,
),
);
fieldIndex++;
newMesg.setField(
Field("JumpCount", 183, 132, 1.0, 0.0, "", false, ProfileType.uint16),
);
fieldIndex++;
newMesg.setField(
Field("AvgGrit", 186, 136, 1.0, 0.0, "kGrit", false, ProfileType.float32),
);
fieldIndex++;
newMesg.setField(
Field("AvgFlow", 187, 136, 1.0, 0.0, "Flow", false, ProfileType.float32),
);
fieldIndex++;
newMesg.setField(
Field("WorkoutFeel", 192, 2, 1.0, 0.0, "", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("WorkoutRpe", 193, 2, 1.0, 0.0, "", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("AvgSpo2", 194, 2, 1.0, 0.0, "percent", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("AvgStress", 195, 2, 1.0, 0.0, "percent", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("SdrrHrv", 197, 2, 1.0, 0.0, "mS", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field("RmssdHrv", 198, 2, 1.0, 0.0, "mS", false, ProfileType.uint8),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalFractionalAscent",
199,
2,
100.0,
0.0,
"m",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"TotalFractionalDescent",
200,
2,
100.0,
0.0,
"m",
false,
ProfileType.uint8,
),
);
fieldIndex++;
newMesg.setField(
Field(
"AvgCoreTemperature",
208,
132,
100.0,
0.0,
"C",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MinCoreTemperature",
209,
132,
100.0,
0.0,
"C",
false,
ProfileType.uint16,
),
);
fieldIndex++;
newMesg.setField(
Field(
"MaxCoreTemperature",
210,
132,
100.0,
0.0,
"C",
false,
ProfileType.uint16,
),
);
fieldIndex++;
return newMesg;
}