All Downloads are FREE. Search and download functionalities are using the official Maven repository.

t.21.120.2.source-code.RecordMesg Maven / Gradle / Ivy

There is a newer version: 21.141.0
Show newest version
/////////////////////////////////////////////////////////////////////////////////////////////
// Copyright 2023 Garmin International, Inc.
// Licensed under the Flexible and Interoperable Data Transfer (FIT) Protocol License; you
// may not use this file except in compliance with the Flexible and Interoperable Data
// Transfer (FIT) Protocol License.
/////////////////////////////////////////////////////////////////////////////////////////////
// ****WARNING****  This file is auto-generated!  Do NOT edit this file.
// Profile Version = 21.120Release
// Tag = production/release/21.120.00-0-g2d77811
/////////////////////////////////////////////////////////////////////////////////////////////


package com.garmin.fit;



public class RecordMesg extends Mesg   {

    
    public static final int TimestampFieldNum = 253;
    
    public static final int PositionLatFieldNum = 0;
    
    public static final int PositionLongFieldNum = 1;
    
    public static final int AltitudeFieldNum = 2;
    
    public static final int HeartRateFieldNum = 3;
    
    public static final int CadenceFieldNum = 4;
    
    public static final int DistanceFieldNum = 5;
    
    public static final int SpeedFieldNum = 6;
    
    public static final int PowerFieldNum = 7;
    
    public static final int CompressedSpeedDistanceFieldNum = 8;
    
    public static final int GradeFieldNum = 9;
    
    public static final int ResistanceFieldNum = 10;
    
    public static final int TimeFromCourseFieldNum = 11;
    
    public static final int CycleLengthFieldNum = 12;
    
    public static final int TemperatureFieldNum = 13;
    
    public static final int Speed1sFieldNum = 17;
    
    public static final int CyclesFieldNum = 18;
    
    public static final int TotalCyclesFieldNum = 19;
    
    public static final int CompressedAccumulatedPowerFieldNum = 28;
    
    public static final int AccumulatedPowerFieldNum = 29;
    
    public static final int LeftRightBalanceFieldNum = 30;
    
    public static final int GpsAccuracyFieldNum = 31;
    
    public static final int VerticalSpeedFieldNum = 32;
    
    public static final int CaloriesFieldNum = 33;
    
    public static final int VerticalOscillationFieldNum = 39;
    
    public static final int StanceTimePercentFieldNum = 40;
    
    public static final int StanceTimeFieldNum = 41;
    
    public static final int ActivityTypeFieldNum = 42;
    
    public static final int LeftTorqueEffectivenessFieldNum = 43;
    
    public static final int RightTorqueEffectivenessFieldNum = 44;
    
    public static final int LeftPedalSmoothnessFieldNum = 45;
    
    public static final int RightPedalSmoothnessFieldNum = 46;
    
    public static final int CombinedPedalSmoothnessFieldNum = 47;
    
    public static final int Time128FieldNum = 48;
    
    public static final int StrokeTypeFieldNum = 49;
    
    public static final int ZoneFieldNum = 50;
    
    public static final int BallSpeedFieldNum = 51;
    
    public static final int Cadence256FieldNum = 52;
    
    public static final int FractionalCadenceFieldNum = 53;
    
    public static final int TotalHemoglobinConcFieldNum = 54;
    
    public static final int TotalHemoglobinConcMinFieldNum = 55;
    
    public static final int TotalHemoglobinConcMaxFieldNum = 56;
    
    public static final int SaturatedHemoglobinPercentFieldNum = 57;
    
    public static final int SaturatedHemoglobinPercentMinFieldNum = 58;
    
    public static final int SaturatedHemoglobinPercentMaxFieldNum = 59;
    
    public static final int DeviceIndexFieldNum = 62;
    
    public static final int LeftPcoFieldNum = 67;
    
    public static final int RightPcoFieldNum = 68;
    
    public static final int LeftPowerPhaseFieldNum = 69;
    
    public static final int LeftPowerPhasePeakFieldNum = 70;
    
    public static final int RightPowerPhaseFieldNum = 71;
    
    public static final int RightPowerPhasePeakFieldNum = 72;
    
    public static final int EnhancedSpeedFieldNum = 73;
    
    public static final int EnhancedAltitudeFieldNum = 78;
    
    public static final int BatterySocFieldNum = 81;
    
    public static final int MotorPowerFieldNum = 82;
    
    public static final int VerticalRatioFieldNum = 83;
    
    public static final int StanceTimeBalanceFieldNum = 84;
    
    public static final int StepLengthFieldNum = 85;
    
    public static final int CycleLength16FieldNum = 87;
    
    public static final int AbsolutePressureFieldNum = 91;
    
    public static final int DepthFieldNum = 92;
    
    public static final int NextStopDepthFieldNum = 93;
    
    public static final int NextStopTimeFieldNum = 94;
    
    public static final int TimeToSurfaceFieldNum = 95;
    
    public static final int NdlTimeFieldNum = 96;
    
    public static final int CnsLoadFieldNum = 97;
    
    public static final int N2LoadFieldNum = 98;
    
    public static final int RespirationRateFieldNum = 99;
    
    public static final int EnhancedRespirationRateFieldNum = 108;
    
    public static final int GritFieldNum = 114;
    
    public static final int FlowFieldNum = 115;
    
    public static final int CurrentStressFieldNum = 116;
    
    public static final int EbikeTravelRangeFieldNum = 117;
    
    public static final int EbikeBatteryLevelFieldNum = 118;
    
    public static final int EbikeAssistModeFieldNum = 119;
    
    public static final int EbikeAssistLevelPercentFieldNum = 120;
    
    public static final int AirTimeRemainingFieldNum = 123;
    
    public static final int PressureSacFieldNum = 124;
    
    public static final int VolumeSacFieldNum = 125;
    
    public static final int RmvFieldNum = 126;
    
    public static final int AscentRateFieldNum = 127;
    
    public static final int Po2FieldNum = 129;
    
    public static final int CoreTemperatureFieldNum = 139;
    

    protected static final  Mesg recordMesg;
    static {int field_index = 0;
        // record
        recordMesg = new Mesg("record", MesgNum.RECORD);
        recordMesg.addField(new Field("timestamp", TimestampFieldNum, 134, 1, 0, "s", false, Profile.Type.DATE_TIME));
        field_index++;
        recordMesg.addField(new Field("position_lat", PositionLatFieldNum, 133, 1, 0, "semicircles", false, Profile.Type.SINT32));
        field_index++;
        recordMesg.addField(new Field("position_long", PositionLongFieldNum, 133, 1, 0, "semicircles", false, Profile.Type.SINT32));
        field_index++;
        recordMesg.addField(new Field("altitude", AltitudeFieldNum, 132, 5, 500, "m", false, Profile.Type.UINT16));
        recordMesg.fields.get(field_index).components.add(new FieldComponent(78, false, 16, 5, 500)); // enhanced_altitude
        field_index++;
        recordMesg.addField(new Field("heart_rate", HeartRateFieldNum, 2, 1, 0, "bpm", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("cadence", CadenceFieldNum, 2, 1, 0, "rpm", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("distance", DistanceFieldNum, 134, 100, 0, "m", true, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("speed", SpeedFieldNum, 132, 1000, 0, "m/s", false, Profile.Type.UINT16));
        recordMesg.fields.get(field_index).components.add(new FieldComponent(73, false, 16, 1000, 0)); // enhanced_speed
        field_index++;
        recordMesg.addField(new Field("power", PowerFieldNum, 132, 1, 0, "watts", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("compressed_speed_distance", CompressedSpeedDistanceFieldNum, 13, 1, 0, "", false, Profile.Type.BYTE));
        recordMesg.fields.get(field_index).components.add(new FieldComponent(6, false, 12, 100, 0)); // speed
        recordMesg.fields.get(field_index).components.add(new FieldComponent(5, true, 12, 16, 0)); // distance
        field_index++;
        recordMesg.addField(new Field("grade", GradeFieldNum, 131, 100, 0, "%", false, Profile.Type.SINT16));
        field_index++;
        recordMesg.addField(new Field("resistance", ResistanceFieldNum, 2, 1, 0, "", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("time_from_course", TimeFromCourseFieldNum, 133, 1000, 0, "s", false, Profile.Type.SINT32));
        field_index++;
        recordMesg.addField(new Field("cycle_length", CycleLengthFieldNum, 2, 100, 0, "m", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("temperature", TemperatureFieldNum, 1, 1, 0, "C", false, Profile.Type.SINT8));
        field_index++;
        recordMesg.addField(new Field("speed_1s", Speed1sFieldNum, 2, 16, 0, "m/s", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("cycles", CyclesFieldNum, 2, 1, 0, "cycles", false, Profile.Type.UINT8));
        recordMesg.fields.get(field_index).components.add(new FieldComponent(19, true, 8, 1, 0)); // total_cycles
        field_index++;
        recordMesg.addField(new Field("total_cycles", TotalCyclesFieldNum, 134, 1, 0, "cycles", true, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("compressed_accumulated_power", CompressedAccumulatedPowerFieldNum, 132, 1, 0, "watts", false, Profile.Type.UINT16));
        recordMesg.fields.get(field_index).components.add(new FieldComponent(29, true, 16, 1, 0)); // accumulated_power
        field_index++;
        recordMesg.addField(new Field("accumulated_power", AccumulatedPowerFieldNum, 134, 1, 0, "watts", true, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("left_right_balance", LeftRightBalanceFieldNum, 2, 1, 0, "", false, Profile.Type.LEFT_RIGHT_BALANCE));
        field_index++;
        recordMesg.addField(new Field("gps_accuracy", GpsAccuracyFieldNum, 2, 1, 0, "m", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("vertical_speed", VerticalSpeedFieldNum, 131, 1000, 0, "m/s", false, Profile.Type.SINT16));
        field_index++;
        recordMesg.addField(new Field("calories", CaloriesFieldNum, 132, 1, 0, "kcal", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("vertical_oscillation", VerticalOscillationFieldNum, 132, 10, 0, "mm", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("stance_time_percent", StanceTimePercentFieldNum, 132, 100, 0, "percent", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("stance_time", StanceTimeFieldNum, 132, 10, 0, "ms", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("activity_type", ActivityTypeFieldNum, 0, 1, 0, "", false, Profile.Type.ACTIVITY_TYPE));
        field_index++;
        recordMesg.addField(new Field("left_torque_effectiveness", LeftTorqueEffectivenessFieldNum, 2, 2, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("right_torque_effectiveness", RightTorqueEffectivenessFieldNum, 2, 2, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("left_pedal_smoothness", LeftPedalSmoothnessFieldNum, 2, 2, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("right_pedal_smoothness", RightPedalSmoothnessFieldNum, 2, 2, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("combined_pedal_smoothness", CombinedPedalSmoothnessFieldNum, 2, 2, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("time128", Time128FieldNum, 2, 128, 0, "s", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("stroke_type", StrokeTypeFieldNum, 0, 1, 0, "", false, Profile.Type.STROKE_TYPE));
        field_index++;
        recordMesg.addField(new Field("zone", ZoneFieldNum, 2, 1, 0, "", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("ball_speed", BallSpeedFieldNum, 132, 100, 0, "m/s", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("cadence256", Cadence256FieldNum, 132, 256, 0, "rpm", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("fractional_cadence", FractionalCadenceFieldNum, 2, 128, 0, "rpm", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("total_hemoglobin_conc", TotalHemoglobinConcFieldNum, 132, 100, 0, "g/dL", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("total_hemoglobin_conc_min", TotalHemoglobinConcMinFieldNum, 132, 100, 0, "g/dL", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("total_hemoglobin_conc_max", TotalHemoglobinConcMaxFieldNum, 132, 100, 0, "g/dL", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("saturated_hemoglobin_percent", SaturatedHemoglobinPercentFieldNum, 132, 10, 0, "%", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("saturated_hemoglobin_percent_min", SaturatedHemoglobinPercentMinFieldNum, 132, 10, 0, "%", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("saturated_hemoglobin_percent_max", SaturatedHemoglobinPercentMaxFieldNum, 132, 10, 0, "%", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("device_index", DeviceIndexFieldNum, 2, 1, 0, "", false, Profile.Type.DEVICE_INDEX));
        field_index++;
        recordMesg.addField(new Field("left_pco", LeftPcoFieldNum, 1, 1, 0, "mm", false, Profile.Type.SINT8));
        field_index++;
        recordMesg.addField(new Field("right_pco", RightPcoFieldNum, 1, 1, 0, "mm", false, Profile.Type.SINT8));
        field_index++;
        recordMesg.addField(new Field("left_power_phase", LeftPowerPhaseFieldNum, 2, 0.7111111, 0, "degrees", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("left_power_phase_peak", LeftPowerPhasePeakFieldNum, 2, 0.7111111, 0, "degrees", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("right_power_phase", RightPowerPhaseFieldNum, 2, 0.7111111, 0, "degrees", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("right_power_phase_peak", RightPowerPhasePeakFieldNum, 2, 0.7111111, 0, "degrees", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("enhanced_speed", EnhancedSpeedFieldNum, 134, 1000, 0, "m/s", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("enhanced_altitude", EnhancedAltitudeFieldNum, 134, 5, 500, "m", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("battery_soc", BatterySocFieldNum, 2, 2, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("motor_power", MotorPowerFieldNum, 132, 1, 0, "watts", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("vertical_ratio", VerticalRatioFieldNum, 132, 100, 0, "percent", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("stance_time_balance", StanceTimeBalanceFieldNum, 132, 100, 0, "percent", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("step_length", StepLengthFieldNum, 132, 10, 0, "mm", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("cycle_length16", CycleLength16FieldNum, 132, 100, 0, "m", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("absolute_pressure", AbsolutePressureFieldNum, 134, 1, 0, "Pa", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("depth", DepthFieldNum, 134, 1000, 0, "m", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("next_stop_depth", NextStopDepthFieldNum, 134, 1000, 0, "m", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("next_stop_time", NextStopTimeFieldNum, 134, 1, 0, "s", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("time_to_surface", TimeToSurfaceFieldNum, 134, 1, 0, "s", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("ndl_time", NdlTimeFieldNum, 134, 1, 0, "s", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("cns_load", CnsLoadFieldNum, 2, 1, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("n2_load", N2LoadFieldNum, 132, 1, 0, "percent", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("respiration_rate", RespirationRateFieldNum, 2, 1, 0, "s", false, Profile.Type.UINT8));
        recordMesg.fields.get(field_index).components.add(new FieldComponent(108, false, 8, 1, 0)); // enhanced_respiration_rate
        field_index++;
        recordMesg.addField(new Field("enhanced_respiration_rate", EnhancedRespirationRateFieldNum, 132, 100, 0, "Breaths/min", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("grit", GritFieldNum, 136, 1, 0, "", false, Profile.Type.FLOAT32));
        field_index++;
        recordMesg.addField(new Field("flow", FlowFieldNum, 136, 1, 0, "", false, Profile.Type.FLOAT32));
        field_index++;
        recordMesg.addField(new Field("current_stress", CurrentStressFieldNum, 132, 100, 0, "", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("ebike_travel_range", EbikeTravelRangeFieldNum, 132, 1, 0, "km", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("ebike_battery_level", EbikeBatteryLevelFieldNum, 2, 1, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("ebike_assist_mode", EbikeAssistModeFieldNum, 2, 1, 0, "depends on sensor", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("ebike_assist_level_percent", EbikeAssistLevelPercentFieldNum, 2, 1, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("air_time_remaining", AirTimeRemainingFieldNum, 134, 1, 0, "s", false, Profile.Type.UINT32));
        field_index++;
        recordMesg.addField(new Field("pressure_sac", PressureSacFieldNum, 132, 100, 0, "bar/min", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("volume_sac", VolumeSacFieldNum, 132, 100, 0, "L/min", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("rmv", RmvFieldNum, 132, 100, 0, "L/min", false, Profile.Type.UINT16));
        field_index++;
        recordMesg.addField(new Field("ascent_rate", AscentRateFieldNum, 133, 1000, 0, "m/s", false, Profile.Type.SINT32));
        field_index++;
        recordMesg.addField(new Field("po2", Po2FieldNum, 2, 100, 0, "percent", false, Profile.Type.UINT8));
        field_index++;
        recordMesg.addField(new Field("core_temperature", CoreTemperatureFieldNum, 132, 100, 0, "C", false, Profile.Type.UINT16));
        field_index++;
    }

    public RecordMesg() {
        super(Factory.createMesg(MesgNum.RECORD));
    }

    public RecordMesg(final Mesg mesg) {
        super(mesg);
    }


    /**
     * Get timestamp field
     * Units: s
     *
     * @return timestamp
     */
    public DateTime getTimestamp() {
        return timestampToDateTime(getFieldLongValue(253, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD));
    }

    /**
     * Set timestamp field
     * Units: s
     *
     * @param timestamp The new timestamp value to be set
     */
    public void setTimestamp(DateTime timestamp) {
        setFieldValue(253, 0, timestamp.getTimestamp(), Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get position_lat field
     * Units: semicircles
     *
     * @return position_lat
     */
    public Integer getPositionLat() {
        return getFieldIntegerValue(0, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set position_lat field
     * Units: semicircles
     *
     * @param positionLat The new positionLat value to be set
     */
    public void setPositionLat(Integer positionLat) {
        setFieldValue(0, 0, positionLat, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get position_long field
     * Units: semicircles
     *
     * @return position_long
     */
    public Integer getPositionLong() {
        return getFieldIntegerValue(1, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set position_long field
     * Units: semicircles
     *
     * @param positionLong The new positionLong value to be set
     */
    public void setPositionLong(Integer positionLong) {
        setFieldValue(1, 0, positionLong, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get altitude field
     * Units: m
     *
     * @return altitude
     */
    public Float getAltitude() {
        return getFieldFloatValue(2, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set altitude field
     * Units: m
     *
     * @param altitude The new altitude value to be set
     */
    public void setAltitude(Float altitude) {
        setFieldValue(2, 0, altitude, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get heart_rate field
     * Units: bpm
     *
     * @return heart_rate
     */
    public Short getHeartRate() {
        return getFieldShortValue(3, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set heart_rate field
     * Units: bpm
     *
     * @param heartRate The new heartRate value to be set
     */
    public void setHeartRate(Short heartRate) {
        setFieldValue(3, 0, heartRate, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get cadence field
     * Units: rpm
     *
     * @return cadence
     */
    public Short getCadence() {
        return getFieldShortValue(4, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set cadence field
     * Units: rpm
     *
     * @param cadence The new cadence value to be set
     */
    public void setCadence(Short cadence) {
        setFieldValue(4, 0, cadence, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get distance field
     * Units: m
     *
     * @return distance
     */
    public Float getDistance() {
        return getFieldFloatValue(5, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set distance field
     * Units: m
     *
     * @param distance The new distance value to be set
     */
    public void setDistance(Float distance) {
        setFieldValue(5, 0, distance, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get speed field
     * Units: m/s
     *
     * @return speed
     */
    public Float getSpeed() {
        return getFieldFloatValue(6, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set speed field
     * Units: m/s
     *
     * @param speed The new speed value to be set
     */
    public void setSpeed(Float speed) {
        setFieldValue(6, 0, speed, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get power field
     * Units: watts
     *
     * @return power
     */
    public Integer getPower() {
        return getFieldIntegerValue(7, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set power field
     * Units: watts
     *
     * @param power The new power value to be set
     */
    public void setPower(Integer power) {
        setFieldValue(7, 0, power, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    public Byte[] getCompressedSpeedDistance() {
        
        return getFieldByteValues(8, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        
    }

    /**
     * @return number of compressed_speed_distance
     */
    public int getNumCompressedSpeedDistance() {
        return getNumFieldValues(8, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get compressed_speed_distance field
     *
     * @param index of compressed_speed_distance
     * @return compressed_speed_distance
     */
    public Byte getCompressedSpeedDistance(int index) {
        return getFieldByteValue(8, index, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set compressed_speed_distance field
     *
     * @param index of compressed_speed_distance
     * @param compressedSpeedDistance The new compressedSpeedDistance value to be set
     */
    public void setCompressedSpeedDistance(int index, Byte compressedSpeedDistance) {
        setFieldValue(8, index, compressedSpeedDistance, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get grade field
     * Units: %
     *
     * @return grade
     */
    public Float getGrade() {
        return getFieldFloatValue(9, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set grade field
     * Units: %
     *
     * @param grade The new grade value to be set
     */
    public void setGrade(Float grade) {
        setFieldValue(9, 0, grade, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get resistance field
     * Comment: Relative. 0 is none 254 is Max.
     *
     * @return resistance
     */
    public Short getResistance() {
        return getFieldShortValue(10, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set resistance field
     * Comment: Relative. 0 is none 254 is Max.
     *
     * @param resistance The new resistance value to be set
     */
    public void setResistance(Short resistance) {
        setFieldValue(10, 0, resistance, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get time_from_course field
     * Units: s
     *
     * @return time_from_course
     */
    public Float getTimeFromCourse() {
        return getFieldFloatValue(11, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set time_from_course field
     * Units: s
     *
     * @param timeFromCourse The new timeFromCourse value to be set
     */
    public void setTimeFromCourse(Float timeFromCourse) {
        setFieldValue(11, 0, timeFromCourse, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get cycle_length field
     * Units: m
     *
     * @return cycle_length
     */
    public Float getCycleLength() {
        return getFieldFloatValue(12, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set cycle_length field
     * Units: m
     *
     * @param cycleLength The new cycleLength value to be set
     */
    public void setCycleLength(Float cycleLength) {
        setFieldValue(12, 0, cycleLength, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get temperature field
     * Units: C
     *
     * @return temperature
     */
    public Byte getTemperature() {
        return getFieldByteValue(13, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set temperature field
     * Units: C
     *
     * @param temperature The new temperature value to be set
     */
    public void setTemperature(Byte temperature) {
        setFieldValue(13, 0, temperature, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    public Float[] getSpeed1s() {
        
        return getFieldFloatValues(17, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        
    }

    /**
     * @return number of speed_1s
     */
    public int getNumSpeed1s() {
        return getNumFieldValues(17, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get speed_1s field
     * Units: m/s
     * Comment: Speed at 1s intervals. Timestamp field indicates time of last array element.
     *
     * @param index of speed_1s
     * @return speed_1s
     */
    public Float getSpeed1s(int index) {
        return getFieldFloatValue(17, index, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set speed_1s field
     * Units: m/s
     * Comment: Speed at 1s intervals. Timestamp field indicates time of last array element.
     *
     * @param index of speed_1s
     * @param speed1s The new speed1s value to be set
     */
    public void setSpeed1s(int index, Float speed1s) {
        setFieldValue(17, index, speed1s, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get cycles field
     * Units: cycles
     *
     * @return cycles
     */
    public Short getCycles() {
        return getFieldShortValue(18, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set cycles field
     * Units: cycles
     *
     * @param cycles The new cycles value to be set
     */
    public void setCycles(Short cycles) {
        setFieldValue(18, 0, cycles, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get total_cycles field
     * Units: cycles
     *
     * @return total_cycles
     */
    public Long getTotalCycles() {
        return getFieldLongValue(19, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set total_cycles field
     * Units: cycles
     *
     * @param totalCycles The new totalCycles value to be set
     */
    public void setTotalCycles(Long totalCycles) {
        setFieldValue(19, 0, totalCycles, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get compressed_accumulated_power field
     * Units: watts
     *
     * @return compressed_accumulated_power
     */
    public Integer getCompressedAccumulatedPower() {
        return getFieldIntegerValue(28, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set compressed_accumulated_power field
     * Units: watts
     *
     * @param compressedAccumulatedPower The new compressedAccumulatedPower value to be set
     */
    public void setCompressedAccumulatedPower(Integer compressedAccumulatedPower) {
        setFieldValue(28, 0, compressedAccumulatedPower, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get accumulated_power field
     * Units: watts
     *
     * @return accumulated_power
     */
    public Long getAccumulatedPower() {
        return getFieldLongValue(29, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set accumulated_power field
     * Units: watts
     *
     * @param accumulatedPower The new accumulatedPower value to be set
     */
    public void setAccumulatedPower(Long accumulatedPower) {
        setFieldValue(29, 0, accumulatedPower, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get left_right_balance field
     *
     * @return left_right_balance
     */
    public Short getLeftRightBalance() {
        return getFieldShortValue(30, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set left_right_balance field
     *
     * @param leftRightBalance The new leftRightBalance value to be set
     */
    public void setLeftRightBalance(Short leftRightBalance) {
        setFieldValue(30, 0, leftRightBalance, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get gps_accuracy field
     * Units: m
     *
     * @return gps_accuracy
     */
    public Short getGpsAccuracy() {
        return getFieldShortValue(31, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set gps_accuracy field
     * Units: m
     *
     * @param gpsAccuracy The new gpsAccuracy value to be set
     */
    public void setGpsAccuracy(Short gpsAccuracy) {
        setFieldValue(31, 0, gpsAccuracy, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get vertical_speed field
     * Units: m/s
     *
     * @return vertical_speed
     */
    public Float getVerticalSpeed() {
        return getFieldFloatValue(32, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set vertical_speed field
     * Units: m/s
     *
     * @param verticalSpeed The new verticalSpeed value to be set
     */
    public void setVerticalSpeed(Float verticalSpeed) {
        setFieldValue(32, 0, verticalSpeed, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get calories field
     * Units: kcal
     *
     * @return calories
     */
    public Integer getCalories() {
        return getFieldIntegerValue(33, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set calories field
     * Units: kcal
     *
     * @param calories The new calories value to be set
     */
    public void setCalories(Integer calories) {
        setFieldValue(33, 0, calories, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get vertical_oscillation field
     * Units: mm
     *
     * @return vertical_oscillation
     */
    public Float getVerticalOscillation() {
        return getFieldFloatValue(39, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set vertical_oscillation field
     * Units: mm
     *
     * @param verticalOscillation The new verticalOscillation value to be set
     */
    public void setVerticalOscillation(Float verticalOscillation) {
        setFieldValue(39, 0, verticalOscillation, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get stance_time_percent field
     * Units: percent
     *
     * @return stance_time_percent
     */
    public Float getStanceTimePercent() {
        return getFieldFloatValue(40, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set stance_time_percent field
     * Units: percent
     *
     * @param stanceTimePercent The new stanceTimePercent value to be set
     */
    public void setStanceTimePercent(Float stanceTimePercent) {
        setFieldValue(40, 0, stanceTimePercent, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get stance_time field
     * Units: ms
     *
     * @return stance_time
     */
    public Float getStanceTime() {
        return getFieldFloatValue(41, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set stance_time field
     * Units: ms
     *
     * @param stanceTime The new stanceTime value to be set
     */
    public void setStanceTime(Float stanceTime) {
        setFieldValue(41, 0, stanceTime, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get activity_type field
     *
     * @return activity_type
     */
    public ActivityType getActivityType() {
        Short value = getFieldShortValue(42, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        if (value == null) {
            return null;
        }
        return ActivityType.getByValue(value);
    }

    /**
     * Set activity_type field
     *
     * @param activityType The new activityType value to be set
     */
    public void setActivityType(ActivityType activityType) {
        setFieldValue(42, 0, activityType.value, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get left_torque_effectiveness field
     * Units: percent
     *
     * @return left_torque_effectiveness
     */
    public Float getLeftTorqueEffectiveness() {
        return getFieldFloatValue(43, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set left_torque_effectiveness field
     * Units: percent
     *
     * @param leftTorqueEffectiveness The new leftTorqueEffectiveness value to be set
     */
    public void setLeftTorqueEffectiveness(Float leftTorqueEffectiveness) {
        setFieldValue(43, 0, leftTorqueEffectiveness, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get right_torque_effectiveness field
     * Units: percent
     *
     * @return right_torque_effectiveness
     */
    public Float getRightTorqueEffectiveness() {
        return getFieldFloatValue(44, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set right_torque_effectiveness field
     * Units: percent
     *
     * @param rightTorqueEffectiveness The new rightTorqueEffectiveness value to be set
     */
    public void setRightTorqueEffectiveness(Float rightTorqueEffectiveness) {
        setFieldValue(44, 0, rightTorqueEffectiveness, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get left_pedal_smoothness field
     * Units: percent
     *
     * @return left_pedal_smoothness
     */
    public Float getLeftPedalSmoothness() {
        return getFieldFloatValue(45, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set left_pedal_smoothness field
     * Units: percent
     *
     * @param leftPedalSmoothness The new leftPedalSmoothness value to be set
     */
    public void setLeftPedalSmoothness(Float leftPedalSmoothness) {
        setFieldValue(45, 0, leftPedalSmoothness, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get right_pedal_smoothness field
     * Units: percent
     *
     * @return right_pedal_smoothness
     */
    public Float getRightPedalSmoothness() {
        return getFieldFloatValue(46, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set right_pedal_smoothness field
     * Units: percent
     *
     * @param rightPedalSmoothness The new rightPedalSmoothness value to be set
     */
    public void setRightPedalSmoothness(Float rightPedalSmoothness) {
        setFieldValue(46, 0, rightPedalSmoothness, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get combined_pedal_smoothness field
     * Units: percent
     *
     * @return combined_pedal_smoothness
     */
    public Float getCombinedPedalSmoothness() {
        return getFieldFloatValue(47, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set combined_pedal_smoothness field
     * Units: percent
     *
     * @param combinedPedalSmoothness The new combinedPedalSmoothness value to be set
     */
    public void setCombinedPedalSmoothness(Float combinedPedalSmoothness) {
        setFieldValue(47, 0, combinedPedalSmoothness, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get time128 field
     * Units: s
     *
     * @return time128
     */
    public Float getTime128() {
        return getFieldFloatValue(48, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set time128 field
     * Units: s
     *
     * @param time128 The new time128 value to be set
     */
    public void setTime128(Float time128) {
        setFieldValue(48, 0, time128, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get stroke_type field
     *
     * @return stroke_type
     */
    public StrokeType getStrokeType() {
        Short value = getFieldShortValue(49, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        if (value == null) {
            return null;
        }
        return StrokeType.getByValue(value);
    }

    /**
     * Set stroke_type field
     *
     * @param strokeType The new strokeType value to be set
     */
    public void setStrokeType(StrokeType strokeType) {
        setFieldValue(49, 0, strokeType.value, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get zone field
     *
     * @return zone
     */
    public Short getZone() {
        return getFieldShortValue(50, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set zone field
     *
     * @param zone The new zone value to be set
     */
    public void setZone(Short zone) {
        setFieldValue(50, 0, zone, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ball_speed field
     * Units: m/s
     *
     * @return ball_speed
     */
    public Float getBallSpeed() {
        return getFieldFloatValue(51, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ball_speed field
     * Units: m/s
     *
     * @param ballSpeed The new ballSpeed value to be set
     */
    public void setBallSpeed(Float ballSpeed) {
        setFieldValue(51, 0, ballSpeed, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get cadence256 field
     * Units: rpm
     * Comment: Log cadence and fractional cadence for backwards compatability
     *
     * @return cadence256
     */
    public Float getCadence256() {
        return getFieldFloatValue(52, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set cadence256 field
     * Units: rpm
     * Comment: Log cadence and fractional cadence for backwards compatability
     *
     * @param cadence256 The new cadence256 value to be set
     */
    public void setCadence256(Float cadence256) {
        setFieldValue(52, 0, cadence256, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get fractional_cadence field
     * Units: rpm
     *
     * @return fractional_cadence
     */
    public Float getFractionalCadence() {
        return getFieldFloatValue(53, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set fractional_cadence field
     * Units: rpm
     *
     * @param fractionalCadence The new fractionalCadence value to be set
     */
    public void setFractionalCadence(Float fractionalCadence) {
        setFieldValue(53, 0, fractionalCadence, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get total_hemoglobin_conc field
     * Units: g/dL
     * Comment: Total saturated and unsaturated hemoglobin
     *
     * @return total_hemoglobin_conc
     */
    public Float getTotalHemoglobinConc() {
        return getFieldFloatValue(54, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set total_hemoglobin_conc field
     * Units: g/dL
     * Comment: Total saturated and unsaturated hemoglobin
     *
     * @param totalHemoglobinConc The new totalHemoglobinConc value to be set
     */
    public void setTotalHemoglobinConc(Float totalHemoglobinConc) {
        setFieldValue(54, 0, totalHemoglobinConc, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get total_hemoglobin_conc_min field
     * Units: g/dL
     * Comment: Min saturated and unsaturated hemoglobin
     *
     * @return total_hemoglobin_conc_min
     */
    public Float getTotalHemoglobinConcMin() {
        return getFieldFloatValue(55, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set total_hemoglobin_conc_min field
     * Units: g/dL
     * Comment: Min saturated and unsaturated hemoglobin
     *
     * @param totalHemoglobinConcMin The new totalHemoglobinConcMin value to be set
     */
    public void setTotalHemoglobinConcMin(Float totalHemoglobinConcMin) {
        setFieldValue(55, 0, totalHemoglobinConcMin, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get total_hemoglobin_conc_max field
     * Units: g/dL
     * Comment: Max saturated and unsaturated hemoglobin
     *
     * @return total_hemoglobin_conc_max
     */
    public Float getTotalHemoglobinConcMax() {
        return getFieldFloatValue(56, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set total_hemoglobin_conc_max field
     * Units: g/dL
     * Comment: Max saturated and unsaturated hemoglobin
     *
     * @param totalHemoglobinConcMax The new totalHemoglobinConcMax value to be set
     */
    public void setTotalHemoglobinConcMax(Float totalHemoglobinConcMax) {
        setFieldValue(56, 0, totalHemoglobinConcMax, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get saturated_hemoglobin_percent field
     * Units: %
     * Comment: Percentage of hemoglobin saturated with oxygen
     *
     * @return saturated_hemoglobin_percent
     */
    public Float getSaturatedHemoglobinPercent() {
        return getFieldFloatValue(57, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set saturated_hemoglobin_percent field
     * Units: %
     * Comment: Percentage of hemoglobin saturated with oxygen
     *
     * @param saturatedHemoglobinPercent The new saturatedHemoglobinPercent value to be set
     */
    public void setSaturatedHemoglobinPercent(Float saturatedHemoglobinPercent) {
        setFieldValue(57, 0, saturatedHemoglobinPercent, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get saturated_hemoglobin_percent_min field
     * Units: %
     * Comment: Min percentage of hemoglobin saturated with oxygen
     *
     * @return saturated_hemoglobin_percent_min
     */
    public Float getSaturatedHemoglobinPercentMin() {
        return getFieldFloatValue(58, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set saturated_hemoglobin_percent_min field
     * Units: %
     * Comment: Min percentage of hemoglobin saturated with oxygen
     *
     * @param saturatedHemoglobinPercentMin The new saturatedHemoglobinPercentMin value to be set
     */
    public void setSaturatedHemoglobinPercentMin(Float saturatedHemoglobinPercentMin) {
        setFieldValue(58, 0, saturatedHemoglobinPercentMin, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get saturated_hemoglobin_percent_max field
     * Units: %
     * Comment: Max percentage of hemoglobin saturated with oxygen
     *
     * @return saturated_hemoglobin_percent_max
     */
    public Float getSaturatedHemoglobinPercentMax() {
        return getFieldFloatValue(59, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set saturated_hemoglobin_percent_max field
     * Units: %
     * Comment: Max percentage of hemoglobin saturated with oxygen
     *
     * @param saturatedHemoglobinPercentMax The new saturatedHemoglobinPercentMax value to be set
     */
    public void setSaturatedHemoglobinPercentMax(Float saturatedHemoglobinPercentMax) {
        setFieldValue(59, 0, saturatedHemoglobinPercentMax, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get device_index field
     *
     * @return device_index
     */
    public Short getDeviceIndex() {
        return getFieldShortValue(62, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set device_index field
     *
     * @param deviceIndex The new deviceIndex value to be set
     */
    public void setDeviceIndex(Short deviceIndex) {
        setFieldValue(62, 0, deviceIndex, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get left_pco field
     * Units: mm
     * Comment: Left platform center offset
     *
     * @return left_pco
     */
    public Byte getLeftPco() {
        return getFieldByteValue(67, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set left_pco field
     * Units: mm
     * Comment: Left platform center offset
     *
     * @param leftPco The new leftPco value to be set
     */
    public void setLeftPco(Byte leftPco) {
        setFieldValue(67, 0, leftPco, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get right_pco field
     * Units: mm
     * Comment: Right platform center offset
     *
     * @return right_pco
     */
    public Byte getRightPco() {
        return getFieldByteValue(68, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set right_pco field
     * Units: mm
     * Comment: Right platform center offset
     *
     * @param rightPco The new rightPco value to be set
     */
    public void setRightPco(Byte rightPco) {
        setFieldValue(68, 0, rightPco, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    public Float[] getLeftPowerPhase() {
        
        return getFieldFloatValues(69, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        
    }

    /**
     * @return number of left_power_phase
     */
    public int getNumLeftPowerPhase() {
        return getNumFieldValues(69, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get left_power_phase field
     * Units: degrees
     * Comment: Left power phase angles. Data value indexes defined by power_phase_type.
     *
     * @param index of left_power_phase
     * @return left_power_phase
     */
    public Float getLeftPowerPhase(int index) {
        return getFieldFloatValue(69, index, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set left_power_phase field
     * Units: degrees
     * Comment: Left power phase angles. Data value indexes defined by power_phase_type.
     *
     * @param index of left_power_phase
     * @param leftPowerPhase The new leftPowerPhase value to be set
     */
    public void setLeftPowerPhase(int index, Float leftPowerPhase) {
        setFieldValue(69, index, leftPowerPhase, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    public Float[] getLeftPowerPhasePeak() {
        
        return getFieldFloatValues(70, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        
    }

    /**
     * @return number of left_power_phase_peak
     */
    public int getNumLeftPowerPhasePeak() {
        return getNumFieldValues(70, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get left_power_phase_peak field
     * Units: degrees
     * Comment: Left power phase peak angles. Data value indexes defined by power_phase_type.
     *
     * @param index of left_power_phase_peak
     * @return left_power_phase_peak
     */
    public Float getLeftPowerPhasePeak(int index) {
        return getFieldFloatValue(70, index, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set left_power_phase_peak field
     * Units: degrees
     * Comment: Left power phase peak angles. Data value indexes defined by power_phase_type.
     *
     * @param index of left_power_phase_peak
     * @param leftPowerPhasePeak The new leftPowerPhasePeak value to be set
     */
    public void setLeftPowerPhasePeak(int index, Float leftPowerPhasePeak) {
        setFieldValue(70, index, leftPowerPhasePeak, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    public Float[] getRightPowerPhase() {
        
        return getFieldFloatValues(71, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        
    }

    /**
     * @return number of right_power_phase
     */
    public int getNumRightPowerPhase() {
        return getNumFieldValues(71, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get right_power_phase field
     * Units: degrees
     * Comment: Right power phase angles. Data value indexes defined by power_phase_type.
     *
     * @param index of right_power_phase
     * @return right_power_phase
     */
    public Float getRightPowerPhase(int index) {
        return getFieldFloatValue(71, index, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set right_power_phase field
     * Units: degrees
     * Comment: Right power phase angles. Data value indexes defined by power_phase_type.
     *
     * @param index of right_power_phase
     * @param rightPowerPhase The new rightPowerPhase value to be set
     */
    public void setRightPowerPhase(int index, Float rightPowerPhase) {
        setFieldValue(71, index, rightPowerPhase, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    public Float[] getRightPowerPhasePeak() {
        
        return getFieldFloatValues(72, Fit.SUBFIELD_INDEX_MAIN_FIELD);
        
    }

    /**
     * @return number of right_power_phase_peak
     */
    public int getNumRightPowerPhasePeak() {
        return getNumFieldValues(72, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get right_power_phase_peak field
     * Units: degrees
     * Comment: Right power phase peak angles. Data value indexes defined by power_phase_type.
     *
     * @param index of right_power_phase_peak
     * @return right_power_phase_peak
     */
    public Float getRightPowerPhasePeak(int index) {
        return getFieldFloatValue(72, index, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set right_power_phase_peak field
     * Units: degrees
     * Comment: Right power phase peak angles. Data value indexes defined by power_phase_type.
     *
     * @param index of right_power_phase_peak
     * @param rightPowerPhasePeak The new rightPowerPhasePeak value to be set
     */
    public void setRightPowerPhasePeak(int index, Float rightPowerPhasePeak) {
        setFieldValue(72, index, rightPowerPhasePeak, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get enhanced_speed field
     * Units: m/s
     *
     * @return enhanced_speed
     */
    public Float getEnhancedSpeed() {
        return getFieldFloatValue(73, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set enhanced_speed field
     * Units: m/s
     *
     * @param enhancedSpeed The new enhancedSpeed value to be set
     */
    public void setEnhancedSpeed(Float enhancedSpeed) {
        setFieldValue(73, 0, enhancedSpeed, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get enhanced_altitude field
     * Units: m
     *
     * @return enhanced_altitude
     */
    public Float getEnhancedAltitude() {
        return getFieldFloatValue(78, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set enhanced_altitude field
     * Units: m
     *
     * @param enhancedAltitude The new enhancedAltitude value to be set
     */
    public void setEnhancedAltitude(Float enhancedAltitude) {
        setFieldValue(78, 0, enhancedAltitude, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get battery_soc field
     * Units: percent
     * Comment: lev battery state of charge
     *
     * @return battery_soc
     */
    public Float getBatterySoc() {
        return getFieldFloatValue(81, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set battery_soc field
     * Units: percent
     * Comment: lev battery state of charge
     *
     * @param batterySoc The new batterySoc value to be set
     */
    public void setBatterySoc(Float batterySoc) {
        setFieldValue(81, 0, batterySoc, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get motor_power field
     * Units: watts
     * Comment: lev motor power
     *
     * @return motor_power
     */
    public Integer getMotorPower() {
        return getFieldIntegerValue(82, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set motor_power field
     * Units: watts
     * Comment: lev motor power
     *
     * @param motorPower The new motorPower value to be set
     */
    public void setMotorPower(Integer motorPower) {
        setFieldValue(82, 0, motorPower, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get vertical_ratio field
     * Units: percent
     *
     * @return vertical_ratio
     */
    public Float getVerticalRatio() {
        return getFieldFloatValue(83, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set vertical_ratio field
     * Units: percent
     *
     * @param verticalRatio The new verticalRatio value to be set
     */
    public void setVerticalRatio(Float verticalRatio) {
        setFieldValue(83, 0, verticalRatio, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get stance_time_balance field
     * Units: percent
     *
     * @return stance_time_balance
     */
    public Float getStanceTimeBalance() {
        return getFieldFloatValue(84, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set stance_time_balance field
     * Units: percent
     *
     * @param stanceTimeBalance The new stanceTimeBalance value to be set
     */
    public void setStanceTimeBalance(Float stanceTimeBalance) {
        setFieldValue(84, 0, stanceTimeBalance, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get step_length field
     * Units: mm
     *
     * @return step_length
     */
    public Float getStepLength() {
        return getFieldFloatValue(85, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set step_length field
     * Units: mm
     *
     * @param stepLength The new stepLength value to be set
     */
    public void setStepLength(Float stepLength) {
        setFieldValue(85, 0, stepLength, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get cycle_length16 field
     * Units: m
     * Comment: Supports larger cycle sizes needed for paddlesports. Max cycle size: 655.35
     *
     * @return cycle_length16
     */
    public Float getCycleLength16() {
        return getFieldFloatValue(87, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set cycle_length16 field
     * Units: m
     * Comment: Supports larger cycle sizes needed for paddlesports. Max cycle size: 655.35
     *
     * @param cycleLength16 The new cycleLength16 value to be set
     */
    public void setCycleLength16(Float cycleLength16) {
        setFieldValue(87, 0, cycleLength16, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get absolute_pressure field
     * Units: Pa
     * Comment: Includes atmospheric pressure
     *
     * @return absolute_pressure
     */
    public Long getAbsolutePressure() {
        return getFieldLongValue(91, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set absolute_pressure field
     * Units: Pa
     * Comment: Includes atmospheric pressure
     *
     * @param absolutePressure The new absolutePressure value to be set
     */
    public void setAbsolutePressure(Long absolutePressure) {
        setFieldValue(91, 0, absolutePressure, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get depth field
     * Units: m
     * Comment: 0 if above water
     *
     * @return depth
     */
    public Float getDepth() {
        return getFieldFloatValue(92, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set depth field
     * Units: m
     * Comment: 0 if above water
     *
     * @param depth The new depth value to be set
     */
    public void setDepth(Float depth) {
        setFieldValue(92, 0, depth, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get next_stop_depth field
     * Units: m
     * Comment: 0 if above water
     *
     * @return next_stop_depth
     */
    public Float getNextStopDepth() {
        return getFieldFloatValue(93, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set next_stop_depth field
     * Units: m
     * Comment: 0 if above water
     *
     * @param nextStopDepth The new nextStopDepth value to be set
     */
    public void setNextStopDepth(Float nextStopDepth) {
        setFieldValue(93, 0, nextStopDepth, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get next_stop_time field
     * Units: s
     *
     * @return next_stop_time
     */
    public Long getNextStopTime() {
        return getFieldLongValue(94, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set next_stop_time field
     * Units: s
     *
     * @param nextStopTime The new nextStopTime value to be set
     */
    public void setNextStopTime(Long nextStopTime) {
        setFieldValue(94, 0, nextStopTime, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get time_to_surface field
     * Units: s
     *
     * @return time_to_surface
     */
    public Long getTimeToSurface() {
        return getFieldLongValue(95, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set time_to_surface field
     * Units: s
     *
     * @param timeToSurface The new timeToSurface value to be set
     */
    public void setTimeToSurface(Long timeToSurface) {
        setFieldValue(95, 0, timeToSurface, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ndl_time field
     * Units: s
     *
     * @return ndl_time
     */
    public Long getNdlTime() {
        return getFieldLongValue(96, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ndl_time field
     * Units: s
     *
     * @param ndlTime The new ndlTime value to be set
     */
    public void setNdlTime(Long ndlTime) {
        setFieldValue(96, 0, ndlTime, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get cns_load field
     * Units: percent
     *
     * @return cns_load
     */
    public Short getCnsLoad() {
        return getFieldShortValue(97, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set cns_load field
     * Units: percent
     *
     * @param cnsLoad The new cnsLoad value to be set
     */
    public void setCnsLoad(Short cnsLoad) {
        setFieldValue(97, 0, cnsLoad, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get n2_load field
     * Units: percent
     *
     * @return n2_load
     */
    public Integer getN2Load() {
        return getFieldIntegerValue(98, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set n2_load field
     * Units: percent
     *
     * @param n2Load The new n2Load value to be set
     */
    public void setN2Load(Integer n2Load) {
        setFieldValue(98, 0, n2Load, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get respiration_rate field
     * Units: s
     *
     * @return respiration_rate
     */
    public Short getRespirationRate() {
        return getFieldShortValue(99, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set respiration_rate field
     * Units: s
     *
     * @param respirationRate The new respirationRate value to be set
     */
    public void setRespirationRate(Short respirationRate) {
        setFieldValue(99, 0, respirationRate, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get enhanced_respiration_rate field
     * Units: Breaths/min
     *
     * @return enhanced_respiration_rate
     */
    public Float getEnhancedRespirationRate() {
        return getFieldFloatValue(108, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set enhanced_respiration_rate field
     * Units: Breaths/min
     *
     * @param enhancedRespirationRate The new enhancedRespirationRate value to be set
     */
    public void setEnhancedRespirationRate(Float enhancedRespirationRate) {
        setFieldValue(108, 0, enhancedRespirationRate, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get grit field
     * Comment: The grit score estimates how challenging a route could be for a cyclist in terms of time spent going over sharp turns or large grade slopes.
     *
     * @return grit
     */
    public Float getGrit() {
        return getFieldFloatValue(114, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set grit field
     * Comment: The grit score estimates how challenging a route could be for a cyclist in terms of time spent going over sharp turns or large grade slopes.
     *
     * @param grit The new grit value to be set
     */
    public void setGrit(Float grit) {
        setFieldValue(114, 0, grit, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get flow field
     * Comment: The flow score estimates how long distance wise a cyclist deaccelerates over intervals where deacceleration is unnecessary such as smooth turns or small grade angle intervals.
     *
     * @return flow
     */
    public Float getFlow() {
        return getFieldFloatValue(115, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set flow field
     * Comment: The flow score estimates how long distance wise a cyclist deaccelerates over intervals where deacceleration is unnecessary such as smooth turns or small grade angle intervals.
     *
     * @param flow The new flow value to be set
     */
    public void setFlow(Float flow) {
        setFieldValue(115, 0, flow, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get current_stress field
     * Comment: Current Stress value
     *
     * @return current_stress
     */
    public Float getCurrentStress() {
        return getFieldFloatValue(116, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set current_stress field
     * Comment: Current Stress value
     *
     * @param currentStress The new currentStress value to be set
     */
    public void setCurrentStress(Float currentStress) {
        setFieldValue(116, 0, currentStress, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ebike_travel_range field
     * Units: km
     *
     * @return ebike_travel_range
     */
    public Integer getEbikeTravelRange() {
        return getFieldIntegerValue(117, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ebike_travel_range field
     * Units: km
     *
     * @param ebikeTravelRange The new ebikeTravelRange value to be set
     */
    public void setEbikeTravelRange(Integer ebikeTravelRange) {
        setFieldValue(117, 0, ebikeTravelRange, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ebike_battery_level field
     * Units: percent
     *
     * @return ebike_battery_level
     */
    public Short getEbikeBatteryLevel() {
        return getFieldShortValue(118, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ebike_battery_level field
     * Units: percent
     *
     * @param ebikeBatteryLevel The new ebikeBatteryLevel value to be set
     */
    public void setEbikeBatteryLevel(Short ebikeBatteryLevel) {
        setFieldValue(118, 0, ebikeBatteryLevel, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ebike_assist_mode field
     * Units: depends on sensor
     *
     * @return ebike_assist_mode
     */
    public Short getEbikeAssistMode() {
        return getFieldShortValue(119, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ebike_assist_mode field
     * Units: depends on sensor
     *
     * @param ebikeAssistMode The new ebikeAssistMode value to be set
     */
    public void setEbikeAssistMode(Short ebikeAssistMode) {
        setFieldValue(119, 0, ebikeAssistMode, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ebike_assist_level_percent field
     * Units: percent
     *
     * @return ebike_assist_level_percent
     */
    public Short getEbikeAssistLevelPercent() {
        return getFieldShortValue(120, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ebike_assist_level_percent field
     * Units: percent
     *
     * @param ebikeAssistLevelPercent The new ebikeAssistLevelPercent value to be set
     */
    public void setEbikeAssistLevelPercent(Short ebikeAssistLevelPercent) {
        setFieldValue(120, 0, ebikeAssistLevelPercent, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get air_time_remaining field
     * Units: s
     *
     * @return air_time_remaining
     */
    public Long getAirTimeRemaining() {
        return getFieldLongValue(123, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set air_time_remaining field
     * Units: s
     *
     * @param airTimeRemaining The new airTimeRemaining value to be set
     */
    public void setAirTimeRemaining(Long airTimeRemaining) {
        setFieldValue(123, 0, airTimeRemaining, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get pressure_sac field
     * Units: bar/min
     * Comment: Pressure-based surface air consumption
     *
     * @return pressure_sac
     */
    public Float getPressureSac() {
        return getFieldFloatValue(124, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set pressure_sac field
     * Units: bar/min
     * Comment: Pressure-based surface air consumption
     *
     * @param pressureSac The new pressureSac value to be set
     */
    public void setPressureSac(Float pressureSac) {
        setFieldValue(124, 0, pressureSac, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get volume_sac field
     * Units: L/min
     * Comment: Volumetric surface air consumption
     *
     * @return volume_sac
     */
    public Float getVolumeSac() {
        return getFieldFloatValue(125, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set volume_sac field
     * Units: L/min
     * Comment: Volumetric surface air consumption
     *
     * @param volumeSac The new volumeSac value to be set
     */
    public void setVolumeSac(Float volumeSac) {
        setFieldValue(125, 0, volumeSac, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get rmv field
     * Units: L/min
     * Comment: Respiratory minute volume
     *
     * @return rmv
     */
    public Float getRmv() {
        return getFieldFloatValue(126, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set rmv field
     * Units: L/min
     * Comment: Respiratory minute volume
     *
     * @param rmv The new rmv value to be set
     */
    public void setRmv(Float rmv) {
        setFieldValue(126, 0, rmv, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get ascent_rate field
     * Units: m/s
     *
     * @return ascent_rate
     */
    public Float getAscentRate() {
        return getFieldFloatValue(127, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set ascent_rate field
     * Units: m/s
     *
     * @param ascentRate The new ascentRate value to be set
     */
    public void setAscentRate(Float ascentRate) {
        setFieldValue(127, 0, ascentRate, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get po2 field
     * Units: percent
     * Comment: Current partial pressure of oxygen
     *
     * @return po2
     */
    public Float getPo2() {
        return getFieldFloatValue(129, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set po2 field
     * Units: percent
     * Comment: Current partial pressure of oxygen
     *
     * @param po2 The new po2 value to be set
     */
    public void setPo2(Float po2) {
        setFieldValue(129, 0, po2, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Get core_temperature field
     * Units: C
     *
     * @return core_temperature
     */
    public Float getCoreTemperature() {
        return getFieldFloatValue(139, 0, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

    /**
     * Set core_temperature field
     * Units: C
     *
     * @param coreTemperature The new coreTemperature value to be set
     */
    public void setCoreTemperature(Float coreTemperature) {
        setFieldValue(139, 0, coreTemperature, Fit.SUBFIELD_INDEX_MAIN_FIELD);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy